收发现金红包——alipay.fund.coupon.order.disburse(红包打款接口)

简介: 接口名称:红包打款接口英文名称:alipay.fund.coupon.order.disburse产品首页:[url]https://openclub.alipay.com/read.php?tid=12180&fid=72[/url]上一步:[url]https://openclub.alipay.com/read.php?tid=13602&fid=72[/url]下一步:[url]https://openclub.alipay.com/read.php?tid=13610&fid=72[/url]一、注意事项1、用户领取红包,通过打款接口实现。

接口名称:红包打款接口

英文名称:alipay.fund.coupon.order.disburse

产品首页:[url]https://openclub.alipay.com/read.php?tid=12180&fid=72[/url]

上一步:[url]https://openclub.alipay.com/read.php?tid=13602&fid=72[/url]

下一步:[url]https://openclub.alipay.com/read.php?tid=13610&fid=72[/url]

一、注意事项

1、用户领取红包,通过打款接口实现。

2、若是想实现拆分红包用户分别领取(领取红包A+领取红包B+……+领取红包n<=总红包)。

3、打款接口调用频次:每秒要小于100次;

4、打款接口的发送的异步通知是通过红包打款接口设置的notify_url地址进行接收;

5、使用调用逻辑中,假设支付接口选择红包页面支付接口,且参数设置out_order_no为2017122716463224,out_request_no为201712271645328,其他参数一致。

二、参数说明

1、out_order_no: 商户的授权资金订单号,同一商户不同的订单,不可重复,保持唯一性;

注:打款接口的out_order_no与支付接口的out_order_no不可重复,保持唯一性。

2、out_request_no:商户本次资金操作的请求流水号,同一商户每次不同的资金操作请求,商户请求流水号不要重复;

注:out_order_no不相同的情况下,out_request_no参数值相同可调用成功,建议记录out_order_no参数为准。

3、deduct_auth_no与deduct_out_order_no不能同时为空:

deduct_auth_no::发放红包时产生的支付宝资金订单号(支付接口返回的auth_no);

deduct_out_order_no:发放红包时的商户授权资金订单号(支付接口设置的out_order_no);

4、payee_user_id:收款方支付宝唯一用户号——pid(根据设置的pid,红包金额转入对应账户内);

三、接口请求示例

JAVA版请求示例

1、A用户领取红包

public static void main(String[] args) throws AlipayApiException {
        //在SDK调用前需要进行初始化
		AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
		AlipayFundCouponOrderDisburseRequest request = new AlipayFundCouponOrderDisburseRequest();
		AlipayFundCouponOrderDisburseModel model = new AlipayFundCouponOrderDisburseModel();
        //商户的授权资金订单号,同一商户不同的订单,商户授权资金订单号不能重复
		model.setOutOrderNo("20171228925");
		//本次资金操作的请求流水号,同一商户每次不同的资金操作请求
		model.setOutRequestNo("201712271645335");
        //发放红包时产生的支付宝资金订单号。deduct_auth_no与下面的deduct_out_order_no不能同时为空
        //二者都存在时,以deduct_auth_no为准
        //model.setDeductAuthNo("");
		//该参数为支付接口的OutOrderNo与OutOrderNo
        model.setDeductOutOrderNo("2017122716463224");
        model.setOrderTitle("红包打款");
        model.setAmount("0.01");
        //收款方的支付宝唯一用户号
        model.setPayeeUserId("用户2088开头的信息(此处脱敏)");
        //收款方的支付宝登录号,形式为手机号或邮箱等
       // model.setPayeeLogonId("手机号");
        //该笔订单允许的最晚付款时间,逾期将关闭该笔订单 .取值范围:1m~7d
        model.setPayTimeout("1h");
        request.setBizModel(model);
		AlipayFundCouponOrderDisburseResponse response = alipayClient.execute(request);
		if(response.isSuccess()){
		System.out.println("调用成功");
		} else {
		System.out.println("调用失败");
		}
		System.out.println(response.getBody());
}

2、B用户领取红包

当第二个人领取红包时,参数注意如下:

1、out_order_no:(需改变)为同一商户不同订单的授权资金订单号;

2、out_request_no:为本次交易,资金操作的请求流水号,是否重复都可以调用成功(但建议不要重复);

