# 代付接口
## 1. 申請代付
> 接口描述
商戶通過代付接口發起代付申請,支付系統收到請求后同步返回申請結果,申請成功并不代表代付成功。
商戶有兩種方式確定代付結果:
1)發起代付時傳遞代付結果回調地址,支付系統處理代付確定結果后會向改地址發起通知請求。
2)商戶系統客戶主動發起代付查詢,以查詢到的最終結果確定代付是否成功。
注意:商戶訪問該接口需要申請IP白名單。
> 接口鏈接
URL地址:{payUrl}/agentpay/apply
> 請求參數
字段名變量名必填類型示例值描述商戶IDmchId是String(30)1000000010支付中心分配的商戶號商戶代付單號mchOrderNo是String(30)A201907011234商戶代付單號代付金額amount是int1000代付金額, 單位分賬戶屬性accountAttr否String(2)0賬戶屬性:0-對私,1-對公,默認對私銀行名稱bankName是String(128)中國工商銀行收款卡的銀行名稱收款人姓名accountName是String(64)張三收款人姓名收款人卡號accountNo是String(64)622848988712341234收款人卡號開戶行所在省份province否String(32)北京市開戶行所在省份開戶行所在市city否String(32)北京市開戶行所在市聯行號bankNumber否String(64)聯行號代付結果回調URLnotifyUrl否String(128)代付結果回調URL備注remark否String(128)備注擴展域extra否String(128)擴展域請求時間reqTime是String(30)20190723141000請求接口時間, yyyyMMddHHmmss格式接口版本version是String(3)1.0接口版本號,固定:1.0簽名sign是String(32)C380BEC2BFD727A4B6845133519F3AD6簽名值,詳見簽名算法> 響應結果
字段名變量名必填類型示例值描述返回狀態碼retCode是String(16)00-處理成功,其他-處理有誤,詳見錯誤碼返回信息retMsg否String(128)簽名失敗具體錯誤原因,例如:簽名失敗、參數格式校驗錯誤##### 以下字段在retCode=0 時有返回
字段名變量名必填類型示例值描述代付訂單號agentpayOrderId是String(32)T201990131313代付訂單號狀態status是String(2)2狀態:0-待處理,1-處理中,2-成功,3-失敗,4-待人工處理手續費fee是String(30)10手續費,單位分轉賬提示transMsg否String(128)轉賬提示擴展域extra否String(128)擴展域簽名sign是String(32)C380BEC2BFD727A4B6845133519F3AD6簽名值,詳見簽名算法## 2. 代付確認
> 接口描述
當商戶通過接口發起代付請求后,如果商戶開啟代付二次確認,那么支付平臺會向商戶配置的代付確認地址發起請求,等待商戶系統返回確認結果。
> 接口鏈接
該鏈接是商戶在支付平臺配置的二次確認地址。
> 請求參數
字段名變量名必填類型示例值描述商戶訂單號mchOrderNo是String(32)M201990131313商戶訂單號金額amount是int10代付發起金額,單位分> 響應結果
商戶業務系統處理后同步返回給支付平臺,返回字符串 ok 則表示商戶系統確認該代付訂單正確存在,返回 fail 則表示確認不存在,返回其他或無響應則支付平臺會每延遲10秒再發請求(最多3次)。
`注意:返回的字符串必須是小寫,且前后不能有空格,不能有換行。返回ok則繼續執行代付,否則代付退回商戶`
## 3. 查詢代付訂單
> 接口描述
商戶通過該接口查詢代付訂單結果,并根據狀態結果進一步處理業務邏輯。
> 接口鏈接
URL地址:{payUrl}/agentpay/query\_order
> 請求參數
字段名變量名必填類型示例值描述商戶IDmchId是String(30)1000000010支付中心分配的商戶號商戶訂單號mchOrderNo否String(32)M1000000010商戶訂單號, 與 代付訂單號 二選一代付訂單號agentpayOrderId否String(32)T1000000010代付訂單號, 與 商戶訂單號 二選一請求時間reqTime是String(30)20190723141000請求接口時間, yyyyMMddHHmmss格式接口版本version是String(3)1.0接口版本號,固定:1.0簽名sign是String(32)C380BEC2BFD727A4B6845133519F3AD6簽名值,詳見簽名算法> 響應結果
字段名變量名必填類型示例值描述返回狀態碼retCode是String(16)00-處理成功,其他-處理有誤,詳見錯誤碼返回信息retMsg否String(128)簽名失敗具體錯誤原因,例如:簽名失敗、參數格式校驗錯誤##### 以下字段在retCode=0 時有返回
字段名變量名必填類型示例值描述代付訂單號agentpayOrderId是String(32)T201990131313代付訂單號商戶訂單號mchOrderNo是String(32)M201990131313商戶訂單號代付金額amount是int1000代付金額,單位分手續費fee是int10手續費,單位分狀態status是String(2)2狀態:0-待處理,1-處理中,2-成功,3-失敗,4-待人工處理轉賬提示transMsg否String(128)轉賬提示簽名sign是String(32)C380BEC2BFD727A4B6845133519F3AD6簽名值,詳見簽名算法## 4. 查詢余額
> 接口描述
商戶可通過該接口查詢代付賬戶余額。
> 接口鏈接
URL地址:{payUrl}/agentpay/query\_balance
> 請求參數
字段名變量名必填類型示例值描述商戶IDmchId是String(30)1000000010支付中心分配的商戶號請求時間reqTime是String(30)20190723141000請求接口時間, yyyyMMddHHmmss格式接口版本version是String(3)1.0接口版本號,固定:1.0簽名sign是String(32)C380BEC2BFD727A4B6845133519F3AD6簽名值,詳見簽名算法> 響應結果
字段名變量名必填類型示例值描述返回狀態碼retCode是String(16)00-處理成功,其他-處理有誤,詳見錯誤碼返回信息retMsg否String(128)簽名失敗具體錯誤原因,例如:簽名失敗、參數格式校驗錯誤##### 以下字段在retCode=0 時有返回
字段名變量名必填類型示例值描述代付余額agentpayBalance是int10000代付余額可用代付余額availableAgentpayBalance是int10000可用代付余額簽名sign是String(32)C380BEC2BFD727A4B6845133519F3AD6簽名值,詳見簽名算法## 5. 代付結果通知
> 接口描述
當代付處理完成后,支付系統會通過該接口向商戶發起通知。
> 接口鏈接
該鏈接是商戶通過代付申請接口提交的參數notifyUrl設置,如果無法訪問鏈接,商戶業務系統將無法接收到支付平臺的通知。
> 通知參數
字段名變量名必填類型示例值描述代付訂單號agentpayOrderId是String(32)T201990131313代付訂單號商戶訂單號mchOrderNo是String(32)M201990131313商戶訂單號狀態status是String(2)2狀態:0-待處理,1-處理中,2-成功,3-失敗,4-待人工處理手續費fee是int10手續費,單位分轉賬提示transMsg否String(128)轉賬提示擴展域extra否String(128)擴展域通知請求時間reqTime是String(30)20190723141000通知請求時間,yyyyMMddHHmmss格式簽名sign是String(32)C380BEC2BFD727A4B6845133519F3AD6簽名值,詳見簽名算法> 響應結果
業務系統處理后同步返回給支付中心,返回字符串 success 則表示成功,返回非success則表示處理失敗,支付中心會再次通知業務系統。(通知頻率為60/120/180/240/300,單位:秒)
`注意:返回的字符串必須是小寫,且前后不能有空格,不能有換行。`
## 6. 錯誤碼
RetCode描述0成功9999業務異常,具體錯誤詳見RetMsg字段0100商戶簽名異常0010系統錯誤0011請使用post方法0012post數據為空0013簽名錯誤0014參數錯誤0015商戶不存在0110第三方超時0111第三方異常0112訂單不存在0113訂單已支付0114商品不存在0115價格不對0116物品數量不對0117過程返回2550118DB錯誤0119支付中心沒有對應的渠道0120修改訂單狀態失敗