最新更新時(shí)間:2022.09.27 版本說(shuō)明
委托代扣可應(yīng)用于定期扣款或需事后扣款以期提高效率的場(chǎng)景。
例如但不限于,會(huì)員制繳費(fèi)、水電煤繳費(fèi)、黃鉆綠鉆增值服務(wù)、打車(chē)類(lèi)軟件、停車(chē)場(chǎng)或高速公路無(wú)人繳費(fèi)、理財(cái)通基金定投、信用卡還款等通過(guò)用戶(hù)授權(quán)給商戶(hù),進(jìn)行委托扣款的場(chǎng)景。
? 扣費(fèi)請(qǐng)求首先按簽約協(xié)議中記錄的優(yōu)先支付方式扣費(fèi),否則按以下可用方式進(jìn)行扣費(fèi):零錢(qián)、信用卡、借記卡{零錢(qián)(含零錢(qián)、零錢(qián)通),該順序不固定,與用戶(hù)的支付習(xí)慣有關(guān)}
? 在周期扣費(fèi)類(lèi)場(chǎng)景,扣費(fèi)前需要確保為用戶(hù)下發(fā)扣費(fèi)前通知,詳見(jiàn)【周期扣費(fèi)】
? 特殊情況:周期扣費(fèi)為通知后24小時(shí)扣費(fèi)方式情況下,如果用戶(hù)為首次簽約(包含解約后重新簽約),從用戶(hù)簽約成功時(shí)間開(kāi)始算,商戶(hù)在12小時(shí)內(nèi)發(fā)起的扣款,會(huì)被立即執(zhí)行,無(wú)延遲。商戶(hù)超過(guò)12小時(shí)以后發(fā)起的扣款,都按24小時(shí)扣費(fèi)規(guī)則執(zhí)行;周期扣費(fèi)為預(yù)扣款通知方式情況下,如果用戶(hù)為首次簽約{包含解約后重新簽約},從用戶(hù)簽約成功時(shí)間開(kāi)始算,商戶(hù)在12小時(shí)內(nèi)發(fā)起的扣款無(wú)需先調(diào)用【預(yù)扣費(fèi)通知API】接口,直接調(diào)用【申請(qǐng)扣款】接口,且會(huì)被立即執(zhí)行,無(wú)延遲。商戶(hù)超過(guò)12小時(shí)以后發(fā)起的扣款,都按預(yù)扣費(fèi)通知執(zhí)行
? 同一個(gè)商戶(hù)號(hào)+同一個(gè)商戶(hù)訂單號(hào),只會(huì)扣款一次。但如果更換商戶(hù)號(hào),商戶(hù)訂單號(hào)不變,會(huì)扣款多次。
? 周期扣費(fèi)為預(yù)扣費(fèi)通知方式情況下,要求扣費(fèi)操作不可在晚上執(zhí)行,避免影響用戶(hù),若扣費(fèi)前已下發(fā)通知,則需在指定的可扣費(fèi)期內(nèi),北京時(shí)間每天7:00~22:00發(fā)起扣款
適用對(duì)象:直連商戶(hù)
請(qǐng)求URL: https://api.mch.weixin.qq.com/pay/pappayapply
請(qǐng)求方式: POST
數(shù)據(jù)格式: XML
是否需要證書(shū): 否
請(qǐng)求頻率限制:150qps,即每秒鐘正常的申請(qǐng)扣款請(qǐng)求次數(shù)不超過(guò)150次。
參數(shù)名 | 變量 | 類(lèi)型[長(zhǎng)度限制] | 必填 | 描述 |
---|---|---|---|---|
應(yīng)用ID | appid | string[1,32] | 是 | 直連商戶(hù)申請(qǐng)的公眾號(hào)或移動(dòng)應(yīng)用appid。 示例值:wxcbda96de0b165486 |
商戶(hù)號(hào) | mch_id | string[1,32] | 是 | 商戶(hù)號(hào)是商戶(hù)在微信申請(qǐng)微信支付成功后分配的賬號(hào)ID,登錄平臺(tái)為www.tg885.com 示例值:10000098 |
隨機(jī)字符串 | nonce_str | string[1,32] | 是 | 隨機(jī)字符串,不長(zhǎng)于32位。推薦隨機(jī)數(shù)生成算法 示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
簽名 | sign | string[1,64] | 是 | 簽名,詳見(jiàn)簽名生成算法 示例值:C380BEC2BFD727A4B6845133519F3AD6 |
商品描述 | body | string[1,127] | 是 | 商品或支付單簡(jiǎn)要描述 示例值:水電代扣 |
商品詳情 | detail | string[1,8192] | 否 | 商品名稱(chēng)明細(xì)列表 示例值:水電代扣:A 水電代扣:B 水電代扣:C |
附加數(shù)據(jù) | attach | string[1,128] | 否 | 附加數(shù)據(jù),在查詢(xún)API和支付通知中原樣返回,該字段主要用于商戶(hù)攜帶訂單的自定義數(shù)據(jù) 示例值:自定義參數(shù) |
商戶(hù)訂單號(hào) | out_trade_no | string[1,32] | 是 | 商戶(hù)系統(tǒng)內(nèi)部的訂單號(hào),32個(gè)字符內(nèi)、可包含字母, 其他說(shuō)明見(jiàn)商戶(hù)訂單號(hào) 示例值:1217752501201407033233368018 |
總金額 | total_fee | int | 是 | 訂單總金額,單位為分,只能為整數(shù),詳見(jiàn)支付金額 示例值:888 |
貨幣類(lèi)型 | fee_type | string[1,16] | 否 | 符合ISO 4217標(biāo)準(zhǔn)的三位字母代碼,默認(rèn)人民幣:CNY 示例值:CNY |
終端IP | spbill_create_ip | string[1,16] | 否 | 用戶(hù)的客戶(hù)端IP ,支持IPV4和支持IPV6 示例值:8.8.8.8 |
商品標(biāo)記 | goods_tag | string[1,32] | 否 | 商品標(biāo)記,代金券或立減優(yōu)惠功能的參數(shù),說(shuō)明詳見(jiàn)代金券或立減優(yōu)惠 示例值:WXG |
回調(diào)通知url | notify_url | string[1,256] | 是 | 接受扣款結(jié)果異步回調(diào)通知的url, 以http或https開(kāi)頭,通知url必須為外網(wǎng)可訪問(wèn)的url,不能攜帶參數(shù)。 示例值:http://yoursite.com/wxpay.html |
交易類(lèi)型 | trade_type | string[1,3] | 是 | 交易類(lèi)型,枚舉值 PAP:微信委托代扣支付 示例值:PAP |
委托代扣協(xié)議id | contract_id | string[1,32] | 是 | 簽約成功后,微信返回的委托代扣協(xié)議id 示例值:Wx15463511252015071056489715 |
<xml>
<mch_id>10000098</mch_id>
<appid>wxcbda96de0b165486</appid>
<nonce_str>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
<sign>C380BEC2BFD727A4B6845133519F3AD6</sign>
<body>水電代扣</body>
<out_trade_no>217752501201407033233368018</out_trade_no>
<total_fee>888</total_fee>
<spbill_create_ip>8.8.8.8</spbill_create_ip>
<notify_url>http://yoursite.com/wxpay.html</notify_url>
<contract_id>Wx15463511252015071056489715</contract_id>
</xml>
參數(shù)名 | 變量 | 類(lèi)型[長(zhǎng)度限制] | 必填 | 描述 |
---|---|---|---|---|
返回狀態(tài)碼 | return_code | string[1,16] | 是 | SUCCESS/FAIL 此字段是通信標(biāo)識(shí),非交易標(biāo)識(shí) 示例值:SUCCESS |
返回信息 | return_msg | string[1,128] | 否 | 返回信息,如非空,為錯(cuò)誤原因 如:簽名失敗 等。 示例值:簽名失敗 |
以下字段在return_code為SUCCESS的時(shí)候有返回
參數(shù)名 | 變量 | 類(lèi)型[長(zhǎng)度限制] | 必填 | 描述 |
---|---|---|---|---|
商戶(hù)號(hào) | mch_id | string[1,32] | 是 | 微信支付分配的商戶(hù)號(hào) 示例值:10000098 |
應(yīng)用ID | appid | string[1,32] | 是 | 直連商戶(hù)申請(qǐng)的公眾號(hào)或移動(dòng)應(yīng)用appid。 示例值:wxcbda96de0b165486 |
隨機(jī)字符串 | nonce_str | string[1,32] | 是 | 隨機(jī)字符串,不長(zhǎng)于32位. 示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
簽名 | sign | string[1,64] | 是 | 詳見(jiàn)簽名生成算法 示例值:C380BEC2BFD727A4B6845133519F3AD6 |
業(yè)務(wù)結(jié)果 | result_code | string[1,16] | 是 | SUCCESS/FAIL 示例值:SUCCESS |
錯(cuò)誤代碼 | err_code | string[1,32] | 否 | 錯(cuò)誤碼 示例值:SIGN_ERROR |
錯(cuò)誤代碼描述 | err_code_des | string[1,32] | 否 | 錯(cuò)誤碼描述 示例值:簽名錯(cuò)誤 |
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[wxcbda96de0b165486]]></appid>??
<mch_id><![CDATA[10000098]]></mch_id>
<nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
<sign><![CDATA[E1EE61A91C8E90F299DE6AE075D60A2D]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
</xml>
錯(cuò)誤碼 | 描述 | 解決方案 |
---|---|---|
SYSTEMERROR | 接口返回錯(cuò)誤 | 系統(tǒng)異常,請(qǐng)使用相同參數(shù)重新調(diào)用接口 |
CONTRACT_NOT_EXIST | 簽約協(xié)議不存在 | 請(qǐng)檢查申請(qǐng)扣款接口的“contract_id”是否正確,或者用戶(hù)是否解約,解約可以調(diào)用查詢(xún)簽約關(guān)系接口確認(rèn)一下簽約狀態(tài) |
PARAM_ERROR | 參數(shù)錯(cuò)誤 | 請(qǐng)根據(jù)接口返回的詳細(xì)信息檢查您的程序 |
ORDERPAID | 訂單已支付 | 請(qǐng)確認(rèn)該訂單號(hào)是否重復(fù)支付,如果是新訂單,請(qǐng)使用新訂單號(hào)提交 |
ORDERCLOSED | 訂單已關(guān)閉 | 商戶(hù)訂單號(hào)異常,請(qǐng)重新下單支付 |
SIGN_ERROR | 簽名錯(cuò)誤 | 請(qǐng)檢查簽名參數(shù)和方法是否都符合簽名算法要求 |
APPID_MCHID_NOT_MATCH | appid和mch_id不匹配 | 請(qǐng)確認(rèn)appid和mch_id是否匹配 |
ORDER_ACCEPTED | 扣款請(qǐng)求已受理,請(qǐng)勿重復(fù)發(fā)起 | 請(qǐng)調(diào)用查詢(xún)訂單接口查看訂單最新?tīng)顟B(tài) |
CONTRACTERROR | 協(xié)議已過(guò)期 | 請(qǐng)檢查簽約協(xié)議號(hào)是否已過(guò)期 |
INVALID_REQUEST | 無(wú)效請(qǐng)求 | 請(qǐng)檢查請(qǐng)求方式是否是post方法等 |
FREQUENCY_LIMITED | 頻率限制 | 請(qǐng)檢查接口請(qǐng)求頻率是否超過(guò)限制 |
RULELIMIT | 該筆交易存在風(fēng)險(xiǎn) | 請(qǐng)聯(lián)系用戶(hù),明確微信號(hào)是否有違規(guī)操作,如有疑問(wèn)可聯(lián)系微信客服解除風(fēng)險(xiǎn)控制 |