UniApp调试支付宝沙箱(安卓)

先看下这里完整的交互的图:小程序文档 - 支付宝文档中心

一、打包

不管怎样,先打个包先。可以直接使用云端证书、云端打包,只需要指定包名即可。

二、在支付宝开放平台创建应用

这个参考官方的过程就可以了,只要有刚才打的包,就可以提交创建。(登录 - 支付宝)

这里说的只是可以提交创建,但是因为缺少很多材料(比如营业执照等)在正式环境肯定调不通。

当然,提交审核大概率也会被打回。

三、后端接入-获取订单信息:

参考:小程序文档 - 支付宝文档中心

注意上面链接参考代码里面的编码是"BGK",在传值有中文的情况下即使是沙箱都会报“商品订单数据错误”之类的报错,需要改成“UTF-8”。

这个页面里还有一个功能是它会帮忙检查产品的准备情况,正式接入前可参考下,沙箱可忽略:

UniApp调试支付宝沙箱(安卓)_第1张图片

四、前端获取后端的订单信息并且调用uniapp封装好的支付接口:

uniapp端的前端参考要参考这个链接:开通 | uni-app官网(关键字是:uni.requestPayment)

针对沙箱修改后的参考代码:

        onLoad() {
            var EnvUtils = plus.android.importClass("com.alipay.sdk.app.EnvUtils");
            EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
        },
        methods: {
            goToAliPay() {
                request({
                    url: '/alipaytest/getOrderInfo',
                    method: 'get',
                    data: {
                        orderId: this.orderId,
                        subject: this.subject,
                        totalAmount: this.totalAmount
                    }
                }).then(response => {
                    console.log(response.msg)
                    uni.getProvider({
                        service: 'payment',
                        success: function(res) {
                            console.log(res.provider)
                            if (~res.provider.indexOf('alipay')) {
                                uni.requestPayment({
                                    "provider": "alipay", //固定值为"alipay"
                                    "orderInfo": response.msg, //此处为服务器返回的订单信息字符串
                                    success: function(res) {
                                        var rawdata = JSON.parse(res.rawdata);
                                        console.log("支付成功");
                                    },
                                    fail: function(err) {
                                        console.log('支付失败:' + JSON.stringify(err));
                                    }
                                });
                            }
                        }
                    });
                })
            }

onLoad里面的代码在沙箱下是必须的。否则不会调用沙箱APP。

五、安装支付宝的沙箱APP,用沙箱支付账号登录该APP:

参考:小程序文档 - 支付宝文档中心 里的:

UniApp调试支付宝沙箱(安卓)_第2张图片

链接点进去自助操作。

六、在安装有沙箱APP的机器或者模拟器上安装我们开发的程序,测试一下就OK了。

你可能感兴趣的:(uni-app)