smart-pay支付開(kāi)發(fā)包
聚合支付
- 目前已經(jīng)接入支付渠道:微信(條碼支付、掃碼支付)、支付寶(條碼支付、掃碼支付);
- 后臺(tái)自動(dòng)生成對(duì)賬文件
統(tǒng)一下單
業(yè)務(wù)通過(guò)統(tǒng)一下單接口可以發(fā)起任意三方支付渠道的支付訂單。業(yè)務(wù)系統(tǒng)不必關(guān)心該如何調(diào)用三方支付,統(tǒng)一下單接口會(huì)根據(jù)業(yè)務(wù)系統(tǒng)選擇的支付渠道ID,選擇對(duì)應(yīng)支付渠道的支付產(chǎn)品,發(fā)起下單請(qǐng)求,然后響應(yīng)給業(yè)務(wù)系統(tǒng)支付請(qǐng)求所需參數(shù)。
URL地址:http://127.0.0.1:3020/api/pay/create_order
安全密鑰:
ReqKey= M86l522AV6q613Ii4W6u8K48uW8vM1N6bFgyv769220MdYe9u37N4y7rI5mQ
ResKey= Hpcl522AV6q613KIi46u6g6XuW8vM1N8bFgyv769770MdYe9u37M4y7rIpl8
請(qǐng)求參數(shù):
| 字段 |
變量 |
必填 |
類(lèi)型 |
示例 |
說(shuō)明 |
| 商戶ID |
mchId |
是 |
String(30) |
10000000 |
支付中心分配的商戶號(hào) |
| 商戶訂單號(hào) |
mchOrderNo |
是 |
String(30) |
20160427210604000490 |
商戶生成的訂單號(hào) |
| 訂單類(lèi)型 |
payOrderType |
是 |
String(1) |
1 |
支付訂單號(hào)是否采用商戶訂單號(hào) |
| 渠道ID |
channelId |
是 |
String(24) |
WX_NATIVE、ALIPAY_PC |
掃碼支付,目前只有兩種 |
| 幣種 |
currency |
是 |
String(3) |
cny |
三位貨幣代碼,人民幣:cny |
| 支付金額 |
amount |
是 |
int |
100 |
支付金額,單位分 |
| 客戶端IP |
clientIp |
否 |
String(32) |
210.73.10.148 |
客戶端IP地址 |
| 設(shè)備 |
device |
否 |
String(64) |
ios10.3.1 |
客戶端設(shè)備 |
| 支付回調(diào)URL |
notifyUrl |
是 |
String(200) |
http://127.0.0.1/notify.htm |
支付結(jié)果回調(diào)URL,將支付結(jié)果通知給業(yè)務(wù)系統(tǒng),如自助機(jī)。 |
| 商品主題 |
subject |
是 |
String(64) |
掛號(hào)費(fèi) |
商品主題 |
| 描述信息 |
body |
是 |
String(256) |
XX醫(yī)院,專(zhuān)家號(hào),20元。 |
商品描述信息 |
| 擴(kuò)展參數(shù)1 |
param1 |
否 |
String(64) |
|
支付中心回調(diào)時(shí)會(huì)原樣返回 |
| 擴(kuò)展參數(shù)2 |
param2 |
否 |
String(64) |
|
支付中心回調(diào)時(shí)會(huì)原樣返回 |
| 附加參數(shù) |
extra |
是 |
String(512) |
{“openId”:”o2RvowBf7sOVJf8kJksUEMceaDqo”} |
特定渠道發(fā)起時(shí)額外參數(shù),見(jiàn)下面說(shuō)明 |
| 簽名 |
sign |
是 |
String(32) |
|
簽名值,詳見(jiàn)簽名算法 |
extra參數(shù)說(shuō)明
當(dāng)請(qǐng)求參數(shù)channelId = WX_NATIVE (微信原生掃碼支付)時(shí),productId參數(shù)必填,對(duì)應(yīng)業(yè)務(wù)系統(tǒng)定義的商品ID。
例如:
{"openId":"P2017120511225677"}
返回結(jié)果:
| 字段 |
變量 |
必填 |
類(lèi)型 |
示例 |
說(shuō)明 |
| 返回狀態(tài)碼 |
retCode |
是 |
String(16) |
SUCCESS |
SUCCESS/FAIL此字段是通信標(biāo)識(shí),非交易標(biāo)識(shí),交易是否成功需要查看resCode來(lái)判斷 |
| 返回信息 |
retMsg |
否 |
String(128) |
簽名失敗 |
返回信息,如非空,為錯(cuò)誤原因 簽名失敗 參數(shù)格式校驗(yàn)錯(cuò)誤 |
以下字段在retCode為SUCCESS的時(shí)候有返回:
| 變量 |
必填 |
類(lèi)型 |
示例 |
說(shuō)明 |
| resCode |
是 |
String(16) |
SUCCESS |
SUCCESS/FAIL |
| errCode |
否 |
String(32) |
SYSTEMERROR |
錯(cuò)誤碼 |
| errCodeDes |
否 |
String(128) |
系統(tǒng)錯(cuò)誤 |
結(jié)果信息描述 |
以下字段在retCode和resCode都為SUCCESS的時(shí)候有返回
| 字段 |
變量 |
必填 |
類(lèi)型 |
示例 |
說(shuō)明 |
| 支付訂單號(hào) |
payOrderId |
是 |
String(32) |
P20170001215 |
支付中心生成的訂單號(hào) |
| 預(yù)支付標(biāo)識(shí) |
prepayId |
否 |
String(64) |
Wx2017002423 |
第三方支付公司返回的預(yù)支付標(biāo)識(shí) |
| 二維碼鏈接 |
codeUrl |
是 |
String(200) |
weixin://wxpay |
可將該參數(shù)值生產(chǎn)二維碼展示 |
| 微信簽名 |
paySign |
否 |
String(32) |
C380BEUYTUC… |
簽名 |
微信返回示例:
{
codeUrl=weixin: //wxpay/bizpayurl?pr=A7W1hFm,
payOrderId=P0020171206233614680006,
mchOrderNo=P0020171206233614680006,
sign=1C576ED262CA87777C9EB4984E975B0A,
resCode=SUCCESS,
prepayId=wx201712062336170a0dbec3ec0035903577,
retCode=SUCCESS,
retMsg=
}
支付寶返回示例:
{
codeUrl=https: //qr.alipay.com/bax03162pv1meea5nnag0059,
payOrderId=P0020171207001840996000,
mchOrderNo=P0020171207001840996000,
sign=E76E40019D1DAFEC909C3318B5F87E6E,
resCode=SUCCESS,
prepayId=P0020171207001840996000,
retCode=SUCCESS,
retMsg=OK
}
退費(fèi)
統(tǒng)一退單,分為退費(fèi)和撤銷(xiāo)兩種。
URL地址:http://127.0.0.1:3020/api/ refund/create_order
安全密鑰:
ReqKey= M86l522AV6q613Ii4W6u8K48uW8vM1N6bFgyv769220MdYe9u37N4y7rI5mQ
ResKey= Hpcl522AV6q613KIi46u6g6XuW8vM1N8bFgyv769770MdYe9u37M4y7rIpl8
請(qǐng)求參數(shù):
| 字段 |
變量 |
必填 |
類(lèi)型 |
示例 |
說(shuō)明 |
| 商戶ID |
mchId |
是 |
String(30) |
10000000 |
支付中心分配的商戶號(hào) |
| 商戶訂單號(hào) |
mchOrderNo |
二選一 |
String(30) |
20160427210604000490 |
商戶訂單號(hào) |
| 支付訂單號(hào) |
payOrderId |
String(30) |
20160427210604000490 |
支付訂單號(hào) |
|
| 渠道ID |
channelId |
是 |
String(24) |
WX_NATIVE、ALIPAY_PC |
掃碼支付,目前只有兩種 |
| 幣種 |
currency |
是 |
String(3) |
cny |
三位貨幣代碼,人民幣:cny |
| 支付金額 |
amount |
是 |
int |
100 |
支付金額,單位分,退費(fèi)必填,撤銷(xiāo)可選 |
| 客戶端IP |
clientIp |
否 |
String(32) |
210.73.10.148 |
客戶端IP地址 |
| 設(shè)備 |
device |
否 |
String(64) |
ios10.3.1 |
客戶端設(shè)備 |
| 支付回調(diào)URL |
notifyUrl |
是 |
String(200) |
http://127.0.0.1/notify.htm |
支付結(jié)果回調(diào)URL,將支付結(jié)果通知給業(yè)務(wù)系統(tǒng),如自助機(jī)。 |
| 商品主題 |
subject |
是 |
String(64) |
掛號(hào)費(fèi) |
商品主題 |
| 描述信息 |
body |
是 |
String(256) |
XX醫(yī)院,專(zhuān)家號(hào),20元。 |
商品描述信息 |
| 擴(kuò)展參數(shù)1 |
param1 |
否 |
String(64) |
|
支付中心回調(diào)時(shí)會(huì)原樣返回 |
| 擴(kuò)展參數(shù)2 |
param2 |
否 |
String(64) |
|
支付中心回調(diào)時(shí)會(huì)原樣返回 |
| 退款方式 |
refundType |
是 |
String(5) |
1 |
退款方式 0、退款 1、撤銷(xiāo) 默認(rèn)0 |
| 簽名 |
sign |
是 |
String(32) |
|
簽名值,詳見(jiàn)簽名算法 |
返回結(jié)果:
| 字段 |
變量 |
必填 |
類(lèi)型 |
示例 |
說(shuō)明 |
| 返回狀態(tài)碼 |
retCode |
是 |
String(16) |
SUCCESS |
SUCCESS/FAIL此字段是通信標(biāo)識(shí),非交易標(biāo)識(shí),交易是否成功需要查看resCode來(lái)判斷 |
| 返回信息 |
retMsg |
否 |
String(128) |
簽名失敗 |
返回信息,如非空,為錯(cuò)誤原因 簽名失敗 參數(shù)格式校驗(yàn)錯(cuò)誤 |
以下字段在retCode為SUCCESS的時(shí)候有返回:
| 字段 |
變量 |
必填 |
類(lèi)型 |
示例 |
說(shuō)明 |
| 業(yè)務(wù)結(jié)果 |
resCode |
是 |
String(16) |
SUCCESS |
SUCCESS/FAIL |
| 錯(cuò)誤代碼 |
errCode |
否 |
String(32) |
SYSTEMERROR |
錯(cuò)誤碼 |
| 錯(cuò)誤描述 |
errCodeDes |
否 |
String(128) |
系統(tǒng)錯(cuò)誤 |
結(jié)果信息描述 |
以下字段在retCode和resCode都為SUCCESS的時(shí)候有返回
| 字段 |
變量 |
必填 |
類(lèi)型 |
示例 |
說(shuō)明 |
| 退款訂單號(hào) |
refundOrderId |
是 |
String(32) |
R20170001215 |
支付中心生成的訂單號(hào) |
| 支付訂單號(hào) |
payOrderId |
否 |
String(64) |
P2017002423 |
第三方支付公司返回的預(yù)支付標(biāo)識(shí) |
| 微信簽名 |
paySign |
否 |
String(32) |
C380BEUYTUC… |
簽名 |
商戶信息配置截圖
渠道配置截圖
訂單截圖
