商戶通過創(chuàng)建支付分訂單接口獲取確認(rèn)訂單的必要參數(shù)package后可使用微信支付提供的小程序方法調(diào)起微信支付分小程序,引導(dǎo)用戶確認(rèn)訂單(小程序端)
# 接口說明
支持商戶: 【普通商戶】
商戶小程序跳轉(zhuǎn)微信側(cè)小程序建議使用wx.openBusinessView的調(diào)用方式,不占用小程序跳轉(zhuǎn)其他小程序的數(shù)量名額。
兼容性表現(xiàn)說明
- 小程序版本庫 >= 2.6.0,低版本需提示用戶升級(jí)微信版本。
- iOS兼容性表現(xiàn):若微信版本>=7.0.3,開發(fā)者可以通過此openSDK接口跳轉(zhuǎn)到微信支付分小程序;若微信版本< 7.0.3,開發(fā)者通過此openSDK接口可以跳轉(zhuǎn)到微信,但不能跳轉(zhuǎn)到微信支付分小程序,此時(shí)微信會(huì)提示用戶可能由于應(yīng)用的請(qǐng)求非法或者微信版本過低。
- Android兼容性表現(xiàn):若微信版本>=7.0.3,開發(fā)者可以通過此openSDK接口跳轉(zhuǎn)到微信支付分小程序;若微信版本< 7.0.3,開發(fā)者通過此openSDK接口不能跳轉(zhuǎn)到微信,此時(shí)開發(fā)者應(yīng)提示用戶更新微信版本。
接口名稱: wx.openBusinessView
# 字段說明
# 請(qǐng)求參數(shù)
- businessType 必填 string(32)固定值,請(qǐng)傳入wxpayScoreUse。
- extraData 必填 Object需要傳遞給支付分的業(yè)務(wù)數(shù)據(jù)。
- 屬性
wx.openBusinessView 請(qǐng)求示例
1if (wx.openBusinessView) {2 wx.openBusinessView({3 businessType: 'wxpayScoreUse',4 extraData: {5 mch_id: '1230000109',6 package: 'AAQTnZoAAAABAAAAAAD8m2b8VRdZ2kVdKmHNZiAAAABcwQVtru-5k9MmEOZJ_Pv_Nq7Cw56dNKKN5Ej3Knt5jTHF-NdsP_McFW-iaU3iuJ0gWlNQeG9UihoKi0k2pv1t71M6mpk15X6L1545yNpmPD5uhi3poFV8e_5EdYwi_cbc6tXYVfa0AJUO4OzHGPhMdT4ZMwmFFhD0HQi9mRHQhFRKPwFai4NkkW7vm9mv1test',7 timestamp: '1530097563',8 nonce_str: 'zyx53Nkey8o4bHpxTQvd8m7e92nG5mG2',9 sign_type: 'HMAC-SHA256',10 sign: '029B52F67573D7E3BE74904BF9AEA'11 },12 success() {13 //dosomething14 },15 fail() {16 //dosomething17 },18 complete() {19 //dosomething20 }21 });22} else {23 //引導(dǎo)用戶升級(jí)微信版本24}
# 返回參數(shù)
觸發(fā)場景: 用戶從商戶小程序頁面進(jìn)入到支付分后再返回到商戶小程序頁面。
返回參數(shù): 商戶小程序可在 App.onLaunch,App.onShow 中獲取到這份數(shù)據(jù)。
- query_id 必填 string(64)單據(jù)查詢ID,對(duì)應(yīng)《查詢支付分訂單》接口中入?yún)uery_id。
提示
- 帶有返回參數(shù)不代表訂單確認(rèn)成功,具體狀態(tài)需以查詢支付分訂單接口返回的結(jié)果為準(zhǔn);
- 只有用戶點(diǎn)擊支付分頁面內(nèi)返回按鈕時(shí),才會(huì)帶上返回參數(shù);如果用戶點(diǎn)擊頁面左上角的返回圖標(biāo)按鈕,則不會(huì)帶上返回參數(shù)。
返回商家側(cè)小程序請(qǐng)求示例
1// app.js2onShow(res) {3 if (res.scene === 1038) { // 場景值1038:從被打開的小程序返回4 const { appId, extraData } = res.referrerInfo;5 if (appId === miniprogram_appid) { // miniprogram_appid由【創(chuàng)建訂單】返回,建議檢查是否等于appId,不強(qiáng)制6 let query_id = extraData.query_id;7 let result = this.queryOrderStatus(query_id);8 if (result) {9 // 成功10 } else {11 // 失敗12 }13 }14 }15}16?17/**18 * 查詢訂單狀態(tài)函數(shù)19 * 由商家后臺(tái)服務(wù)提供20 * @param query_id {string21} 單據(jù)id,可以在接口【查詢訂單】進(jìn)行單據(jù)查詢22 */23queryOrderStatus: function(query_id) {24 // 商家小程序向商家后臺(tái)服務(wù)請(qǐng)求查詢訂單狀態(tài),25 // 這里的前后端接口和數(shù)據(jù)協(xié)議由商家側(cè)設(shè)計(jì)26 // 函數(shù)返回查詢結(jié)果,這里以布爾值true代表成功,布爾值false代表失敗27}