统一收单接口

功能概述

商户发送请求参数给首信易支付,并接收同步返回的支付信息,用支付信息拉起对应支付方式,并在订单终态后接收异步通知结果。

接口地址

https://apis.5upay.com/onlinePay/order

参数名称 参数中文名称 类型& 长度 参数说明 是否必填
merchantId 商户编号 varchar(9) 商户在首信易系统的唯一id,可在商户后台查看 M
orderAmount 订单金额 varchar(18) 单位:分,1元=100分 M
orderCurrency 订单币种 varchar(15) 默认CNY(人民币) M
requestId 订单号 varchar(50) 订单号为商户自行拟定,提交的订单号必须在自身平台交易中唯一。首信易支付系统已付或撤销的订单,商户平台不能以相同的订单号再次提交。 M
partnerId 服务商id varchar(9) 服务商在首信易系统的唯一id,可在商户后台查看 C
notifyUrl 通知地址 varchar(200) 服务器通知:当订单状态为终态后首信易服务器会向该地址发送通知,该地址可以带参数,如:http://www.5upay.com/callback.action?test=test。 M
callbackUrl 回调地址 varchar(200) 页面回调:支付成功后会向该地址进行跳转,callbackUrl返回的参数只有:merchantId,requestId.
callbackUrl返回格式示例:
https://demo.5upay.com/sdk/callback?requestId=1446633831896&merchantId=890000593
M
remark 备注 varchar(300) 商户在首信易为订单进行备注,通过支付结果返回商户 O
paymentModeCode 支付方式编码 varchar(50) 非收银台模式需要传入此项,易码付:SCANCODE-EQRCODE_PAY C
productDetails 商品信息 Json(数组) 支付商品信息,见下表 M
payer 身份信息 Json 此json可空,但不可将此参数整个去掉,可按以下格式传入接口: “payer”:{“idType“: ”IDCARD”},详见下表 M
clientIp 客户端IP varchar(100) 传递客户端外网IP(需商户收集用户的ip) M
timeout 订单超时时间 Int(4) 此参数用于设置订单的超时时间(需小于等于24小时),如:输入10,该订单将在10min后过期。应根据商户自身场景设置,分钟为单位 O
hmac 参数签名 varchar(500) 商户生成的参数签名结果,获取hmac的方法请参考请求加密流程 M

注意:以上参数值中不能包含以下特殊字符 ' " & < > ( ) 空格

请求参数(productDetails,商品信息)

参数名称 参数中文名称 类型& 长度 参数说明 是否必填
name 商品名称 varchar(500) 商品名称,需传递真实产品名称。 M
quantity 商品数量 long 商品数量 M
amount 商品单价 long 单位:分,1元=100分,此项为单个商品的价格。 M
receiver 收款人 varchar(200) 收款人名称(如果为空的话自动取注册名称) O
description 商品描述 varchar(500) 商品描述 O

请求参数(payer,身份信息)

参数名称 参数中文名称 类型& 长度 参数说明 是否必填
name 付款方名称 varchar(100) 付款方名称 C
phoneNum 手机号码 varchar(50) 手机号码 C
idType 证件类型 varchar(20) IDCARD 身份证 C
idNum 证件号码 varchar(100) 目前只接受18位身份证号码 C
bankCardNum 银行卡号 varchar(100) 银行卡号,银联wap支付方式可以选择传递此参数 O
email 邮箱 varchar(50) 邮箱 O

参数示例

{ "callbackUrl": "https://**.***.com/**/***", "clientIp": "10.101.10.10", "hmac": null, "merchantId": "890000593", "notifyUrl": "https://**.***.com/**/***", "orderAmount": "1", "orderCurrency": "CNY", "payer": { "bankCardNum": "6222**********5702", "email": "****@**.com", "idNum": "*****", "idType": "IDCARD", "name": "付款人姓名", "phoneNum": "******" }, "paymentModeCode": "BANK_CARD-B2C-ICBC-P2P", "productDetails": [{ "amount": "20000", "description": "黑色64G", "name": "IPHONE6", "quantity": "100", "receiver": "张三" }], "remark": "备注", "requestId": "1488794408626", "timeout": "10" }

请求同步返回参数列表

参数名称 参数中文名称 参数说明
merchantId 商户编号 同请求参数
requestId 订单号 同请求参数
partnerId 服务商Id 同请求参数
status 请求状态 SUCCESS 成功,请求已接收
FAILED 失败
ERROR 错误(此状态的返回参数见异常情况说明)
REDIRECT 重定向
realBankRequestNumber 银行订单号 银行订单号
redirectUrl 重定向地址 当status为REDIRECT时,用户重定向访问的地址
scanCode Base64二维码 当status为SUCCESS,Base64格式的二维码,需商户转换成图片,此项为扫码直连返回的参数。
hmac 参数签名 首信易生成的参数签名结果,验签过程请参考解密流程

示例

{ "redirectUrl": "https://***.*****.com/****/**", "merchantId": "890000593", "requestId": "1**********8", "hmac": "null", "status": "REDIRECT" }

订单异步返回参数列表

注意:此表格的参数为NotifyUrl的服务器返回参数

参数名称 参数中文名称 参数说明
merchantId 商户编号 同请求参数
requestId 订单号 同请求参数
partnerId 服务商Id 同请求参数
serialNumber 交易流水号 交易流水号
totalRefundCount 已退款次数 该支付订单共计退款次数
totalRefundAmount 已退款金额 该支付订单共计退款金额
orderCurrency 订单币种 默认人民币CNY
orderAmount 订单金额 单位:分,1元=100分
status 状态 SUCCESS成功
CANCEL取消
FAILED失败
completeDateTime 完成时间 支付完成时间
clearingOrg 清算机构 NUCC 网联
UNION_PAY 银联
paymentModeAlias 支付方式 SCANCODE-EQRCODE_PAY-WEBOX 易码付-微包
SCANCODE-EQRCODE_PAY-UNION 易码付-云闪付
realBankSerialNumber 银行流水号 银行流水号
realBankRequestNumber 银行订单号 银行订单号
errorMessage 错误信息 错误信息
remark 备注 在下单请求中提交的备注信息,返回给商户
hmac 参数签名 首信易生成的参数签名结果,验签过程请参考解密流程

示例

{ "totalRefundCount": "0", "serialNumber": "832f3f1bdab749849fd5bcf46d3ff7e3", "orderAmount": "1000", "orderCurrency": "CNY", "merchantId": "890000593", "requestId": "********", "hmac": "......", "bindCardId": "", "remark": "备注", "totalRefundAmount": "0", "status": "SUCCESS" }