查看: 373|回复: 0

支付宝收单交易分账接口

[复制链接]

71

主题

71

帖子

465

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
465
QQ
发表于 2018-9-14 14:49:18 | 显示全部楼层 |阅读模式
alipay.trade.order.settle(统一收单交易结算接口)[color=rgba(0, 0, 0, 0.65)]
用于在线下场景交易支付后,进行结算
公共参数请求地址
环境
HTTPS请求地址
正式环境
https://openapi.alipay.com/gateway.do
公共请求参数
参数
类型
是否必填
最大长度
描述
示例值
app_id
String
32
支付宝分配给开发者的应用ID
2014072300007148
method
String
128
接口名称
alipay.trade.order.settle
format
String
40
仅支持JSON
JSON
charset
String
10
请求使用的编码格式,如utf-8,gbk,gb2312等
utf-8
sign_type
String
10
商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2
RSA2
sign
String
344
商户请求参数的签名串,详见签名
详见示例
timestamp
String
19
发送请求的时间,格式"yyyy-MM-dd HH:mm:ss"
2014-07-24 03:07:50
version
String
3
调用的接口版本,固定为:1.0
1.0
app_auth_token
String
40
biz_content
String
请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档
请求参数
参数
类型
是否必填
最大长度
描述
示例值
out_request_no
String
必选
64
结算请求流水号 开发者自行生成并保证唯一性
20160727001
trade_no
String
必选
64
支付宝订单号
2014030411001007850000672009
royalty_parameters
OpenApiRoyaltyDetailInfoPojo[]
必选
分账明细信息
└ trans_out
String
可选
16
分账支出方账户,类型为userId,本参数为要分账的支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。
2088101126765726
└ trans_in
String
可选
16
分账收入方账户,类型为userId,本参数为要分账的支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。
2088101126708402
└ amount
Number
可选
9
分账的金额,单位为元
0.1
└ amount_percentage
Number
可选
3
分账信息中分账百分比。取值范围为大于0,少于或等于100的整数。
100
└ desc
String
可选
1000
分账描述
分账给2088101126708402
operator_id
String
可选
64
操作员id
A0001
公共响应参数
参数
类型
是否必填
最大长度
描述
示例值

code
String
-
网关返回码,详见文档
40004

msg
String
-
网关返回码描述,详见文档
Business Failed

sub_code
String
-
业务返回码,参见具体的API接口文档
ACQ.TRADE_HAS_SUCCESS

sub_msg
String
-
业务返回码描述,参见具体的API接口文档
交易已被支付

sign
String
-
DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo=

响应参数
参数
类型
是否必填
最大长度
描述
示例值
trade_no
String
必填
64
支付宝交易号
2015070921001004130000127421
请求示例
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");AlipayTradeOrderSettleRequest request = new AlipayTradeOrderSettleRequest();request.setBizContent("{" +"\"out_request_no\":\"20160727001\"," +"\"trade_no\":\"2014030411001007850000672009\"," +"      \"royalty_parameters\":[{" +"        \"trans_out\":\"2088101126765726\"," +"\"trans_in\":\"2088101126708402\"," +"\"amount\":0.1," +"\"amount_percentage\":100," +"\"desc\":\"分账给2088101126708402\"" +"        }]," +"\"operator_id\":\"A0001\"" +"  }");AlipayTradeOrderSettleResponse response = alipayClient.execute(request);if(response.isSuccess()){System.out.println("调用成功");} else {System.out.println("调用失败");}


响应示例
{    "alipay_trade_order_settle_response": {        "code": "10000",        "msg": "Success",        "trade_no": "2015070921001004130000127421"    },    "sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"}


异常示例
{    "alipay_trade_order_settle_response": {        "code": "20000",        "msg": "Service Currently Unavailable",        "sub_code": "isp.unknow-error",        "sub_msg": "系统繁忙"    },    "sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"}


业务错误码
错误码
错误描述
解决方案
ACQ.SYSTEM_ERROR
接口返回错误
请立即调用查询订单API,查询当前订单的状态,并根据订单状态决定下一步的操作
ACQ.INVALID_PARAMETER
参数无效
检查请求参数,修改后重新发起请求
ACQ.TRADE_NOT_EXIST
交易不存在
修改交易号后,重新发起请求
ACQ.TRADE_STATUS_ERROR
交易状态不合法
必须为交易成功状态才允许进行分账,请检查交易状态
ACQ.PARTNER_ERROR
应用APP_ID填写错误
请确认APP_ID的状态,如有疑问可到<a href="https://support.open.alipay.com/alipay/support/index.htm">支持中心</a>提问
ACQ.DISCORDANT_REPEAT_REQUEST
请求被篡改
与已有请求的请求流水相同,但明细信息不同,请检查请求参数后重新发起请求
ACQ.TRADE_SETTLE_ERROR
分账处理失败
检查分账明细后,重新发起请求
触发通知类型
通知类型
描述
默认开启
tradeStatus.TRADE_SUCCESS
支付成功
1

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表