若out_order_no未改变时,报错UNIQUE_VIOLATION:下单失败,商户订单号重复。

public static void main(String[] args) throws AlipayApiException {
        //在SDK调用前需要进行初始化
		AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, AlipayConfig.format, AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
		AlipayFundCouponOrderDisburseRequest request = new AlipayFundCouponOrderDisburseRequest();
		AlipayFundCouponOrderDisburseModel model = new AlipayFundCouponOrderDisburseModel();
        //商户的授权资金订单号,同一商户不同的订单,商户授权资金订单号不能重复
		model.setOutOrderNo("20171228926");
		//本次资金操作的请求流水号,同一商户每次不同的资金操作请求
		model.setOutRequestNo("201712271645335");
        //发放红包时产生的支付宝资金订单号。deduct_auth_no与下面的deduct_out_order_no不能同时为空
        //二者都存在时,以deduct_auth_no为准
        //model.setDeductAuthNo("");
		//该参数为支付接口的OutOrderNo与OutOrderNo
        model.setDeductOutOrderNo("2017122716463224");
        model.setOrderTitle("红包打款给用户B");
        model.setAmount("0.01");
        //收款方的支付宝唯一用户号
        model.setPayeeUserId("用户2088开头的信息(此处脱敏)");
        //收款方的支付宝登录号,形式为手机号或邮箱等
       // model.setPayeeLogonId("手机号");
        //该笔订单允许的最晚付款时间,逾期将关闭该笔订单 .取值范围:1m~7d
        model.setPayTimeout("1h");
        request.setBizModel(model);
		AlipayFundCouponOrderDisburseResponse response = alipayClient.execute(request);
		if(response.isSuccess()){
		System.out.println("调用成功");
		} else {
		System.out.println("调用失败");
		}
		System.out.println(response.getBody());
}


PHP版请求示例

1、A用户领取红包

<?php
require_once 'AopSdk.php';
$aop = new AopClient ();
$aop->appId = '填写您的appid';
$aop->rsaPrivateKey = '填写您的私钥';
$aop->alipayrsaPublicKey='填写您的支付宝公钥';
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='utf-8';
$aop->format='json';
$date=date("YmdHis");
$arr=range(1000,9999);
shuffle($arr);
$request = new AlipayFundCouponOrderDisburseRequest ();
$request->setBizContent("{" .
			""out_order_no":"20171228925"," .
// 			""deduct_auth_no":"2014031600002001260000001024"," .
			""deduct_out_order_no":"2017122716463224"," .
			""out_request_no":"201712271645335"," .
			""order_title":"红包打款"," .
			""amount":0.01," .
			""payee_user_id":"用户2088开头的信息(此处脱敏)"," .
// 			""payee_logon_id":"收款方登录号"," .
			""pay_timeout":"1h"" .
			"}");
$result = $aop->execute ( $request); 
var_dump($result);

2、B用户领取红包

当第二个人领取红包时,参数注意如下:

1、out_order_no:(需改变)为同一商户不同订单的授权资金订单号;

2、out_request_no:为本次交易,资金操作的请求流水号,是否重复都可以调用成功(但建议不要重复);

若out_order_no未改变时,报错UNIQUE_VIOLATION:下单失败,商户订单号重复。

<?php
require_once 'AopSdk.php';
$aop = new AopClient ();
$aop->appId = '填写您的appid';
$aop->rsaPrivateKey = '填写您的私钥';
$aop->alipayrsaPublicKey='填写您的支付宝公钥';
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='utf-8';
$aop->format='json';
$date=date("YmdHis");
$arr=range(1000,9999);
shuffle($arr);
$request = new AlipayFundCouponOrderDisburseRequest ();
$request->setBizContent("{" .
			""out_order_no":"20171228926"," .
// 			""deduct_auth_no":"2014031600002001260000001024"," .
			""deduct_out_order_no":"2017122716463224"," .
			""out_request_no":"201712271645335"," .
			""order_title":"红包打款给用户B"," .
			""amount":0.01," .
			""payee_user_id":"用户2088开头的信息(此处脱敏)"," .
// 			""payee_logon_id":"收款方登录号"," .
			""pay_timeout":"1h"" .
			"}");
$result = $aop->execute ( $request); 
var_dump($result);


.NET版本请求示例

