|
alipay.trade.order.settle(统一收单交易结算接口) 用于在线下场景交易支付后,进行结算 公共参数请求地址环境 | 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 |
|
|