Appearance
网关付款码聚合支付接口 ¶
提示
业务系统通过直接传输付款码,系统自动识别付款码类型后,根据后台网关支付的配置的通道和支付方式进行处理,完成付款码的支付流程。
接口说明 ¶
参数 | 说明 |
---|---|
请求URL | /unipay/gateway/aggregateBarPay |
请求方式 | POST |
请求类型 | application/json |
请求参数 ¶
业务参数 ¶
提示
设置参数时,不要忘了设置公共请求参数调用说明,未做特殊说明所有接口都需要传输
字段名 | 变量名 | 必填 | 类型 | 长度 | 示例值 | 描述 |
---|---|---|---|---|---|---|
商户订单号 | bizOrderNo | 是 | String | 100 | 123 | 支付时客户系统传输的业务单号,需要保证唯一,可以为字符文字组合,不要包含特殊符号,订单号不可重复 |
支付标题 | title | 是 | String | 100 | 测试支付 | |
付款码 | authCode | 否 | String | 128 | 6117665200152 | 被扫支付方式所需要传输的参数 |
终端设备编码 | terminalNo | 否 | String | 128 | Hvbvdfg | 使用被扫支付方式,部分通道要求传输扫码终端号,此处的设备为在Daxpay中管理并进行报备的终端 |
支付描述 | description | 否 | String | 500 | 测试支付的描述 | |
开启分账 | allocation | 否 | Boolean | true | 订单是否允许分账,不传输为不开启 | |
开启自动分账 | autoAllocation | 否 | Boolean | false | 是否自动对支付订单进行分账,需要开启分账字段为true才会生效 | |
过期时间 | expiredTime | 否 | Long | 2024-10-24 12:00:00 | 订单过期时间,格式为yyyy-MM-dd HH:mm:ss,不传输为默认值,默认为当前时间往后加24小时。 | |
限制用户支付类型 | limitPay | 否 | String | 128 | no_credit | 限制用户支付类型, 目前支持限制信用卡,部分通道才会有效,见常量和状态表限制支付类型 |
支付金额 | amount | 是 | BigDecimal | 8,2 | 10.12 | 要进行支付的金额,单位为元,保留两位小数,小数buff末尾不可为0 |
附加支付参数 | extraParam | 否 | String | 2048 | 主要用于传输各通道特有的参数数据 | |
商户扩展参数 | attach | 否 | String | 500 | id=123332 | 商户扩展参数,回调时会原样返回 |
异步通知地址 | notifyUrl | 否 | String | 200 | http://abc.cn/noticeCallback | 异步通知地址,用于商户系统接收回调消息通知 |
响应结果 ¶
业务响应参数 ¶
提示
业务数据包裹在公共响应参数
中的data
字段,在code
为0
时才会有返回数据。
字段名 | 变量名 | 必传 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
网关支付链接 | url | 否 | String | https://daxpay.cn/gateway/cashier/M1723635576766/M8207639754663343 | |
收银台发起信息 | payBody | 否 | String | 暂时未使用 |
HTTP请求示例 ¶
请求参数 ¶
json
{
"bizOrderNo" : "SDK_1744355882930",
"title" : "测试聚合付款码支付",
"description" : "这是支付备注",
"authCode" : "66888",
"terminalNo" : "66888",
"allocation" : false,
"amount" : 0.01,
"attach" : "{回调参数}",
"notifyUrl" : "http://127.0.0.1:10880/test/callback/notify",
"mchNo" : "M1723635576766",
"appId" : "M8207639754663343",
"clientIp" : "127.0.0.1",
"sign" : "59525a1c1c503257b0dbb32dba02afe4",
"reqTime" : "2025-04-11 15:18:02"
}
响应参数(成功) ¶
json
{
"code": 0,
"msg": "success",
"data": {
"bizOrderNo": "SDK_1744185809447",
"orderNo": "DEV_P2025040916033370000024",
"status": "success"
},
"sign": "4a1308f097398c01c06a84ef11fc6eba",
"resTime": "2025-04-09 16:03:35",
"traceId": "foX7glq8rSMg"
}
响应参数(失败) ¶
json
{
"code": 20080,
"msg": "不支持的条码类型",
"sign": "061d3dd13a6f9bc5b1d62322d2398f1a",
"resTime": "2025-04-11 15:17:13",
"traceId": "4zXFpI0ZkBQM"
}
SDK请求示例 ¶
提示
使用SDK可以简化接入支付的速度
java
public void aggregateBarPay(){
AggregateBarPayParam param = new AggregateBarPayParam();
param.setClientIp("127.0.0.1");
param.setBizOrderNo("SDK_"+ System.currentTimeMillis());
param.setTitle("测试聚合付款码支付");
param.setDescription("这是支付备注");
param.setAmount(BigDecimal.valueOf(0.01));
param.setAttach("{回调参数}");
param.setAllocation(false);
param.setTerminalNo("66888");
param.setAuthCode("66888");
param.setNotifyUrl("http://127.0.0.1:19999/test/callback/notify");
DaxResult<PayResult> execute = DaxPayKit.execute(param);
// 验签
System.out.println("验签结果: " + DaxPayKit.verifySign(execute));
System.out.println(JsonUtil.toJsonStr(execute));
}