跨境系統-東方支付 微信公眾號_接口規范 ecshop
更新時間:2020-09-18 點擊量:334
1.1. 功能描述
向東方支付提交微信支付的接口文檔。
第1章 數據格式
報文結構采用JSON定義,使用自定義格式;
報文統一使用UTF-8編碼。
2.1 報文結構
2.1.1請求報文頭
變量 | 變量名稱 | 類型(字符數) | 要求 | 備注 |
msgVersion | 接口版本號 | String(4) | M | 1.0 |
msgCode | 接口定義代碼 | String(26) | M | 下單時:WX_OFFICIAL_PAY 查詢時:WX_ OFFICIAL _QUERY |
msgSerialNo | 報文流水號 | String(26) | M | 報文唯一流水 |
msgSender | 發送方代碼 | String(7) | M | |
msgSenderKey | 發送方證書ID | String(50) | M | 發送方證書ID |
msgContent | 業務內容 | -- | M | |
timestamp | 請求時間 | String(20) | M | |
sign | ||||
signType | 加簽方式 | String(20) | M | |
signValue | 加簽內容 | String(2048) | M | |
encryptType | 加密方式 | String(26) | O | 1、RSA |
示例: { "msgVersion": "3.0", "msgCode": "ORDER_QUERY", "msgSerialNo": "201902191020302091839201", "msgSender": "EPPAYTS", "msgContent": "ew0KCQkidHJ4U2VyaWFsTm8iOiAiVFMyMDE5MDExNzA5MjkxNjM4MTQ0MTQ0MTEiLA0KCQkib3RyeFNlcmlhbE5vIjogIlQwMDAwMDAwMDc4NjIwMTYxMDEzMTAzMDQ0IiwNCgkJInBheUFtb3VudCI6IDE1LA0KCQkicGF5Q3VycmVuY3kiOiAiQ05ZIiwNCgkJImJhbmtOb2RlQ29kZSI6ICJFUENDMDAwIiwNCgkJImNydENvZGUiOiAiMDg3OTI5MTM3IiwNCgkJImNyYWNjTmFtZSI6ICLmtbfljZfoiKrnqbrlhazlj7gyIiwNCgkJImNtZFR5cGUiOiAiMTAiLA0KCQkic2VyaWFsTm8iOiAiRk0yMDE5MDExNzA5MjkxNjk0ODAxMDQyMDEiDQoJfQ==", "timestamp": "20190219102030", "sign": { "signType": "RSA", "signValue": "ZDkzbGM5MzlrbzNsbGQ5b2llazhsbzI=" }, "encryptType":"RSA" }
2.1.1響應報文頭
變量 | 變量名稱 | 類型(字符數) | 要求 | 備注 |
code | 返回碼 | String(10) | M | |
msg | 返回碼描述信息 | String(26) | M | |
msgSerialNo | 報文流水號 | String(26) | M | |
sign | 加簽內容 | String(2048) | O | 對body內容進行簽名,某些情況body為空,此字段為空 |
body | 業務內容 | -- | O |
示例: { "code":"000000", "msg":"請求成功", "msgSerialNo":"2019060314320038340", "sign":"MEUCIQCEmeN5zFPzp3ovGdxuv3BFK0IuUAdMh9xwMDw25C8CBQIgSG5XqOMSX6nh8+bl6fv3nV/P4yI9fzI2c6wNkfLuv5s=", "body":"H4sIAAAAAAAAAKtWSs5PSVWyUjIAAyUdpdzidCD3xfrtzzY2PeuY8LRrPkQwOLUoMzHHL1/JKq80J0dHqTgzPQ/GTslMTy0ugfGS8lMqgUaEGxrYKtUCAOM0KuVhAAAA" }
請求報文
變量 | 變量名稱 | 類型(字符數) | 要求 | 備注 |
trxCd | 交易代碼 | 字符串(固定4) | M | 固定值:1302 |
outOrderNo | 訂單號 | 字符串(1~64) | M | 商戶訂單號 不支持商戶提交重復流水號,對重復訂單號將返回失敗信息 |
outOrderTime | 訂單生成時間 | 字符串(固定14) | M | 14 位定長。 yyyyMMddHHmmss |
mrchntCode | 商戶號 | 字符串(1~30) | M | 東方支付分配的商戶號 |
appid | 微信應用號 | 字符串(1~30) | M | 小程序or公眾號的APPID |
openId | 微信用戶標識 | 字符串(1~100) | M | 用戶在服務商公眾號appid下的唯一標識 |
trxCcyCd | 交易幣種 | 字符串(固定3) | M | 支付幣種,固定值CNY |
trxAmt | 交易金額 | 金額字符串(0.01~100000.00) | M | 總金額,最小2位小數,不允許包含任何字、符號 |
goodsName | 商品名稱 | 字符串(1~100) | M | |
goodsNum | 商品數量 | 數字字符串(1~1000) | O | |
frontUrl | 前臺通知地址 | 字符串(1~256) | O | |
backUrl | 后臺通知地址 | 字符串(1~256) | M | 支付結果通知地址 |
payMethod | 支付方式 | 字符串(固定1) | M | 固定值 3:API |
productType | 產品類型 | 字符串(1~20) | M | 產品類型 - WX_OFFICIAL:微信公眾號支付 |
tradeType | 交易類型 | 字符串(1~20) | M | official:公眾號支付
|
remoteIp | 終端IP | 字符串(1~20) | M | |
attach | 附加信息 | 字符串(1~256) | O | 商戶附加信息,可做擴展參數 |
spt1 | 備用域1 | 字符串(1~256) | O | |
spt2 | 備用域2 | 字符串(1~256) | O |
同步應答報文
變量 | 變量名稱 | 類型(字符數) | 要求 | 備注 |
trxCd | 交易代碼 | 字符串(固定4) | M | 原交易類型 |
outOrderNo | 訂單號 | 字符串(1~64) | M | 商戶訂單號 不支持商戶提交重復流水號,對重復訂單號將返回失敗信息 |
outOrderTime | 訂單生成時間 | 字符串(固定14) | M | 14 位定長。 yyyyMMddHHmmss |
orderNo | 支付交易訂單號 | 字符串(1~64) | M | 東方支付生成交易訂單號 |
rdoTime | 支付平臺返回時間 | 字符串(固定14) | M | 14 位定長。 yyyyMMddHHmmss |
mrchntCode | 商戶代碼 | 字符串(1~30) | M | 商戶號,由東方支付分配 |
payMethod | 支付方式 | 字符串(固定1) | M | 固定值 3:API |
productType | 產品類型 | 字符串(1~20) | M | 產品類型
WX_OFFICIAL:微信公眾號支付 |
tradeType | 交易類型 | 字符串(1~20) | M | official:公眾號支付
|
trxCcyCd | 交易幣種 | 字符串(固定3) | M | 支付幣種,固定值CNY |
trxAmt | 交易金額 | 金額字符串(0.01~100000.00) | M | 總金額,最小2位小數,不允許包含任何字、符號 |
returnCode | 返回狀態碼 | 字符串(1~30) | M | |
returnMsg | 返回信息 | 字符串(1~256) | O | |
payInfo | APP調用數據 | 字符串(1~2000) | M | 調用微信支付時使用原始數據串 |
sysRtnCd | 擴展返回代碼 | 字符串(1~30) | O | |
sysRtnDesc | 擴展返回信息 | 字符串(1~256) | O | |
spt1 | 備用域1 | 字符串(1~256) | O | |
spt2 | 備用域2 | 字符串(1~256) | O |
異步應答報文
2.2.3.1 概述
對于異步應答,如果平臺收到商戶的應答不是純字符串success或超過5秒后返回時,平臺認為通知失敗,平臺會通過一定的策略間接性重新發起通知,盡可能提高通知的成功率,但不保證通知最終能成功。若在平臺成功后超過2小時仍未收到商戶的成功響應,平臺將不會再次發起通知,商戶可通過查詢接口查詢該筆交易的狀態。
由于存在重新發送后臺通知的情況, 因此同樣的通知可能會多次發送給商戶系統。 商戶系統必須能夠正確處理重復的通知。
變量 | 變量名稱 | 類型(字符數) | 要求 | 備注 |
trxCd | 交易代碼 | 字符串(固定4) | M | 原交易類型 |
tradeState | 交易狀態 | 字符串(1~20) | M | S—支付完成 F—支付失敗 |
returnCode | 返回碼 | 字符串(1~30) | M | 返回狀態碼 |
returnMsg | 返回信息 | 字符串(1~256) | O | 支付失敗時描述信息 |
mrchntCode | 商戶號 | 字符串(1~30) | M | 商戶號,由東方支付分配 |
payMethod | 支付方式 | 字符串(固定1) | M | 固定值 3:API |
productType | 產品類型 | 字符串(1~20) | M | 產品類型
WX_OFFICIAL:微信公眾號支付 |
tradeType | 交易類型 | 字符串(1~20) | M | official:公眾號支付
|
outOrderNo | 商戶訂單號 | 字符串(1~64) | M | 對應下單接口中outOrderNo |
outOrderTime | 訂單生成時間 | 字符串(固定14) | M | 14 位定長。 yyyyMMddHHmmss |
orderNo | 支付交易訂單號 | 字符串(1~64) | M | 東方支付生成交易訂單號,對應下單應答中orderNo |
payTime | 支付成功時間 | 字符串(固定14) | O | 支付成功后返回的時間 14 位定長。 yyyyMMddHHmmss |
trxCcyCd | 交易幣種 | 字符串(固定3) | M | 支付幣種,固定值CNY |
trxAmt | 交易金額 | 金額字符串(0.01~100000.00) | M | 總金額,最小2位小數,不允許包含任何字、符號 |
factAmt | 實際金額 | 金額字符串(0.01~100000.00) | O | 實際金額,最小2位小數,不允許包含任何字、符號 |
sysRtnCd | 擴展返回代碼 | 字符串(1~30) | O | |
sysRtnDesc | 擴展返回信息 | 字符串(1~256) | O | |
spt1 | 備用域1 | 字符串(1~256) | O | |
spt2 | 備用域2 | 字符串(1~256) | O |
第1章 應答碼
碼表 | 說明 | 出現接口 |
000000 | 成功 | WX_OFFICIAL_PAY、WX_ OFFICIAL _QUERY |
999999 | 系統錯誤(服務方內部處理異常無法正常接收數據返回) | WX_OFFICIAL_PAY、WX_ OFFICIAL _QUERY |
100001 | 簽名驗證出錯(針對請求接口中sign字段校驗) | WX_OFFICIAL_PAY、WX_ OFFICIAL _QUERY |
100005 | XX參數不正確(包括不能為空值的參數傳輸空值、字段長度超過最大數、金額格式不正確、日期格式不正確等),由于XX原因 | WX_OFFICIAL_PAY、WX_ OFFICIAL _QUERY |
100006 | 沒有權限訪問該服務 | WX_OFFICIAL_PAY、WX_ OFFICIAL _QUERY |
100007 | 無效加密方式 | WX_OFFICIAL_PAY、WX_ OFFICIAL _QUERY |
100011 | 報文格式不正確 | |
200001 | 流水號已存在(重復流水號或已經接收成功),調用方一定注意此返回碼也代表表示成功 | WX_OFFICIAL_PAY |
200002 | 訂單號已存在(重復訂單號或已經接收成功),調用方一定注意此返回碼也代表表示成功 | WX_OFFICIAL_PAY |
200004 | 金額不能小于等于0 | WX_OFFICIAL_PAY |
200005 | 數量不能小于或等于0 | WX_OFFICIAL_PAY |
200006 | 企業(或商戶)標識無效 | WX_OFFICIAL_PAY |
200007 | 訂單關閉中或已關閉 | WX_OFFICIAL_PAY |
200008 | 訂單號重復使用出現字段信息不匹配 | WX_OFFICIAL_PAY |
200009 | 訂單不存在 | WX_OFFICIAL_PAY |
200010 | 請求處理拒絕,當前記錄狀態不允許處理此請求,當前狀態為XX | WX_OFFICIAL_PAY |
200013 | 企業信息不存在,無法驗證 | WX_OFFICIAL_PAY |
200014 | 開始和結束時間范圍無效(開始時間晚于結束時間或時間范圍超過設定周期) | WX_OFFICIAL_PAY |
200022 | 渠道校驗失敗 | WX_OFFICIAL_PAY |
200032 | 查詢無符合條件的結果 | WX_ OFFICIAL _QUERY |
如果文章對您有幫助,就打賞一個吧