微信支付簽約委託代扣文檔 - 月付會員或者定期支付服務 - APP純簽約

微信支付簽約委託代扣文檔 - 月付會員或者定期支付服務 - APP純簽約


1、APP純簽約-預簽約接口

場景介紹

外部App拉起微信客戶端發起簽約前,需先後臺調⽤此接⼝完成預簽約,獲取pre_entrustweb_id,再拉起微信客戶端,完成簽約,返回App。

2、接口調用請求說明

接口 https://api.mch.weixin.qq.com/papay/preentrustweb
請求方式 POST

3、請求參數

在這裏插入圖片描述

在這裏插入圖片描述

4、請求示例

<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>

5、返回參數

在這裏插入圖片描述以下字段在return_code爲SUCCESS的時候返回

在這裏插入圖片描述

以下字段在return_code 、result_code都爲SUCCESS時有返回

在這裏插入圖片描述

6、返回示例

<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>

7、錯誤碼

在這裏插入圖片描述

8、APP純簽約-簽約接口

場景介紹

外部App可通過此能力,拉起微信客戶端,完成簽約後後,返回App。

9、接入流程

我們寫個郵件發給微信,郵件模板如下

標題:OpenBusinessWebview權限申請_APP純簽約

正文:

(1)說明使用背景

(2)appid、mchid(appid和mchid需要有綁定關係)

二、在微信開放平臺(open.weixin.qq.com)註冊APP信息

三、在開放平臺-資源中心下載SDK:

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319164&token=&lang=zh_CN

四、按照下面的接口指引文檔完成對接

10、請求參數

這個id 是後臺調用預簽約接口返回給APP的值,APP 就拿這個值去簽約
在這裏插入圖片描述

11、iOS客戶端接入代碼示例

WXOpenBusinessWebViewReq *req = [[WXOpenBusinessWebViewReq alloc] init];
req.businessType = 12; //固定值
NSMutableDictionary *queryInfoDic = [NSMutableDictionary dictionary];
[queryInfoDic setObject:5778aad8fbd11b3846978993fedf2cb8d6c8f86ea809389b2bc30c4867d5
63db1566876267UpxT91EYRKY9nltAsZzXixCkFIGYnV2V";
req.queryInfoDic = queryInfoDic;
[WxApi sendReq:req];

12、Android客戶端接入代碼示例

WXOpenBusinessWebview.Req req = new WXOpenBusinessWebview.Req();
req.businessType = 12;//固定值
HashMap queryInfo = new HashMap<>();
queryInfo.put("pre_entrustweb_id","5778aad8fbd11b3846978993fedf2cb8d6c8f86ea809389b2
bc30c4867d563db1566876267UpxT91EYRKY9nltAsZzXixCkFIGYnV2V";
req.queryInfo = queryInfo;
api.sendReq(req);

13、APP簽約常見錯誤

1、首先確認支付密鑰KEY是否正確,簽約接口使用的加密密鑰KEY與支付接口是同一個。

2、簽名參數使用的是原值,傳輸時參數值需要做encode處理,注意是對參數值encode,不是整個url。如果是ios,需要encode兩次。

3、encode後轉義符(%3A、%2F)需要大寫

4、請檢查參數格式是否正確,是否符合字段要求。如notify_url參數必須是一個url地址的格式、時間戳是10位數字、int格式的字段出現了字母或特殊字符等。

5、如遇到“跳轉失敗”的報錯,請先檢查您的APP應用是否已在微信開放平臺註冊並登記了blunderId等信息。如檢查無誤,請聯繫微信支付同學開通跳轉權限即可。

plan_id與商戶號是否對應。

14、常見問題

1、一個微信用戶能否與商戶多次簽約?
—簽約遵循同一個商戶號+同一個模版ID+同一個微信號只能簽約一次的原則。多次簽約可採用多模版ID的方式,同一個商戶號下的每個不同模版ID都可以與同一微信用戶分別簽約一次。

2、申請扣款接口已經返回成功,爲什麼還會扣款失敗?
—申請扣款接口返回成功僅代表申請受理成功,不代表最終的扣款結果,扣款結果應以支付結果通知接口通知的結果爲準,無論扣款是否成功都會返回扣款結果及原因。

3、簽約和解約信息是通過什麼路徑通知給商戶的?
—簽約通知是通過簽約接口上傳的notify_url參數所填寫的地址回調通知的(簽約失敗不通知)。解約信息是通過創建模版ID時填寫的解約通知URL來回調通知的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章