APP純簽約
1、APP純簽約-預(yù)簽約接口
外部App拉起微信客戶端發(fā)起簽約前,需先后臺(tái)調(diào)?此接?完成預(yù)簽約,獲取pre_entrustweb_id,再拉起微信客戶端,完成簽約,返回App。
注意:
? 該業(yè)務(wù)接口暫未全面開放,暫只支持由微信支付運(yùn)營人員代為申請(qǐng),如有需求請(qǐng)咨詢與您對(duì)接的微信支付運(yùn)營人員。如無對(duì)接的微信支付人員,請(qǐng)等待產(chǎn)品全面開放,我們將另行通知。
接口調(diào)用請(qǐng)求說明
接口 | https://api.mch.weixin.qq.com/papay/preentrustweb |
---|---|
請(qǐng)求方式 | POST |
是否需要證書 | 否 |
請(qǐng)求參數(shù)
字段名 | 字段 | 必填 | 類型 | 示例值 | 說明 |
---|---|---|---|---|---|
請(qǐng)求appid | appid | 是 | String(32) | wxcbda96de0b165486 | appid是商戶在微信申請(qǐng)公眾號(hào)或移動(dòng)應(yīng)用成功后分配的賬號(hào)ID,登錄平臺(tái)為mp.weixin.qq.com或open.weixin.qq.com |
商戶號(hào) | mch_id | 是 | String(32) | 1200009811 | 商戶號(hào)是商戶在微信申請(qǐng)微信支付成功后分配的賬號(hào)ID,登錄平臺(tái)為www.tg885.com |
模板id | plan_id | 是 | String(28) | 12535 | 協(xié)議模板id,設(shè)置路徑見開發(fā)步驟。 |
簽約協(xié)議號(hào) | contract_code | 是 | String(128) | 100000 | 商戶側(cè)的簽約協(xié)議號(hào),由商戶生成 |
請(qǐng)求序列號(hào) | request_serial | 是 | int64 | 1000 | 商戶請(qǐng)求簽約時(shí)的序列號(hào),要求唯一性。序列號(hào)主要用于排序,不作為查詢條件,純數(shù)字,范圍不能超過int64的范圍(9223372036854775807)。 |
用戶賬戶展示名稱 | contract_display_account | 是 | String(128) | 微信代扣 | 簽約用戶的名稱,用于頁面展示,,參數(shù)值不支持UTF8非3字節(jié)編碼的字符,例如表情符號(hào),所以請(qǐng)勿傳微信昵稱到該字段 |
回調(diào)通知url | notify_url | 是 | String | https://weixin.qq.com | 用于接收簽約成功消息的回調(diào)通知地址,以http或https開頭。 |
版本號(hào) | version | 是 | string | 1.0 | 固定值1.0 |
簽名類型 |
sign_type |
否 |
String(32) |
MD5 |
MD5或者HMAC-SHA256 |
簽名 |
sign |
是 |
String(32) |
C380BEC2BFD727A4B6845133519F3AD6 |
詳見簽名生成算法 |
時(shí)間戳 | timestamp | 是 | String(10) | 1414488825 | 系統(tǒng)當(dāng)前時(shí)間,10位 |
以下字段為非必填項(xiàng),用來控制簽約頁面結(jié)束后的返回路徑(不傳此參數(shù),則簽約完成后停留在微信內(nèi)): | |||||
返回app |
return_app |
否 |
String |
Y |
Y表示返回app, 不填則不返回 注:簽約參數(shù)appid必須為發(fā)起簽約的app所有,且在微信開放平臺(tái)注冊(cè)過。 |
請(qǐng)求示例:
<xml>
<appid>wxcbda96de0b165486</appid>
<mch_id>1200009811</mch_id>
<plan_id>12535</plan_id>
<contract_code>100000</contract_code>
<request_serial>1000</request_serial>
<contract_display_account>微信代扣</contract_display_account>
<notify_url>https://weixin.qq.com</notify_url>
<version>1.0</version>
<sign>C380BEC2BFD727A4B6845133519F3AD6</sign>
<timestamp>1414488825</timestamp>
<return_app>Y</return_app>
</xml>
返回參數(shù)
字段名 | 字段 | 必填 | 類型 | 示例值 | 說明 |
---|---|---|---|---|---|
返回狀態(tài)碼 | result_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL此字段是通信標(biāo)識(shí),?業(yè)務(wù)標(biāo)識(shí), 業(yè)務(wù)結(jié)果是否成功需要查看result_code來判斷 |
返回信息 | return_msg | 是 | String(128) | 參數(shù)解析失敗 | 返回信息,如?空,為錯(cuò)誤原因 |
以下字段在return_code為SUCCESS的時(shí)候返回
字段名 | 字段 | 必填 | 類型 | 示例值 | 說明 |
---|---|---|---|---|---|
業(yè)務(wù)結(jié)果 | return_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL |
錯(cuò)誤代碼 | err_code | 否 | String(32) | SIGN_ERROR | 錯(cuò)誤碼 |
錯(cuò)誤代碼描述 | err_code_des | 否 | String(32) | 錯(cuò)誤碼描述 | |
請(qǐng)求appid | appid | 是 | String(32) | wxcbda96de0b165486 | appid是商戶在微信申請(qǐng)公眾號(hào)或移動(dòng)應(yīng)用成功后分配的賬號(hào)ID,登錄平臺(tái)為mp.weixin.qq.com或open.weixin.qq.com |
商戶號(hào) | mch_id | 是 | String(32) | 1200009811 | 商戶號(hào)是商戶在微信申請(qǐng)微信支付成功后分配的賬號(hào)ID,登錄平臺(tái)為www.tg885.com |
簽名 |
sign |
是 |
String(32) |
C380BEC2BFD727A4B6845133519F3AD6 |
詳見簽名生成算法 |
隨機(jī)字符串 | nonce_str | 是 | String(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 隨機(jī)字符串,不?于32位。推薦隨機(jī)數(shù)生成 |
以下字段在return_code 、result_code都為SUCCESS時(shí)有返回
字段名 | 字段 | 必填 | 類型 | 示例值 | 說明 |
---|---|---|---|---|---|
預(yù)簽約id | pre_entrustweb_id | 是 | String(128) | 5778aad8fbd11b3846978993fedf2cb8d6c8f86ea809389b2bc30c4867d563db1566876 267UpxT91EYRKY9nltAsZzXixCkFIGYnV2V | 預(yù)簽約id |
返回示例:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<result_code><![CDATA[SUCCESS]]></result_code>
<appid><![CDATA[wxcbda96de0b165486]]></appid>
<mch_id><![CDATA[10000098]]></mch_id>
<nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
<sign><![CDATA[E1EE61A91C8E90F299DE6AE075D60A2D]]></sign>
<pre_entrustweb_id><![CDATA[5778aad8fbd11b3846978993fedf2cb8d6c8f86ea809389b2bc30c4867d563db1566876 267UpxT91EYRKY9nltAsZzXixCkFIGYnV2V]]></pre_entrustweb_id>
</xml>
錯(cuò)誤碼
名稱 | 描述 | 原因 | 解決方案 |
---|---|---|---|
SYSTEMERROR | 接?返回錯(cuò)誤 | 系統(tǒng)超時(shí) | 請(qǐng)使用相同參數(shù)再次調(diào)?API |
PARAMERROR | 參數(shù)錯(cuò)誤 | 請(qǐng)求參數(shù)未按指引進(jìn)?填寫 | 請(qǐng)根據(jù)接?返回的詳細(xì)信息檢查您的程序 |
SIGNERROR | 簽名錯(cuò)誤 | 請(qǐng)求中的簽名錯(cuò)誤 | 請(qǐng)根據(jù)指引生成正確簽名 |
PAYAUTHERROR |
權(quán)限校驗(yàn)錯(cuò)誤 | 商戶號(hào)產(chǎn)品權(quán)限校驗(yàn)錯(cuò)誤 | 確認(rèn)商戶委托代扣權(quán)限權(quán)限 |
2、APP純簽約-簽約接口
場(chǎng)景介紹
外部App可通過此能力,拉起微信客戶端,完成簽約后后,返回App。
接入流程
一、該接口需要額外申請(qǐng)OpenBusinessWebview權(quán)限,請(qǐng)聯(lián)系對(duì)接您的運(yùn)營同學(xué)協(xié)助申請(qǐng)
郵件模板如下:
標(biāo)題:OpenBusinessWebview權(quán)限申請(qǐng)_APP純簽約
正文:
(1)說明使用背景
(2)appid、mchid(appid和mchid需要有綁定關(guān)系)
二、在微信開放平臺(tái)(open.weixin.qq.com)注冊(cè)APP信息
三、在開放平臺(tái)-資源中心下載SDK:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319164&token=&lang=zh_CN
四、按照下面的接口指引文檔完成對(duì)接
請(qǐng)求參數(shù)
字段名 | 字段 | 必填 | 類型 | 示例值 | 說明 |
---|---|---|---|---|---|
預(yù)簽約id | pre_entrustweb_id | 是 | String(128) | 5778aad8fbd11b3846978993fedf2cb8d6c8f86ea809389b2bc30c4867d563db1566876 267UpxT91EYRKY9nltAsZzXixCkFIGYnV2V | 預(yù)簽約id |
iOS客戶端接入代碼示例:
WXOpenBusinessWebViewReq *req = [[WXOpenBusinessWebViewReq alloc] init];
req.businessType = 12; //固定值
NSMutableDictionary *queryInfoDic = [NSMutableDictionary dictionary];
[queryInfoDic setObject:"5778aadY9nltAsZzXixCkFIGYnV2V" forKey:"pre_entrustweb_id"];
req.queryInfoDic = queryInfoDic;
[WxApi sendReq:req];
Android客戶端接入代碼示例:
WXOpenBusinessWebview.Req req = new WXOpenBusinessWebview.Req();
req.businessType = 12; // 固定值
HashMap queryInfo = new HashMap<>();
queryInfo.put("pre_entrustweb_id","5778aadY9nltAsZzXixCkFIGYnVV1";);
req.queryInfo = queryInfo;
api.sendReq(req);