视频一区二区三区自拍_千金肉奴隷1985未删减版在线观看_国产成人黄色视频在线播放_少女免费播放片高清在线观看_国产精品v欧美精品v

小程序純簽約

應(yīng)用場(chǎng)景

商戶可以通過(guò)請(qǐng)求此接口喚起小程序委托代扣的簽約頁(yè)面,頁(yè)面樣例見(jiàn)委托代扣模式

用戶在微信的頁(yè)面中完成代扣簽約后,微信會(huì)同時(shí)將簽約信息通過(guò)異步通知的方式通知給商戶后臺(tái)。如果用戶放棄簽約或簽約失敗則不通知。

商戶流程介紹

  1. 1.用戶從商戶小程序發(fā)起簽約請(qǐng)求 (商戶需確認(rèn)委托代扣權(quán)限已開(kāi)通,模板已審批通過(guò),小程序APPID與商戶號(hào)已綁定)
  2. 2.商戶將簽約請(qǐng)求參數(shù)按照規(guī)則拼接之后,通過(guò)小程序跳轉(zhuǎn),向簽約小程序發(fā)起簽約請(qǐng)求
  3. 3.用戶在微信簽約小程序選擇支付方式完成簽約
  4. 4.微信將簽約結(jié)果返回給商戶

接口調(diào)用請(qǐng)求說(shuō)明

接口

wx.navigateToMiniProgram(OBJECT)接口

說(shuō)明

iOS 微信客戶端 6.5.9 版本開(kāi)始支持,Android 客戶端即將在 6.5.10 版本開(kāi)始支持

OBJECT參數(shù)說(shuō)明:

字段含義 變量名 必填 示例值 類型 描述

微信簽約小程序appid

appId

wxbd687630cd02ce1d

String

固定值
wxbd687630cd02ce1d

請(qǐng)?jiān)谛〕绦蚺渲梦募pp.json的配置項(xiàng)navigateToMiniProgramAppIdList中增加此appid

-場(chǎng)景信息傳遞給小程序的數(shù)據(jù)

extraData

{"appid":"wx0317c726bd1c1111","mch_id":"1900000000","notify_url":"https://www.qq.com/a.php","contract_code":"2017121216136aa","contract_display_account":"張三","plan_id":"72803","request_serial":"1000","timestamp":"1513065696","sign":"63EE946A87EE1C8F6C12C1DB085C8B7E"}

object

簽約的請(qǐng)求參數(shù),詳情見(jiàn)extraData字段詳細(xì)說(shuō)明

--商戶號(hào)

mch_id

10000098

String(32)

微信支付分配的商戶號(hào)

--公眾賬號(hào)id

appid

wxcbda96de0b165486

String(32)

發(fā)起簽約的小程序appid

--模板id

plan_id

123

String(28)

協(xié)議模板id

--簽約協(xié)議號(hào)

contract_code

100001256

String(128)

商戶側(cè)的簽約協(xié)議號(hào),由商戶生成,商戶側(cè)須唯一

--請(qǐng)求序列號(hào)

request_serial

1695

int64

商戶請(qǐng)求簽約時(shí)的序列號(hào),要求唯一性。序列號(hào)主要用于排序,不作為查詢條件,純數(shù)字,范圍不能超過(guò)int64的范圍(9223372036854775807)。

--用戶賬戶展示名稱

contract_display_account

張三

String(128)

簽約用戶的名稱,用于頁(yè)面展示,不需要對(duì)值進(jìn)行urlencode,參數(shù)值不支持UTF8非3字節(jié)編碼的字符,例如表情符號(hào),所以請(qǐng)勿傳微信昵稱到該字段

--回調(diào)通知url

notify_url

http://yoursite.com

String(32)

HTTP或者HTTPS開(kāi)頭的回調(diào)通知url ,不需要對(duì)值進(jìn)行urlencode

--簽名

sign

E1EE61A91C8E90F299DE6AE075D60A2D

String(32)

注:是對(duì)extraData內(nèi)所有參數(shù)按照簽名生成算法做簽名,所有參數(shù)都是encode前的值參與簽名
簽名規(guī)則詳見(jiàn)簽名生成算法

--時(shí)間戳

timestamp

1414488825

String(10)

系統(tǒng)當(dāng)前時(shí)間,定義規(guī)則詳見(jiàn)時(shí)間戳

--商戶側(cè)用戶標(biāo)識(shí)

outerid

 

String

用戶在商戶側(cè)的標(biāo)識(shí)

打開(kāi)小程序的頁(yè)面路徑

path

pages/index/index

string

固定值: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)用成功、失敗都會(huì)執(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)到簽約小程序
}
})

用戶簽約完成之后,會(huì)跳轉(zhuǎn)回商戶小程序,可通過(guò)onShow(OBJECT)所攜帶的參數(shù)判斷判斷用戶由簽約小程序返回商戶小程序,OBJECT返回參數(shù)請(qǐng)查看小程序開(kāi)發(fā)文檔onShow參數(shù)說(shuō)明

referrerInfo.extraData字段說(shuō)明

返回碼 變量名 必填 示例值 類型 描述

返回碼

return_code

SUCCESS

String

客戶端小程序收到的簽約結(jié)果

SUCCESS:簽約成功

FAIL:簽約失敗

錯(cuò)誤信息

return_msg

 

String

簽約失敗的錯(cuò)誤信息

委托代扣協(xié)議id

contract_id

201710180325670965

String

簽約成功后微信返回的委托代扣協(xié)議id

注意:如果用戶正常點(diǎn)擊微信簽約頁(yè)的確定按鈕返回商戶小程序,那么會(huì)返回extraData ; 如果用戶點(diǎn)擊瀏覽器左上角的返回,則不返回extraData


示例:

App({
    onShow(res) {
        if (res.scene === 1038) { // 場(chǎng)景值1038:從被打開(kāi)的小程序返回
            const { appId, extraData } = res.referrerInfo
            if (appId == 'wxbd687630cd02ce1d') { // appId為wxbd687630cd02ce1d:從簽約小程序跳轉(zhuǎn)回來(lái)
                if (typeof extraData == 'undefined'){
                    // TODO
                    // 客戶端小程序不確定簽約結(jié)果,需要向商戶側(cè)后臺(tái)請(qǐng)求確定簽約結(jié)果
                    return;
                }
                if(extraData.return_code == 'SUCCESS'){
                    // TODO
                    // 客戶端小程序簽約成功,需要向商戶側(cè)后臺(tái)請(qǐng)求確認(rèn)簽約結(jié)果
                    var contract_id = extraData.contract_id
                    return;
                } else {
                    // TODO
                    // 簽約失敗
                    return;
                }
            }
        }
    }
})