安卓:支付宝SDK的继承预计沙箱的支付测试使用

首先下载:(一定要用自己的KEY)
在这里插入图片描述
选好你要用的(我用的是安卓):
在这里插入图片描述
把sdk中的那个文件放入你项目的libs下:
在这里插入图片描述
demo下的文件放入项目(Activity与Fragment不要)
在这里插入图片描述
进去后把报错的地方改一下 该删的删 该导包的导包
处理完这些后 点入demo中的PayActivity中粘出代码

APPID 在支付宝开发平台的沙箱应用中:
在这里插入图片描述

  /**
     * 用于支付宝支付业务的入参 app_id。
     */
    public static final String APPID = "2016101400683028";

    /**
     * 用于支付宝账户登录授权业务的入参 pid。
     */
    public static final String PID = "";

    /**
     * 用于支付宝账户登录授权业务的入参 target_id。
     */
    public static final String TARGET_ID = "";
//私钥
 public static final String RSA2_PRIVATE = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCkAPqOz98Juk8k1d0yCLPrQQx9BUvm9pTtFgswQb//8EUzUjuuTVvC8YExQL8Y2N8PCdYo5M9fpYoFNKMclIa2sj09pS5lO9jViGbsX5h5MdQgHufygUW+e7vGLz3Iu+5GVk3DjxBF6eqBhca8U5ZIXSzrLjB9i82ErcDnD+knpgR3XP7t9C/apPph8ykQNTzACGC1EKmi+t9vOa0P1U9VinmKCbhnyRvVhcTVf/i5/NdS3Q08yrJpZlbehYPvi4BctNjVmvm7bxuKRoMDJqpj1uXRJipzMkAaGze9Co8J536nK7io2mYAPIdOZ3vAHaZZ+Pt2jbZCIFyqsoqHQn3lAgMBAAECggEAQPyGTGrAVYl27QC1qqraKGFZQn0Dy5xv/NZcTp3vJ8qckS6HqZTLxJ6P8+VVE9Jz6PCb5Q5twdfFrjRiYePU0bYlIDVBAipJzKtFJWrn7zY4eRXmESj6avV6vZhgohcd3s8590DMUPfUzcglrOBuT3RkZTijTExGfsmfA7BBUk0I5S71La3oKwPm0nkh+iViu+h4+GJHs1EEH0PtBtXbqXVhcocT2eIjhEGpFN0yJjHmDsuCfX7Axsp7jjsqfakgm9ZEAPoc9hsIZi3pR+wDQG3jswC2FXOKYNlBCX8RAL1ZioIF9JAYFwaBBf08HcL4dg89gXquGwI1aE+SnB3MzQKBgQDzze1nYceTYlcFs2WG0WKscAimYT1Bfcpm70evSaGyGC09rO0ooIsebr+gaNU4SQWaOsDnJajpbm36xoaojQS2Gb7JrQVk7PrJ2A8qg9F6GqtRQULEAvyQDHmIIhVv7A+EZvEkKDaf3Bo9bbBHbTvCk18iP99FOM8jfFjxlcc8LwKBgQCsNSdKX6KpQaRIeGoAuw7irCOF6hPbY2A1TjYveGTwM2M38PDE4hrkShr+7gAAtgKVJeVEWqV5ZGDSEO4e+O6wlQKAX8wbIM6xApq3/hpBnxwuVi0RQ69suEuZFRsW24kwvKjdpHP59oaA62OjS1STDxbPxcHbGcbiHGOan0g+KwKBgQDBVmVUXWsJyqtd3vS9I+CPBE0nu+b6v4k5dbkwHUD33UpLJY3wcNfB62tVBq1HdEjYFI2S//9iFetrOfHhSesZiXMNtYKYlYEPfaIRQfVlUi7XQdxzWjb0+J+LwBOl7NolUgkadjVTMhUw74IiMlJ4q6t+mo4w86r35g0Wj4MuiwKBgQCq2rm2wpfiEexqsn2JaA3mux8reAhnfHsxp/1+r5aF8pYYJIbc7+/6W8PY9k0uZ2a8j7KeVMkkXYDqKj32oMhAjjbDI0igCbbITGsw7X0jajdNidaA8ISV+2uV4CjWTs4YerWX4dfnQr5EHkbm9pBcr3XUgsJJHZQDNmNkP3AvrQKBgE8rsOc1EznPzmyk1cLbAWyAdtybtK7SPrl0n9QZNPKGedPRDQ8gMRYe7RsH4gkkrX3E3mfOBQEuHdhPY7LQhD4IzJU2Ubgrnah1d/r3pIeu4a0Jh43rxRaCVZmkIBHY2yah7pnSwzrV3fKGdkbm8qxPUFV2RVEr0TGEiJybbm3i";

    private static final int SDK_PAY_FLAG = 1;

  @SuppressLint("HandlerLeak")
    private Handler mHandler = new Handler() {
        @SuppressWarnings("unused")
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case SDK_PAY_FLAG: {
                    @SuppressWarnings("unchecked")
                    PayResult payResult = new PayResult((Map<String, String>) msg.obj);
                    /**
                     * 对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。
                     */
                    String resultInfo = payResult.getResult();// 同步返回需要验证的信息
                    String resultStatus = payResult.getResultStatus();
                    // 判断resultStatus 为9000则代表支付成功
                    if (TextUtils.equals(resultStatus, "9000")) {
                        // 该笔订单是否真实支付成功,需要依赖服务端的异步通知。
                        Toast.makeText(MainActivity.this, "成功", Toast.LENGTH_SHORT).show();
                    } else {
                        // 该笔订单真实的支付结果,需要依赖服务端的异步通知。
                        Toast.makeText(MainActivity.this, "失败", Toast.LENGTH_SHORT).show();
                    }
                    break;
                }
                default:
                    break;
            }
        };
    };

使用支付宝的沙时需要导入依赖与联调网关:
位置:开发者平台——>文代中心——>产品文档——>App支付——>沙箱联调指南

EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);

位置:开发者平台——>文代中心——>产品文档——>App支付——>客户端AS集成流程

allprojects {
    repositories {

        // 添加下面的内容
        flatDir {
            dirs 'libs'
        }

        // ... jcenter() 等其他仓库
    }
}
dependencies {

    // 添加下面的内容(这里的name填写你自己导入的那个)
    compile (name: 'alipaySdk-15.5.7-20181023110917', ext: 'aar')

    // ... 其他依赖项
}

支付时调用:

  boolean rsa2 = (RSA2_PRIVATE.length() > 0);
            Map<String, String> params = OrderInfoUtil2_0.buildOrderParamMap(APPID, rsa2);
            String orderParam = OrderInfoUtil2_0.buildOrderParam(params);

            String privateKey = RSA2_PRIVATE ;
            String sign = OrderInfoUtil2_0.getSign(params, privateKey, rsa2);
            final String orderInfo = orderParam + "&" + sign;

            final Runnable payRunnable = new Runnable() {

                @Override
                public void run() {
                    PayTask alipay = new PayTask(MainActivity.this);
                    Map<String, String> result = alipay.payV2(orderInfo, true);
                    Log.i("msp", result.toString());

                    Message msg = new Message();
                    msg.what = SDK_PAY_FLAG;
                    msg.obj = result;
                    mHandler.sendMessage(msg);
                }
            };

            // 必须异步调用
            Thread payThread = new Thread(payRunnable);
            payThread.start();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值