最新更新時間:2020.04.17 版本說明
商戶可以通過請求此接口喚起小程序委托代扣的簽約頁面
? 用戶在微信的頁面中完成代扣簽約后,微信會同時將簽約信息通過異步通知的方式通知給商戶后臺。如果用戶放棄簽約或簽約失敗則不通知。
商戶流程介紹:
1.用戶從商戶小程序發(fā)起簽約請求 (商戶需確認委托代扣權(quán)限已開通,模板已審批通過,小程序APPID與商戶號已綁定)。
2.商戶將簽約請求參數(shù)按照規(guī)則拼接之后,通過小程序跳轉(zhuǎn),向簽約小程序發(fā)起簽約請求。
3.用戶在微信簽約小程序選擇支付方式完成簽約。
4.微信將簽約結(jié)果返回給商戶。
適用對象:直連商戶
請求URL: wx.navigateToMiniProgram(OBJECT)接口
接口兼容: iOS 微信客戶端 6.5.9 版本開始支持,Android 客戶端即將在 6.5.10 版本開始支持
參數(shù)名 | 變量 | 類型[長度限制] | 必填 | 描述 |
---|---|---|---|---|
微信簽約小程序appid | appId | string[1,32] | 是 | 固定值 :wxbd687630cd02ce1d 請在小程序配置文件app.json的配置項navigateToMiniProgramAppIdList中增加此appid 示例值:wxbd687630cd02ce1d |
+場景信息傳遞給小程序的數(shù)據(jù) | extraData | object | 是 | 簽約的請求參數(shù),詳情見extraData字段詳細說明。 |
打開小程序的頁面路徑 | path | string[1,64] | 是 | 固定值:pages/index/index 示例值:pages/index/index |
接口調(diào)用成功的回調(diào)函數(shù) | success | Function | 是 | - |
接口調(diào)用失敗的回調(diào)函數(shù) | fail | Function | 是 | - |
接口調(diào)用結(jié)束的回調(diào)函數(shù) | complete | Function | 是 | 調(diào)用成功、失敗都會執(zhí)行 |
wx.navigateToMiniProgram({
appId:'wxbd687630cd02ce1d',
path:'pages/index/index',
extraData:{
appid:'wx426a3015555a46be',
contract_code:'122',
contract_display_account:'張三',
mch_id:'1223816102',
notify_url:'https://www.qq.com/test/papay',
plan_id:'106',
request_serial:123,
timestamp:1414488825,
sign:'FF1A406564EE701064450CA2149E2514'
},
success(res) {
// 成功跳轉(zhuǎn)到簽約小程序
},
fail(res) {
// 未成功跳轉(zhuǎn)到簽約小程序
}
})
用戶簽約完成之后,會跳轉(zhuǎn)回商戶小程序,可通過onShow(OBJECT)所攜帶的參數(shù)判斷判斷用戶由簽約小程序返回商戶小程序,OBJECT返回參數(shù)請查看小程序開發(fā)文檔onShow參數(shù)說明
參數(shù)名 | 變量 | 類型[長度限制] | 必填 | 描述 |
---|---|---|---|---|
返回碼 | return_code | string[1,16] | 是 | 客戶端小程序收到的簽約結(jié)果 SUCCESS:簽約成功 FAIL:簽約失敗 示例值:SUCCESS |
錯誤信息 | return_msg | string[1,128] | 是 | 簽約失敗的錯誤信息 示例值: |
委托代扣協(xié)議id | contract_id | string[1,32] | 是 | 簽約成功后微信返回的委托代扣協(xié)議id 示例值:201710180325670965 |
注意:如果用戶正常點擊微信簽約頁的確定按鈕返回商戶小程序,那么會返回extraData ; 如果用戶點擊瀏覽器左上角的返回,則不返回extraData
App({
onShow(res) {
if (res.scene === 1038) { // 場景值1038:從被打開的小程序返回
const { appId, extraData } = res.referrerInfo
if (appId == 'wxbd687630cd02ce1d') { // appId為wxbd687630cd02ce1d:從簽約小程序跳轉(zhuǎn)回來
if (typeof extraData == 'undefined'){
// TODO
// 客戶端小程序不確定簽約結(jié)果,需要向商戶側(cè)后臺請求確定簽約結(jié)果
return;
}
if(extraData.return_code == 'SUCCESS'){
// TODO
// 客戶端小程序簽約成功,需要向商戶側(cè)后臺請求確認簽約結(jié)果
var contract_id = extraData.contract_id
return;
} else {
// TODO
// 簽約失敗
return;
}
}
}
}
})