先看下這里完整的交互的圖:小程序文檔 - 支付寶文檔中心
一、打包
不管怎樣,先打個(gè)包先??梢灾苯邮褂迷贫俗C書、云端打包,只需要指定包名即可。
二、在支付寶開放平臺(tái)創(chuàng)建應(yīng)用
這個(gè)參考官方的過程就可以了,只要有剛才打的包,就可以提交創(chuàng)建。(登錄 - 支付寶)
這里說的只是可以提交創(chuàng)建,但是因?yàn)槿鄙俸芏嗖牧希ū热鐮I(yíng)業(yè)執(zhí)照等)在正式環(huán)境肯定調(diào)不通。
當(dāng)然,提交審核大概率也會(huì)被打回。
三、后端接入-獲取訂單信息:
參考:小程序文檔 - 支付寶文檔中心
注意上面鏈接參考代碼里面的編碼是"GBK",在傳值有中文的情況下即使是沙箱都會(huì)報(bào)“商品訂單數(shù)據(jù)錯(cuò)誤”之類的報(bào)錯(cuò),需要改成“UTF-8”。
這個(gè)頁面里還有一個(gè)功能是它會(huì)幫忙檢查產(chǎn)品的準(zhǔn)備情況,正式接入前可參考下,沙箱可忽略:
四、前端獲取后端的訂單信息并且調(diào)用uniapp封裝好的支付接口:
uniapp端的前端參考要參考這個(gè)鏈接:開通 | uni-app官網(wǎng)(關(guān)鍵字是:uni.requestPayment)
針對(duì)沙箱修改后的參考代碼:
?? ??? ?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, //此處為服務(wù)器返回的訂單信息字符串
?? ??? ??? ??? ??? ??? ??? ??? ??? ?success: function(res) {
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?var rawdata = JSON.parse(res.rawdata);
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?console.log("支付成功");
?? ??? ??? ??? ??? ??? ??? ??? ??? ?},
?? ??? ??? ??? ??? ??? ??? ??? ??? ?fail: function(err) {
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?console.log('支付失敗:' + JSON.stringify(err));
?? ??? ??? ??? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ??? ??? ?});
?? ??? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?});
?? ??? ??? ??? ?})
?? ??? ??? ?}
onLoad里面的代碼在沙箱下是必須的。否則不會(huì)調(diào)用沙箱APP。
五、安裝支付寶的沙箱APP,用沙箱支付賬號(hào)登錄該APP:
參考:小程序文檔 - 支付寶文檔中心?里的:
鏈接點(diǎn)進(jìn)去自助操作。文章來源:http://www.zghlxwxcb.cn/news/detail-797810.html
六、在安裝有沙箱APP的機(jī)器或者模擬器上安裝我們開發(fā)的程序,測(cè)試一下就OK了。文章來源地址http://www.zghlxwxcb.cn/news/detail-797810.html
到了這里,關(guān)于UniApp調(diào)試支付寶沙箱(安卓)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!