商戶通過調用確認訂單接口打開微信支付分小程序,引導用戶確認訂單(小程序端)
# 接口說明
支持商戶: 【普通商戶】
商戶小程序跳轉微信側小程序建議使用方式:調用wx.openBusinessView,不占用小程序跳轉其他小程序的數(shù)量名額。wx.navigateToMiniProgram現(xiàn)已停止新增,預計將于2024年1月31日下線。
# 1. wx.openBusinessView
接口名稱: wx.openBusinessView
# 接口兼容
- 小程序版本庫 >= 2.6.0,低版本需提示用戶升級微信版本。
- iOS兼容性表現(xiàn):若微信版本 >= 7.0.3,開發(fā)者可以通過此openSDK接口跳轉到微信支付分小程序;若微信版本 < 7.0.3,開發(fā)者通過此openSDK接口可以跳轉到微信,但不能跳轉到微信支付分小程序,此時微信會提示用戶可能由于應用的請求非法或者微信版本過低。
- Android兼容性表現(xiàn):若微信版本>=7.0.3,開發(fā)者可以通過此openSDK接口跳轉到微信支付分小程序;若微信版本< 7.0.3,開發(fā)者通過此openSDK接口不能跳轉到微信,此時開發(fā)者應提示用戶更新微信版本。
# 接口參數(shù)
# Object
- businessType 必填 string(32)固定配置:wxpayScoreUse。
- extraData 必填 Object需要傳遞給支付分的業(yè)務數(shù)據(jù)。
- 屬性
wx.openBusinessView 請求示例
1if (wx.openBusinessView) {2 wx.openBusinessView({3 businessType: 'wxpayScoreUse',4 extraData: {5 mch_id: '1230000109',6 package: 'XXXXXXXX',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 //引導用戶升級微信版本24}
# 2. wx.navigateToMiniProgram
接口名稱: wx.navigateToMiniProgram,詳見小程序API文檔 (opens new window)。
接口兼容: 每個小程序可跳轉的其他小程序數(shù)量限制為不超過 10 個。wx.navigateToMiniProgram的調用方式現(xiàn)已停止新增,預計將于2024年1月31日下線。
# 接口參數(shù)
# Object
- appId 必填 string(32)支付分公眾賬號ID,固定配置:wxd8f3793ea3b935b8。
- path 必填 string(64)固定配置:pages/use/use
- extraData 必填 Object需要傳遞給支付分的業(yè)務數(shù)據(jù)。
- 屬性
wx.navigateToMiniProgram 請求示例
1wx.navigateToMiniProgram({2 appId: 'wxd8f3793ea3b935b8',3 path: 'pages/use/use',4 extraData: {5 mch_id: '1230000109',6 package: 'XXXXXXXX',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})
# 3. 支付分返回商家側小程序
觸發(fā)場景: 用戶從商戶小程序頁面進入到支付分后再返回到商戶小程序頁面。
返回參數(shù): 商戶小程序可在 App.onLaunch,App.onShow 中獲取到這份數(shù)據(jù)。
# 接口參數(shù)
- query_id 必填 string(64)單據(jù)查詢ID,對應《查詢支付分訂單》接口中入?yún)uery_id。
提示
- 帶有返回參數(shù)不代表訂單確認成功,具體狀態(tài)需以接口查詢的結果為準;
- 只有用戶點擊支付分頁面內(nèi)返回按鈕時,才會帶上返回參數(shù);如果用戶點擊頁面左上角的返回圖標按鈕,則不會帶上返回參數(shù)。
返回商家側小程序請求示例
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,不強制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 * 由商家后臺服務提供20 * @param query_id {string21} 單據(jù)id,可以在接口【查詢訂單】進行單據(jù)查詢22 */23queryOrderStatus: function(query_id) {24 // 商家小程序向商家后臺服務請求查詢訂單狀態(tài),25 // 這里的前后端接口和數(shù)據(jù)協(xié)議由商家側設計26 // 函數(shù)返回查詢結果,這里以布爾值true代表成功,布爾值false代表失敗27}