业务通过统一下单接口可以发起任意三方支付渠道的支付订单。业务系统不必关心该如何调用三方支付,统一下单接口会根据业务系统选择的支付渠道ID,选择对应支付渠道的支付产品,发起下单请求,然后响应给业务系统支付请求所需参数。
URL地址:http://127.0.0.1:3020/api/pay/create_order
安全密钥:
ReqKey= M86l522AV6q613Ii4W6u8K48uW8vM1N6bFgyv769220MdYe9u37N4y7rI5mQ
ResKey= Hpcl522AV6q613KIi46u6g6XuW8vM1N8bFgyv769770MdYe9u37M4y7rIpl8
请求参数:
字段 |
变量 |
必填 |
类型 |
示例 |
说明 |
商户ID |
mchId |
是 |
String(30) |
10000000 |
支付中心分配的商户号 |
商户订单号 |
mchOrderNo |
是 |
String(30) |
20160427210604000490 |
商户生成的订单号 |
订单类型 |
payOrderType |
是 |
String(1) |
1 |
支付订单号是否采用商户订单号 |
渠道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地址 |
设备 |
device |
否 |
String(64) |
ios10.3.1 |
客户端设备 |
支付回调URL |
notifyUrl |
是 |
String(200) |
http://127.0.0.1/notify.htm |
支付结果回调URL,将支付结果通知给业务系统,如自助机。 |
商品主题 |
subject |
是 |
String(64) |
挂号费 |
商品主题 |
描述信息 |
body |
是 |
String(256) |
XX医院,专家号,20元。 |
商品描述信息 |
扩展参数1 |
param1 |
否 |
String(64) |
|
支付中心回调时会原样返回 |
扩展参数2 |
param2 |
否 |
String(64) |
|
支付中心回调时会原样返回 |
附加参数 |
extra |
是 |
String(512) |
{“openId”:”o2RvowBf7sOVJf8kJksUEMceaDqo”} |
特定渠道发起时额外参数,见下面说明 |
签名 |
sign |
是 |
String(32) |
|
签名值,详见签名算法 |
extra参数说明
当请求参数channelId = WX_NATIVE (微信原生扫码支付)时,productId参数必填,对应业务系统定义的商品ID。
例如:
{"openId":"P2017120511225677"}
返回结果:
字段 |
变量 |
必填 |
类型 |
示例 |
说明 |
返回状态码 |
retCode |
是 |
String(16) |
SUCCESS |
SUCCESS/FAIL此字段是通信标识,非交易标识,交易是否成功需要查看resCode来判断 |
返回信息 |
retMsg |
否 |
String(128) |
签名失败 |
返回信息,如非空,为错误原因 签名失败 参数格式校验错误 |
以下字段在retCode为SUCCESS的时候有返回:
变量 |
必填 |
类型 |
示例 |
说明 |
resCode |
是 |
String(16) |
SUCCESS |
SUCCESS/FAIL |
errCode |
否 |
String(32) |
SYSTEMERROR |
错误码 |
errCodeDes |
否 |
String(128) |
系统错误 |
结果信息描述 |
以下字段在retCode和resCode都为SUCCESS的时候有返回
字段 |
变量 |
必填 |
类型 |
示例 |
说明 |
支付订单号 |
payOrderId |
是 |
String(32) |
P20170001215 |
支付中心生成的订单号 |
预支付标识 |
prepayId |
否 |
String(64) |
Wx2017002423 |
第三方支付公司返回的预支付标识 |
二维码链接 |
codeUrl |
是 |
String(200) |
weixin://wxpay |
可将该参数值生产二维码展示 |
微信签名 |
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
}
统一退单,分为退费和撤销两种。
URL地址:http://127.0.0.1:3020/api/ refund/create_order
安全密钥:
ReqKey= M86l522AV6q613Ii4W6u8K48uW8vM1N6bFgyv769220MdYe9u37N4y7rI5mQ
ResKey= Hpcl522AV6q613KIi46u6g6XuW8vM1N8bFgyv769770MdYe9u37M4y7rIpl8
请求参数:
字段 |
变量 |
必填 |
类型 |
示例 |
说明 |
商户ID |
mchId |
是 |
String(30) |
10000000 |
支付中心分配的商户号 |
商户订单号 |
mchOrderNo |
二选一 |
String(30) |
20160427210604000490 |
商户订单号 |
支付订单号 |
payOrderId |
String(30) |
20160427210604000490 |
支付订单号 |
|
渠道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地址 |
设备 |
device |
否 |
String(64) |
ios10.3.1 |
客户端设备 |
支付回调URL |
notifyUrl |
是 |
String(200) |
http://127.0.0.1/notify.htm |
支付结果回调URL,将支付结果通知给业务系统,如自助机。 |
商品主题 |
subject |
是 |
String(64) |
挂号费 |
商品主题 |
描述信息 |
body |
是 |
String(256) |
XX医院,专家号,20元。 |
商品描述信息 |
扩展参数1 |
param1 |
否 |
String(64) |
|
支付中心回调时会原样返回 |
扩展参数2 |
param2 |
否 |
String(64) |
|
支付中心回调时会原样返回 |
退款方式 |
refundType |
是 |
String(5) |
1 |
退款方式 0、退款 1、撤销 默认0 |
签名 |
sign |
是 |
String(32) |
|
签名值,详见签名算法 |
返回结果:
字段 |
变量 |
必填 |
类型 |
示例 |
说明 |
返回状态码 |
retCode |
是 |
String(16) |
SUCCESS |
SUCCESS/FAIL此字段是通信标识,非交易标识,交易是否成功需要查看resCode来判断 |
返回信息 |
retMsg |
否 |
String(128) |
签名失败 |
返回信息,如非空,为错误原因 签名失败 参数格式校验错误 |
以下字段在retCode为SUCCESS的时候有返回:
字段 |
变量 |
必填 |
类型 |
示例 |
说明 |
业务结果 |
resCode |
是 |
String(16) |
SUCCESS |
SUCCESS/FAIL |
错误代码 |
errCode |
否 |
String(32) |
SYSTEMERROR |
错误码 |
错误描述 |
errCodeDes |
否 |
String(128) |
系统错误 |
结果信息描述 |
以下字段在retCode和resCode都为SUCCESS的时候有返回
字段 |
变量 |
必填 |
类型 |
示例 |
说明 |
退款订单号 |
refundOrderId |
是 |
String(32) |
R20170001215 |
支付中心生成的订单号 |
支付订单号 |
payOrderId |
否 |
String(64) |
P2017002423 |
第三方支付公司返回的预支付标识 |
微信签名 |
paySign |
否 |
String(32) |
C380BEUYTUC… |
签名 |
商户信息配置截图
渠道配置截图
订单截图
https://github.com/ConsenSys/smart-contract-best-practices Ethereum Contract Security Techniques and Tips The recent attack on The DAO highlights the importance of security and proper software enginee
Smart-phone lawsuits 智能手机诉讼 The great patent battle 伟大的专利权战争 Nasty legal spats between tech giants may be here to stay 科技巨头之间令人生厌的口水仗将继续下去 Oct 21st 2010 翻译:phinecos于2010-10-25 HISTORY buffs st
Abstract: The rapid growth of Internet-of-Things (IoT) devices,such as smart-bulbs, smoke-alarms, webcams, and health-monitoring devices, is accompanied by[李杨1] escalating threats of attacks that can
Smart-phone lawsuits 智能手机诉讼 The great patent battle 伟大的专利权战争 Nasty legal spats between tech giants may be here to stay 科技巨头之间令人生厌的口水仗将继续下去 Oct 21st 2010 翻译:phinecos于2010-10-25 HISTORY buffs st
As the developer of a popular blockchain platform, I sometimes gets asked whether Ethereum-like smart contracts are on the MultiChain roadmap. The answer I always give is always: 'No, or at least not
<!DOCTYPE html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Ensures optimal rendering on mobile devices. --> <meta http-equiv="X-UA-Compatible" content="IE
echo “hello” 输出 hello date 获得当前时间 pwd 获得当前路径 ls 和dir 显示当前目录下的文件 mkdir 文件夹名 新建文件夹 rm -rf -r 就是向下递归,不管有多少级目录,一并删除,-f 就是直接强行删除,不作任何提示的意思 vi 文件名 创建文件并编辑 esc 退出编辑模式进入阅读模式
基本简介 一个基于 Spring Boot 2.2.5 、 Mybaties Plus、 JWT、Spring Security、Redis、Vue的前后端分离的支付系统. 目前已经接入支付渠道:微信(条码支付、扫码支付)、支付宝(条码支付、扫码支付). 系统功能 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 岗
和用户余额相关的信息,余额单位都是按照 CNY 的「分」作为单位。 新版钱包部分只提供跟真实金额有关的操作,充值相关操作暂只对接ping++支付平台 敏感操作 部分接口将被设置为敏感操作接口,此类接口需要额外传入当前账户密码password作为账户凭据验证 接口 钱包流水 提现列表 发起提现 发起充值 取回凭据 回调通知 转账 转换积分 钱包流水 GET /api/v2/plus-pay/orde
本文向大家介绍支付宝支付开发——当面付条码支付和扫码支付实例,包括了支付宝支付开发——当面付条码支付和扫码支付实例的使用技巧和注意事项,需要的朋友参考一下 本文介绍支付宝中当面付下属的条码支付、扫码支付、订单查询、退款申请的集成开发过程。 本文分为以下五个部分: 条码支付和扫码支付介绍 申请应用 密钥生成及配置 API及SDK集成 条码支付、扫码支付、订单查询、退款申请 一、条码支付及二维码支
因为node-forge(一个非常方便的加密工具)还不支持“ECDSA with SHA256”(链接),我找不到其他替代品。我转向OpenSSL。经过一些调查,签名似乎是以“CMS签名数据”格式打包的。所以我发现openssl手册中的这个命令应该可以完成以下任务: openssl cms-verify-informed DER-in signature.DER-content content.t
我目前正在整合贝宝定期付款。我有一些关于集成贝宝系统的问题。 > 用户需要为定期支付系统创建paypal帐户吗? 我们可以使用这种“尝试按钮”集成进行贝宝定期支付吗?https://developer.paypal.com/docs/checkout/ 如果用户在没有创建贝宝帐户的情况下使用信用卡注册,我们可以获得信用卡品牌吗?最后4位数字和到期日期? 我们可以使用php api创建使用贝宝账户或
注:V3.3之前的版本请参考“银联支付入门教程” h5app微信支付开发起手式、wex5微信公众号支付开发、H5App支付宝开发详解 分别讲解了开发app的微信支付、开发公众号的微信支付、开发app的支付宝支付。这篇我们说一说银联支付开发。 环境准备 1 银联商户用户 需要一个银联商户用户,如果没有,点击这里申请:https://merchant.unionpay.com/portal/publi