alipay.fund.coupon.order.disburse(红包打款接口) 在线调试(沙箱环境)

将某一个红包进行拆解并打款给用户,即用户领取红包

公共参数

请求地址

环境HTTPS请求地址
正式环境 https://openapi.alipay.com/gateway.do

公共请求参数

参数 类型 是否必填最大长度描述示例值
app_id String 32 支付宝分配给开发者的应用ID 2014072300007148
method String 128 接口名称 alipay.fund.coupon.order.disburse
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
notify_url String 256 支付宝服务器主动通知商户服务器里指定的页面http/https路径。 http://api.test.alipay.net/atinterface/receive_notify.htm
app_auth_token String 40 详见应用授权概述
biz_content String 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档

请求参数

参数 类型 是否必填 最大长度 描述 示例值
out_order_no String 必选 64 商户的授权资金订单号
同一商户不同的订单,商户授权资金订单号不能重复
8077735255938023
deduct_auth_no String 特殊可选 64 发放红包时产生的支付宝资金订单号。deduct_auth_no与下面的deduct_out_order_no不能同时为空,二者都存在时,以deduct_auth_no为准。为了保证支付的高效,建议商户传入deduct_auth_no。 2014031600002001260000001024
deduct_out_order_no String 特殊可选 64 发放红包时的商户授权资金订单号。deduct_out_order_no与上面的deduct_auth_no不能同时为空,二者都存在时,以deduct_auth_no为准。为了保证支付的高效,建议商户传入deduct_auth_no。 8077735255937028
out_request_no String 必选 64 商户本次资金操作的请求流水号
同一商户每次不同的资金操作请求,商户请求流水号不要重复
8077735255634078
order_title String 必选 100 业务订单的简单描述,如商品名称等
长度不超过100个字母或50个汉字
红包打款
amount Price 必选 11 需要支付的金额,单位为:元(人民币),精确到小数点后两位
取值范围:[0.01,100000000.00]
100.00
payee_user_id String 特殊可选 32 收款方的支付宝唯一用户号,以2088开头的16位纯数字组成 2088102138117431
payee_logon_id String 特殊可选 100 收款方的支付宝登录号,形式为手机号或邮箱等 alitest@alipay.com
pay_timeout String 可选 5 该笔订单允许的最晚付款时间,逾期将关闭该笔订单
取值范围:1m~7d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m,如果为空,默认1h
1h
extra_param String 可选 300 业务扩展参数,用于商户的特定业务信息的传递,json格式 {"merchantExt":"key=value"}

响应参数

参数 类型 是否必填 最大长度 描述 示例值
auth_no String 必填 64 支付宝的资金授权订单号 2014070800002001550000014417
out_order_no String 必填 64 商户的授权资金订单号 4977164666634053
operation_id String 必填 64 支付宝的资金操作流水号 2014070800032850551
out_request_no String 必填 64 商户本次资金操作的请求流水号 2014070700166653
amount Price 必填 11 本次支付的金额,单位为:元(人民币),精确到小数点后两位 100.00
status String 必填 20 资金预授权明细的状态
目前支持: INIT:初始
SUCCESS: 成功
CLOSED:关闭
SUCCESS
gmt_trans Date 必填 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");
AlipayFundCouponOrderDisburseRequest request = new AlipayFundCouponOrderDisburseRequest();
request.setBizContent("{" +
"\"out_order_no\":\"8077735255938023\"," +
"\"deduct_auth_no\":\"2014031600002001260000001024\"," +
"\"deduct_out_order_no\":\"8077735255937028\"," +
"\"out_request_no\":\"8077735255634078\"," +
"\"order_title\":\"红包打款\"," +
"\"amount\":100.00," +
"\"payee_user_id\":\"2088102138117431\"," +
"\"payee_logon_id\":\"alitest@alipay.com\"," +
"\"pay_timeout\":\"1h\"," +
"\"extra_param\":\"{\\\"merchantExt\\\":\\\"key=value\\\"}\"" +
"  }");
AlipayFundCouponOrderDisburseResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}

响应示例

{
    "alipay_fund_coupon_order_disburse_response": {
        "code": "10000",
        "msg": "Success",
        "auth_no": "2014070800002001550000014417",
        "out_order_no": "4977164666634053",
        "operation_id": "2014070800032850551",
        "out_request_no": "2014070700166653",
        "amount": 100,
        "status": "SUCCESS",
        "gmt_trans": "2014-09-15 11:23:04"
    },
    "sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}

异常示例

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

业务错误码

公共错误码

错误码错误描述解决方案
SYSTEM_ERROR 系统繁忙 请使用相同的参数再次调用
EXIST_FORBIDDEN_WORD 下单失败,订单信息中包含违禁词,请修改订单信息 修改订单信息后,重新发起请求
UNIQUE_VIOLATION 下单失败,商户订单号重复 更换商户的授权资金订单号后,重新发起请求
ILLEGAL_ARGUMENT 参数有误 请求参数有错,重新检查请求后,再重新发起
ILLEGAL_STATUS 订单状态非法 根据商户授权单号查询对应的支付宝交易信息,查看交易状态
MONEY_NOT_ENOUGH 本次打款的金额超过剩余金额 修改打款金额
PAYEE_NOT_EXIST 收款方支付宝账户不存在 检查是否收款方支付宝uid有误
PAYEE_USER_STATUS_LIMIT 收款方支付宝账户受限 收款方支付宝账户受限,请登录支付宝认证升级,详情咨询95188
ACCESS_FORBIDDEN 支付失败,对应商户没有权限使用该产品 商户对应合同可能已到期,请重新签约
AUTH_ORDER_NOT_EXIST 入参有误,导致红包对应的订单不存在 入参中,发放红包时产生的支付宝资金订单号或商户订单号是否传入有误,导致找不到红包数据
ORDER_ALREADY_FINISH 本笔支付订单已经完结,无法再进行资金操作 更换商户授权资金订单号后,重新发起请求
ORDER_ALREADY_CLOSED 支付失败,本笔支付订单已关闭 更换商户授权资金订单号后,重新发起请求

触发通知类型

通知类型描述默认开启
fund_auth_pay 资金授权支付成功 1
fund_auth_pay.closed 资金授权订单关闭 0
fund_auth_pay.init 资金授权订单创建 0

触发通知示例

https://www.merchant.com/receive_notify.htm?notify_type=trade_status_sync&notify_id=91722adff935e8cfa58b3aabf4dead6ibe&notify_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&payee_logon_id=null&payee_user_id=null
onlineServer