资金原路退回,如将红包中未领取的金额退还给红包发送者
| 环境 | HTTPS请求地址 |
|---|---|
| 正式环境 | https://openapi.alipay.com/gateway.do |
| 参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
| app_id | String | 是 | 32 | 支付宝分配给开发者的应用ID | 2014072300007148 |
| method | String | 是 | 128 | 接口名称 | alipay.fund.coupon.order.refund |
| format | String | 否 | 40 | 仅支持JSON | JSON |
| charset | String | 是 | 10 | 请求使用的编码格式,如utf-8,gbk,gb2312等 | utf-8 |
| sign_type | String | 是 | 10 | 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 | RSA2 |
| sign | String | 是 | 256 | 商户请求参数的签名串,详见签名 | 详见示例 |
| timestamp | String | 是 | 19 | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" | 2014-07-24 03:07:50 |
| version | String | 是 | 3 | 调用的接口版本,固定为:1.0 | 1.0 |
| notify_url | String | 否 | 256 | 支付宝服务器主动通知商户服务器里指定的页面http/https路径。 | http://api.test.alipay.net/atinterface/receive_notify.htm |
| app_auth_token | String | 否 | 40 | 详见应用授权概述 | |
| biz_content | String | 是 | - | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 |
| 参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
| auth_no | String | 必须 | 64 | 支付宝的资金授权订单号,即之前发红包时产生的支付宝订单号 | 2014070800002001550000014417 |
| out_request_no | String | 必须 | 64 | 商户本次资金操作的请求流水号
同一商户每次不同的资金操作请求,商户请求流水号不要重复 |
8077735255634078 |
| amount | Price | 必须 | 11 | 需要退款的金额,单位为:元(人民币),精确到小数点后两位
取值范围:[0.01,100000000.00] |
10.00 |
| remark | String | 必须 | 100 | 商户对本次退款操作的附言描述,长度不超过100个字母或50个汉字 | 红包退款 |
| 参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
| code | String | 是 | - | 网关返回码,详见文档 | 40004 |
| msg | String | 是 | - | 网关返回码描述,详见文档 | Business Failed |
| sub_code | String | 否 | - | 业务返回码,详见文档 | ACQ.TRADE_HAS_SUCCESS |
| sub_msg | String | 否 | - | 业务返回码描述,详见文档 | 交易已被支付 |
| sign | String | 是 | - | 签名,详见文档 | DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo= |
| 参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
| auth_no | String | 必填 | 64 | 支付宝资金授权订单号 | 2014070800002001550000014417 |
| out_order_no | String | 必填 | 64 | 商户的授权资金订单号 | 8077735255938023 |
| operation_id | String | 必填 | 64 | 支付宝资金操作流水号 | 2014070800032850551 |
| out_request_no | String | 必填 | 64 | 商户本次资金操作的请求流水号 | 20140707001555633 |
| amount | Price | 必填 | 11 | 本次操作退款的金额,单位为:元(人民币),精确到小数点后两位,取值范围:[0.01,100000000.00] | 10.00 |
| status | String | 必填 | 20 |
资金操作流水的状态
目前支持: INIT:初始 SUCCESS:成功 CLOSED:关闭 |
SUCCESS |
| gmt_trans | String | 必填 | 20 | 授权资金退款成功时间,格式:YYYY-MM-DD HH:MM:SS | 2014-09-15 11:23:04 |
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
AlipayFundCouponOrderRefundRequest request = new AlipayFundCouponOrderRefundRequest();
request.setBizContent("{" +
"\"auth_no\":\"2014070800002001550000014417\"," +
"\"out_request_no\":\"8077735255634078\"," +
"\"amount\":10.00," +
"\"remark\":\"红包退款\"" +
" }");
AlipayFundCouponOrderRefundResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}
{
"alipay_fund_coupon_order_refund_response":{
"msg":"Success",
"amount":10.00,
"code":"10000",
"gmt_trans":"2014-09-15 11:23:04",
"out_order_no":"8077735255938023",
"operation_id":"2014070800032850551",
"out_request_no":"20140707001555633",
"auth_no":"2014070800002001550000014417",
"status":"SUCCESS"
},
"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
{
"alipay_fund_coupon_order_refund_response":{
"msg":"Service Currently Unavailable",
"code":"20000",
"sub_msg":"系统繁忙",
"sub_code":"isp.unknow-error"
},
"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
| 错误码 | 错误描述 | 解决方案 |
|---|---|---|
| SYSTEM_ERROR | 系统繁忙 | 请使用相同的参数再次调用 |
| UNIQUE_VIOLATION | 退款失败,商户本次资金操作的请求流水号与之前有重复 | 更换商户的授权资金请求流水号后,重新发起请求 |
| ILLEGAL_ARGUMENT | 参数有误 | 请求参数有错,重新检查请求后,再重新发起 |
| ILLEGAL_STATUS | 订单状态非法 | 根据商户授权单号查询对应的支付宝交易信息,查看交易状态,看是否已到FINISH或CLOSED |
| MONEY_NOT_ENOUGH | 本次操作退款的金额超过剩余可退款金额 | 修改本次退款金额 |
| AUTH_ORDER_NOT_EXIST | 没有找到红包对应的订单模型 | 请检查传入的支付宝授权订单号,看是否传错 |
| ACCESS_FORBIDDEN | 支付失败,对应商户没有权限使用该产品 | 商户对应合同可能已到期,请重新签约 |
| 通知类型 | 描述 | 默认开启 |
|---|---|---|
| fund_stdtrustee_refund.closed | 资金授权退款关闭 | 0 |
| fund_stdtrustee_refund.success | 资金授权退款成功 | 1 |
| 参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
| auth_no | String | 选填 | - | 支付宝资金授权订单号 | |
| out_order_no | String | 选填 | - | 商户的资金授权订单号 | |
| operation_id | String | 选填 | - | 支付宝资金操作流水号 | |
| out_request_no | String | 选填 | - | 商户资金操作流水号 | |
| operation_type | String | 选填 | - | 资金操作类型,支持【PAY,REFUND】 | |
| amount | String | 选填 | - | 本次操作金额 | |
| status | String | 选填 | - | 本次资金操作流水状态,支持【INIT,SUCCESS,CLOSED】 | |
| gmt_create | String | 选填 | - | 操作创建时间 | |
| gmt_trans | String | 选填 | - | 操作处理完成时间 | |
| payer_logon_id | String | 选填 | - | 付款方支付宝登录号 | |
| payer_user_id | String | 选填 | - | 付款方支付宝账号UID |
https://www.merchant.com/receive_notify.htm?notify_type=trade_status_sync¬ify_id=91722adff935e8cfa58b3aabf4dead6ibe¬ify_time=2017-02-16 21:46:15&sign_type=RSA2&sign=WcO+t3D8Kg71dTlKwN7r9PzUOXeaBJwp8/FOuSxcuSkXsoVYxBpsAidprySCjHCjmaglNcjoKJQLJ28/Asl93joTW39FX6i07lXhnbPknezAlwmvPdnQuI01HZsZF9V1i6ggZjBiAd5lG8bZtTxZOJ87ub2i9GuJ3Nr/NUc9VeY=&auth_no=null&out_order_no=null&operation_id=null&out_request_no=null&operation_type=null&amount=null&status=null&gmt_create=null&gmt_trans=null&payer_logon_id=null&payer_user_id=null