商户签署无密支付协议,然后通过代扣的方式发红包
| 环境 | HTTPS请求地址 |
|---|---|
| 正式环境 | https://openapi.alipay.com/gateway.do |
| 参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
| app_id | String | 是 | 32 | 支付宝分配给开发者的应用ID | 2014072300007148 |
| method | String | 是 | 128 | 接口名称 | alipay.fund.coupon.order.agreement.pay |
| 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 | 是 | - | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 |
| 参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
| out_order_no | String | 必须 | 64 | 商户的授权资金订单号
同一商户不同的订单,商户授权资金订单号不能重复 |
8077735255938023 |
| out_request_no | String | 必须 | 64 | 商户本次资金操作的请求流水号
同一商户每次不同的资金操作请求,商户请求流水号不要重复 |
8077735255634078 |
| order_title | String | 必须 | 100 | 业务订单的简单描述,如商品名称等
长度不超过100个字母或50个汉字 |
发送红包 |
| amount | Price | 必须 | 11 | 需要支付的金额,单位为:元(人民币),精确到小数点后两位
取值范围:[0.01,100000000.00] |
100.00 |
| payer_user_id | String | 必须 | 32 | 付款方的支付宝唯一用户号,以2088开头的16位纯数字组成 | 2088102138117431 |
| pay_timeout | String | 可选 | 5 | 该笔订单允许的最晚付款时间,逾期将关闭该笔订单
取值范围:1m~7d。m-分钟,h-小时,d-天。 该参数数值不接受小数点, 如 1.5h,可转换为90m,如果为空,默认1h |
1h |
| extra_param | String | 可选 | 300 | 业务扩展参数,用于商户的特定业务信息的传递,json格式 | {"merchantExt":"key=value"} |
| 参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
| 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 | 商户的授权资金订单号 | 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");
AlipayFundCouponOrderAgreementPayRequest request = new AlipayFundCouponOrderAgreementPayRequest();
request.setBizContent("{" +
"\"out_order_no\":\"8077735255938023\"," +
"\"out_request_no\":\"8077735255634078\"," +
"\"order_title\":\"发送红包\"," +
"\"amount\":100.00," +
"\"payer_user_id\":\"2088102138117431\"," +
"\"pay_timeout\":\"1h\"," +
"\"extra_param\":\"{\\\"merchantExt\\\":\\\"key=value\\\"}\"" +
" }");
AlipayFundCouponOrderAgreementPayResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}
{
"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE",
"alipay_fund_coupon_order_agreement_pay_response":{
"msg":"Success",
"amount":100.00,
"code":"10000",
"gmt_trans":"2014-09-15 11:23:04",
"out_order_no":"4977164666634053",
"operation_id":"2014070800032850551",
"out_request_no":"2014070700166653",
"auth_no":"2014070800002001550000014417",
"status":"SUCCESS"
}
}
{
"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE",
"alipay_fund_coupon_order_agreement_pay_response":{
"msg":"Service Currently Unavailable",
"code":"20000",
"sub_msg":"系统繁忙",
"sub_code":"isp.unknow-error"
}
}
| 错误码 | 错误描述 | 解决方案 |
|---|---|---|
| SYSTEM_ERROR | 系统繁忙 | 请使用相同的参数再次调用 |
| EXIST_FORBIDDEN_WORD | 下单失败,订单信息中包含违禁词,请修改订单信息 | 修改订单信息后,重新发起请求 |
| UNIQUE_VIOLATION | 下单失败,商户订单号重复 | 更换商户的授权资金订单号后,重新发起请求 |
| ILLEGAL_ARGUMENT | 参数有误 | 请求参数有错,重新检查请求后,再重新发起 |
| ILLEGAL_STATUS | 订单状态非法 | 根据商户授权单号查询对应的支付宝交易信息,查看交易状态 |
| MONEY_NOT_ENOUGH | 用户余额不足,建议用户充值完成后再进行付款 | 买家绑定新的银行卡或者支付宝余额有钱后再发起支付 |
| ORDER_ALREADY_CLOSED | 支付失败,本笔支付订单已关闭 | 更换商户授权资金订单号后,重新发起请求 |
| ORDER_ALREADY_FINISH | 本笔支付订单已经完结,无法再进行资金操作 | 更换商户授权资金订单号后,重新发起请求 |
| PAYER_NOT_EXIST | 付款方支付宝账户不存在 | 检查是否付款方支付宝账号有误 |
| PAYER_USER_STATUS_LIMIT | 用户账户暂时无法支付,建议用户使用其他方式付款 | 付款方支付宝账户受限,请登录支付宝认证升级,详情咨询95188 |
| PAY_INPROCESS | 支付处理中 | 请使用相同的参数再次调用 |
| ERROR_BALANCE_PAYMENT_DISABLE | 余额支付功能关闭 | 请打开余额支付功能开关,然后再发起支付 |
| NO_PAYMENT_INSTRUMENTS_AVAILABLE | 没有可用支付工具 | 请给支付工具充钱或绑定新的银行卡后再发起支付 |
| ACCESS_FORBIDDEN | 支付失败,对应商户没有权限使用该产品 | 商户对应合同可能已到期,请重新签约 |
| USER_NOT_IN_SIGN_LIST | 付款方不在商户签约的出资账户集里 | 请更换付款方uid为商户关联账户uid |
| 通知类型 | 描述 | 默认开启 |
|---|---|---|
| fund_auth_pay | 资金授权支付成功 | 1 |
| fund_auth_pay.closed | 资金授权订单关闭 | 0 |
| fund_auth_pay.init | 资金授权订单创建 | 0 |
| 参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
| 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 | |
| auth_no | String | 选填 | - | 支付宝资金授权订单号 | |
| out_order_no | String | 选填 | - | 商户的资金授权订单号 |
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=&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&auth_no=null&out_order_no=null