IAopClient client = new DefaultAopClient(config.gatewayUrl, config.app_id, config.private_key, "json", "1.0", "RSA2", config.alipay_public_key, config.charset, false);


        AlipayFundCouponOrderDisburseRequest request = new AlipayFundCouponOrderDisburseRequest();
        request.BizContent="{" +
        ""out_order_no":"20171228925"," +
// 			""deduct_auth_no":"2014031600002001260000001024"," +
			""deduct_out_order_no":"2017122716463224"," +
			""out_request_no":"201712271645335"," +
			""order_title
目录
相关文章
|
6月前
|
数据挖掘 API 开发工具
taobao.trade.fullinfo.get 淘宝店铺订单数据接口
taobao.trade.fullinfo.get 淘宝店铺订单数据接口
|
4月前
|
前端开发
支付系统44----支付宝支付-退款查询
支付系统44----支付宝支付-退款查询
支付系统44----支付宝支付-退款查询
|
XML JSON 缓存
Java实现订单ID获取淘宝买到的订单物流数据接口方法
Java实现订单ID获取淘宝买到的订单物流数据接口方法
taobao.trade.fullinfo.get( 获取单笔交易的详细信息 )
taobao.trade.fullinfo.get( 获取单笔交易的详细信息 )
收发现金红包——alipay.fund.coupon.order.app.pay(红包无线支付接口)
接口名称:红包无线支付接口 英文名称:alipay.fund.coupon.order.app.pay 产品首页:[url]https://openclub.alipay.com/read.php?tid=12180&fid=72[/url] 下一步:[url]https://openclub.alipay.com/read.php?tid=13609&fid=72[/url] 一、注意事项 1、适用于用户在手机移动端商户app中进行红包的发放,可以通过唤起支付宝app进行支付。
2042 12
收发现金红包——alipay.fund.coupon.order.refund(红包退回接口)
接口名称:红包退回接口 英文名称:alipay.fund.coupon.order.refund 产品首页:[url]https://openclub.alipay.com/read.php?tid=12180&fid=72[/url] 上一步:[url]https://openclub.alipay.com/read.php?tid=13609&fid=72[/url] 下一步:[url]https://openclub.alipay.com/read.php?tid=13612&fid=72[/url] 一、注意事项 1、未领取的红包,可通过红包退回接口。
1090 12
收发现金红包之-红包退回接口(alipay.fund.coupon.order.refund)
资金原路退回,如将红包中未领取的金额退还给红包发送者,参数详情点击参考文档 我这边分享一下java版的示例供大家参考,适用于jdk版本1.5及以上的开发环境  1.代码示例: AlipayFundCouponOrderRefund{ public static void main(Str...
732 12
收发现金红包之-红包协议支付接口(alipay.fund.coupon.order.agreement.pay)
商户签署无密支付协议,然后通过代扣的方式发红包,参数详情点击参考文档 我这边分享一下java版的示例供大家参考,适用于jdk版本1.5及以上的开发环境 ,sdk可点击下载  2.代码示例:  /** * */ /** * @author wb-jm273093 * */ package alipay.
843 12
收发现金红包——alipay.fund.coupon.operation.query(红包明细查询接口)
接口名称:红包明细查询接口 英文名称:alipay.fund.coupon.operation.query 产品首页:[url]https://openclub.alipay.com/read.php?tid=12180&fid=72[/url] 上一步:[url]https://openclub.alipay.com/read.php?tid=13610&fid=72[/url] 一、注意事项 1、提供两种方式查询红包明细 (1)通过支付宝订单号和操作流水号查询,该查询方式效率高,建议尽可能使用该方式; (2)通过商户订单号和操作流水号查询,该查询方式效率低,不建议使用。
831 12
|
JSON 数据格式
收发现金红包——alipay.fund.coupon.order.page.pay(红包页面支付接口)
接口名称:红包页面支付接口 英文名称:alipay.fund.coupon.order.page.pay 产品首页:[url]https://openclub.alipay.com/read.php?tid=12180&fid=72[/url] 下一步:[url]https://openclub.alipay.com/read.php?tid=13609&fid=72[/url] 一、注意事项 1、适用于用户在商户PC网页进行红包的发放,付款时会链接到支付宝PC登录页面进行登录和后续的支付,在支付成功后跳转回商户页面。
1022 12