API开发文档简介
本文阅读对象:使用 四方支付 商户自服务系统的技术架构师、研发工程师、系统运维工程师。通过本文档,商户可了解 四方支付 接入的技术、接入的产品业务、接入的流程、接入规范等信息,以便于商户顺利完成接入工作。
接入网关
请登录商户中心,API管理 开发文档中 查看网关地址和API对接参数。
签名算法
签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串。
第二步,在stringA最后拼接上应用key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
stringSignTemp="amount=amount&applyDate=applyDate&channelCode=channelCode&callbackUrl=callbackUrl&mchId=mchId&notifyUrl=notifyUrl&orderId=orderId&key=key"
sign=MD5(stringSignTemp).toUpperCase()
代收下单接口
提交方式:POST
地址: 接入网关/Pay_Index.html
参数名称 参数含义 是否必填 参与签名参数说明
mchId 商户号 平台分配商户号
orderId 订单号 上送订单号唯一, 字符长度20
applyDate 提交时间 时间格式:2016-12-26 18:18:18
channelCode 通道编码 在商户中心查询
notifyUrl 服务端通知 服务端返回地址.(POST返回数据)
callbackUrl 页面跳转通知 页面跳转返回地址(POST返回数据)
amount 订单金额 单位:元
productName 商品名称
sign MD5签名 请查看签名算法
返回值
参数名称 参数含义 是否必填 参与签名参数说明
status 状态 success:请求成功,error:请求失败
msg 状态描述
data 订单信息(数据类型:集合)
sign MD5签名
返回值data参数
参数名称 参数含义 是否必填 参与签名 参数说明
payUrl 支付页面URL status=success时返回
orderId 订单号 status=success时返回
transactionId 平台流水号 status=success时返回
代收异步通知
提交方式:POST
接收到服务器点对点通讯时,在页面输出“OK”( 没有双引号,OK 两个字母大写 ) ,否则会重复5次发送点对点通知.
参数名称 参数含义 是否必填 参与签名参数说明
mchId 商户编号 平台分配商户号
orderId 订单号 上送订单号唯一, 字符长度20
amount 订单金额 单位:元
paidAmount 实际支付金额 单位:元
transactionId 交易流水号
dateTime 交易时间 时间格式:2016-12-26 18:18:18
returnCode 交易状态 00表示成功,其它表示失败
attach 扩展返回 商户附加数据返回
sign MD5签名 请查看签名算法
订单查询接口
提交方式:POST
地址: 接入网关/Pay_Trade_query.html
参数名称 参数含义 是否必填 参与签名参数说明
mchId 商户编号
orderId 商户订单号
sign MD5签名 请查看签名算法
返回值
参数名称 参数含义 是否必填 参与签名参数说明
status 状态 成功:success 失败:error(不代表业务成功)
msg 状态描述
data 订单信息(数据类型:集合)
sign MD5签名 请查看签名算法
返回值data参数
参数名称 参数含义 是否必填 参与签名 参数说明
mchId 商户编号
orderId 商户订单号
transactionId 平台订单号
amount 订单金额 单位:元
paidAmount 实际支付金额 单位:元
successTime 支付成功时间
tradeState 支付状态 SUCCESS:支付成功,NOTPAY:未支付
代付提交接口
提交方式:POST
提交地址:网关地址+/Payment_Order.html
参数名称 参数含义 是否必填 参与签名 参数说明
mchId 商户编号 平台分配商户号
orderId 商户订单号 保证唯一值
money 订单金额 单位:元
bankName 开户行名称
ifsc IFSC代码
accountName 开户名
cardNumber 银行卡号
accountType 账户类型 accountType 代付下单参数用于区分是 upi 还是银行卡号下单,此参数不设置默认为银行卡。
当 accountType = bank 时(默认逻辑不变) → cardNumber 字段为银行卡号,系统校验银行卡号格式。
当 accountType = upi 时 → cardNumber 字段为 UPI ID,系统跳过银行卡号格式校验。
extends 附加字段
sign MD5签名 请查看签名算法
注:extends字段具体需要上送哪些字段以及字段的含义,对接时请咨询平台方,如果不需要扩展字段则不传。不为空时,格式:先转化为JSON,接着进行Base64加密
例如:扩展字段为phone和idno,extends[phone]=13800138000,extends[idno]=111111111111111111。首先将extends转化为JSON格式得到{"phone":"13800138000","idno":"111111111111111111"},然后将此JSON字符串进行base64加密得到eyJwaG9uZSI6IjEzODAwMTM4MDAwIiwiaWRubyI6IjExMTExMTExMTExMTExMTExMSJ9,最终得到extends=eyJwaG9uZSI6IjEzODAwMTM4MDAwIiwiaWRubyI6IjExMTExMTExMTExMTExMTExMSJ9。
返回值
参数名称 参数含义 是否必填 参与签名参数说明
status 状态 成功:success 失败:error(不代表业务成功)
msg 状态描述
data
sign MD5签名 请查看签名算法
返回值data参数
参数名称 参数含义 是否必填 参与签名 参数说明
transactionId 平台流水号 status=success时返回
代付异步通知
提交方式:POST
接收到服务器点对点通讯时,在页面输出“OK”( 没有双引号,OK 两个字母大写 ) ,否则会重复5次发送点对点通知.
参数名称 参数含义 是否必填 参与签名参数说明
mchId 商户编号 平台分配商户号
transactionId 交易流水号
orderId 订单号 上送订单号唯一, 字符长度20
amount 订单金额 单位:元
income 入账金额 单位:元
successTime 支付成功时间 时间格式:2016-12-26 18:18:18
refCode 业务状态 详见refCode返回值
refMsg 业务描述
rejectReason 驳回理由 refCode返回值为5时有值
sign MD5签名 请查看签名算法
refCode返回值
返回值 含义
1 成功
2 失败
3 处理中
4 待处理
5 审核驳回
6 待审核
7 交易不存在
8 未知状态
注:当status=success和refCode=1同时成立时才表示转账成功
代付查询接口
提交方式:POST
提交地址:网关地址+/Payment_Order_query.html
参数名称 参数含义 是否必填 参与签名参数说明
orderId 商户订单号
mchId 商户号
sign 签名 请查看签名算法
返回值
参数名称 参数含义 是否必填 参与签名参数说明
status 状态 success:请求成功(不代表业务成功),error:请求失败
msg 状态描述
data 订单信息(数据类型:集合)
sign MD5签名 请查看签名算法
返回值data参数
参数名称 参数含义 是否必填 参与签名 参数说明
mchId 商户号 status=success时返回
orderId 商户订单号 status=success时返回
amount 金额 status=success时返回
transactionId 平台流水号 status=success时返回
refCode 业务状态 status=success时返回
refMsg 业务描述 status=success时返回
successTime 成功时间 status=success,refCode=1时返回
rejectReason 驳回理由 refCode返回值为5时有值
账户余额查询接口
提交方式:POST
接口地址:网关地址+/Payment_Order_balance.html
参数名称 参数含义 是否必填 参与签名参数说明
mchId 商户编号 平台分配商户号
sign MD5签名 请查看签名算法
返回值
参数名称 参数含义 是否必填 参与签名参数说明
status 状态 success:请求成功,error:请求失败
msg 状态描述
data 余额信息
sign MD5签名 请查看签名算法
返回值data参数
参数名称 参数含义 是否必填 参与签名 参数说明
mchId 商户号 status=success时返回
balance 可提现余额 status=success时返回
blockedBalance 冻结余额 status=success时返回
通道编码
请登录商户中心,API管理 通道费率中 查看所属应用的支付通道编码。