最新更新時間:2023.11.08 版本說明
該方式適用于手機(jī)、平板電腦等使用H5瀏覽器的設(shè)備場景使用微信簽約扣款。商戶在網(wǎng)站前端通過微信支付H5純簽約接口與用戶簽訂委托扣款協(xié)議,再通過后臺接口申請扣款來完成代扣交易。
? 如果簽約成功,微信會異步通知給商戶(notify_url為通知路徑),如果簽約失敗則不通知。
? 調(diào)用此接口后獲得redirect_url,需要在前端跳轉(zhuǎn)到redirect_url,在商戶的前端頁面<head>處需要添加聲明<meta name="referrer" content="no-referrer-when-downgrade">
? 此外,不能使用window.location.replace(redirect_url)的方式跳轉(zhuǎn),而要通過window.location.href = redirect_url的方式跳轉(zhuǎn)。
? 在redirect_url頁面,會喚起微信。無論用戶是否同意,redirect_url的頁面會在3秒后自動回到refer頁面。
? 如果獲取的refer只有域名沒有路徑,那么簽約完成后,需要用戶手動回到瀏覽器。
特別提醒:H5純簽約接口暫未對外開放,如有需要請咨詢對接的業(yè)務(wù)人員,額外申請開通。
適用對象:直連商戶
請求URL: https://api.mch.weixin.qq.com/papay/h5entrustweb
請求方式: GET
簽名方式: HMAC-SHA256、MD5
是否需要證書: 否
參數(shù)名 | 變量 | 類型[長度限制] | 必填 | 描述 |
---|---|---|---|---|
應(yīng)用ID | appid | string[1,32] | 是 | 直連商戶申請的公眾號或移動應(yīng)用appid。 示例值:wxcbda96de0b165486 |
商戶號 | mch_id | string[1,32] | 是 | 商戶號是商戶在微信申請微信支付成功后分配的賬號ID,登錄平臺為www.tg885.com 示例值:1200009811 |
模板id | plan_id | string[1,28] | 是 | 協(xié)議模板id,設(shè)置路徑見開發(fā)步驟。 示例值:12535 |
簽約協(xié)議號 | contract_code | string[1,128] | 是 | 商戶側(cè)的簽約協(xié)議號,由商戶生成,只能是數(shù)字、大小寫字母的描述。 示例值:100000 |
請求序列號 | request_serial | int 64 | 是 | 商戶請求簽約時的序列號,要求唯一性。禁止使用0開頭,序列號主要用于排序,不作為查詢條件,純數(shù)字,范圍不能超過int64的范圍(9223372036854775807)。 示例值:1000 |
用戶賬戶展示名稱 | contract_display_account | string[1,128] | 是 | 簽約用戶的名稱,用于頁面展示,參數(shù)值不支持UTF8非3字節(jié)編碼的字符,例如表情符號,所以請勿傳微信昵稱到該字段 示例值:微信代扣 |
回調(diào)通知url | notify_url | string[1,256] | 是 | 用于接收簽約成功消息的回調(diào)通知地址,以http或https開頭,通知url必須為外網(wǎng)可訪問的url,不能攜帶參數(shù)。 請對notify_url參數(shù)值進(jìn)行encode處理,注意是對參數(shù)值進(jìn)行encode,例如參數(shù)為notify_url=“https://weixin.qq.com”,則需要encode的內(nèi)容為https://weixin.qq.com。 示例值:https://weixin.qq.com |
版本號 | version | string[1,8] | 是 | 固定值1.0 示例值:1.0 |
簽名 | sign | string[1,64] | 是 | 詳見簽名生成算法 示例值:C380BEC2BFD727A4B6845133519F3AD6 |
簽名類型 | sign_type | string[1,32] | 否 | MD5或者HMAC-SHA256,不填默認(rèn)HMAC-SHA256 注意:H5的預(yù)簽約的默認(rèn)簽名方式是(sign_type為空或無該字段):HMAC-SHA256 示例值:MD5 |
時間戳 | timestamp | string[1,10] | 是 | 系統(tǒng)當(dāng)前時間,10位 示例值:1414488825 |
客戶端 IP | clientip | string[1,32] | 是 | 用戶客戶端的IP地址 示例值:119.145.83.6 |
回調(diào)應(yīng)用appid | return_appid | string[1,32] | 否 | 用來控制簽約頁面結(jié)束后的返回路徑。 當(dāng)指定該字段時,且商戶模板標(biāo)注商戶具有指定返回app的權(quán)限時,簽約成功將返回return_appid指定的app應(yīng)用,如果不填且簽約發(fā)起時的瀏覽器UA可被微信識別,則跳轉(zhuǎn)到瀏覽器,否則留在微信 示例值:wxcbda96de0b165486 |
https://api.mch.weixin.qq.com/papay/h5entrustweb?appid=wx426a3015555a46be&contract_code=122&contract_display_account=name1&mch_id=1223816102¬ify_url=https%3A%2F%2Fwww.qq.com%2Ftest%2Fpapay&plan_id=106&request_serial=123& return_appid= wxcbda96de0b165542&clientip=12.1.1.12×tamp=1414488825&version=1.0&sign= 130C7B07DD3B8074F7BF8BEF5C9A86487A1C57478F8C55587876B9C782F72036
參數(shù)名 | 變量 | 類型[長度限制] | 必填 | 描述 |
---|---|---|---|---|
返回狀態(tài)碼 | return_code | string[1,16] | 是 | SUCCESS/FAIL 非簽約結(jié)果標(biāo)識,簽約發(fā)起是否成功需要查看result_code來判斷。 示例值:SUCCESS |
返回信息 | return_msg | string[1,128] | 否 | 返回信息,如非空,為錯誤原因 如:簽名失敗 等。 示例值:簽名失敗 |
以下字段在return_code為SUCCESS的時候有返回
參數(shù)名 | 變量 | 類型[長度限制] | 必填 | 描述 |
---|---|---|---|---|
業(yè)務(wù)結(jié)果 | result_code | string[1,16] | 是 | SUCCESS/FAIL 示例值:SUCCESS |
業(yè)務(wù)結(jié)果描述 | result_msg | string[1,128] | 否 | 如非空,為錯誤原因,如簽名錯誤 示例值:SIGN_ERROR |
跳轉(zhuǎn)URL | redirect_url | string[1,256] | 否 | redirect_url的有效期為10分鐘,跳轉(zhuǎn)簽約頁面url,用戶通過跳轉(zhuǎn)訪問此URL即可進(jìn)入微信簽約頁面,進(jìn)行簽約。注意這里請求跳轉(zhuǎn)url的頁面地址必須在微信后臺配置(申請H5簽約權(quán)限時配置)。 示例值:https://payapp.weixin.qq.com |
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[PARAM_ERROR]]></return_msg>
<result_code><![CDATA[SUCCESS]]></result_code>
<result_msg><![CDATA[SIGN_ERROR]]></result_msg>
<redirect_url><![CDATA[https://payapp.weixin.qq.com]]></redirect_url>
</xml>