商戶通過調用確認訂單接口打開微信支付分小程序,引導用戶確認訂單(小程序端)
# 接口說明
支持商戶: 【普通服務商】
商戶小程序跳轉微信側小程序建議使用方式:調用wx.openBusinessView,不占用小程序跳轉其他小程序的數(shù)量名額。wx.navigateToMiniProgram現(xiàn)已停止新增,預計將于2024年1月31日下線。
# 1.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ù)據。
- 屬性
wx.openBusinessView 示例
1if (wx.openBusinessView) {2 wx.openBusinessView({3 businessType: 'wxpayScoreUse',4 extraData: {5 package: 'XXXXXXXX',6 },7 success() {8 //dosomething9 },10 fail() {11 //dosomething12 },13 complete() {14 //dosomething15 }16 });17} else {18 //引導用戶升級微信版本19}
# 1.2 wx.navigateToMiniProgram
接口名稱: wx.navigateToMiniProgram,詳見小程序API文檔wx.navigateToMiniProgram (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ù)據。
- 屬性
wx.navigateToMiniProgram 示例
1wx.navigateToMiniProgram({2 appId: 'wxd8f3793ea3b935b8',3 path: 'pages/use/use',4 extraData: {5 package: 'XXXXXXXX'6 },7 success() {8 //dosomething9 },10 fail() {11 //dosomething12 },13 complete() {14 //dosomething15 }16});
# 1.3 支付分返回商家側小程序
觸發(fā)場景: 用戶從商戶小程序頁面進入到支付分后再返回到商戶小程序頁面。
返回參數(shù): 商戶小程序可在 App.onLaunch,App.onShow 中獲取到這份數(shù)據。
# 接口參數(shù)
- query_id 必填 string(64)單據查詢ID,對應《查詢支付分訂單》接口中入參query_id。
提示
- 帶有返回參數(shù)不代表訂單確認成功,具體狀態(tà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} 單據id,可以在接口【查詢訂單】進行單據查詢22 */23queryOrderStatus: function(query_id) {24 // 商家小程序向商家后臺服務請求查詢訂單狀態(tài),25 // 這里的前后端接口和數(shù)據協(xié)議由商家側設計26 // 函數(shù)返回查詢結果,這里以布爾值true代表成功,布爾值false代表失敗27}