收发现金红包集成流程

来自    其他 | 
作者:符栖  |  更新于:2019-01-02 11:03:30     

该产品用于为用户发红包,主要应用于用户与用户互发红包和企业给用户发送红包。

一、文档地址

官方文档地址:https://docs.open.alipay.com/301/106169/

二、接口开发前准备工作

调用步骤:https://openclub.alipay.com/read.php?tid=12194&fid=69

注意事项:1、不支持沙箱测试;2、需(企业认证账户)签约并添加功能;3、支持第三方调用。

如何签约以及签约无法成功等相关签约问题https://openclub.alipay.com/read.php?tid=276&fid=72

检查调用appid的应用功能列表中是否添加收发现金红包并显示“已签约”

三、注意事项

1、使用场景

收发现金红包场景分为2种:用户之间互发红包或商户给用户发红包提供方式。

C2C(用户对用户模式)

(1)红包页面支付接口:用户在PC收银台进行支付红包金额。

(2)红包无线支付接口:用户在移动端收银台进行支付红包金额。

B2C(商户对用户模式)

红包协议支付接口:商户调用接口直接在自己账户内扣除红包金额。

2、3种红包支付接口说明

(1)红包页面支付接口:alipay.fund.coupon.order.page.pay

适用于用户在商户PC网页进行红包的发放,付款时会链接到支付宝PC登录页面进行登录和后续的支付,在支付成功后跳转回商户页面。

红包无线支付接口调用的方法使用pageExecute(),进行访问请求。

(2)红包无线支付接口:alipay.fund.coupon.order.app.pay

适用于用户在手机移动端进行支付。

红包无线支付接口调用的方法使用sdkExecute(),返回数据与app支付服务端生成请求参数类似,由客户端发起请求访问支付。

(3)红包协议支付接口:alipay.fund.coupon.order.agreement.pay

适用于商户支付红包金额进行发送红包。

注:(1)发送红包时,只需要调用其中一个红包支付接口;

      (2)这3个接口为红包支付接口,用户领取红包需调用红包打款接口;

      (3)使用红包支付接口支付的金额是到支付宝的第三方资金池内,不会收单到商户账户内。

3、如何在H5页面进行发送红包

(1)在支付宝app外进行H5页面的收发现金红包,只能通过红包协议支付接口实现;

注:需提前了解红包协议支付接口是商户调用接口在自己账户内扣除红包金额。

(2)在支付宝app内进行H5页面的收发现金红包,如生活号,可通过红包无线支付接口和红包协议支付接口实现;

红包无线支付接口可通过js+api方式进行唤起支付宝支付:https://myjsapi.alipay.com/jsapi/native/trade-pay.html

参考文档中的“无支付宝交易号唤起支付”示例代码。

4、付款后,若未领取红包怎么办

支付完成后,若是48小时未调用打款接口,资金将会从支付宝第三方资金池内进行原路返回退款。

:当收发现金红包支付宝超时自动退款是有异步通知的,通知地址是支付接口的异步通知地址。

5、如何获取payee_user_id参数值

payee_user_id:收款方的支付宝唯一用户号,以2088开头的16位纯数字组成;

用户领取红包时需在红包打款接口中设置payee_user_id,该参数值可通过用户信息授权或者调用“APP支付宝登录”接口获得用户支付宝UID,用户领取成功后调用打款接口,资金打款到用户对应支付宝账户。

6、提供两种方式查询红包明细

(1)通过支付宝订单号和操作流水号查询,该查询方式效率高,建议尽可能使用该方式;

(2)通过商户订单号和操作流水号查询,该查询方式效率低,不建议使用。

四、接口集成流程

Java示例及demo:https://openclub.alipay.com/read.php?tid=12147&fid=72

五、常见接口报错

1、Q:收发现金红包,发红包单笔限额最大可以设为多少?

A:发红包单笔限额最大为200元。 

 

2、Q:协议支付接口有并发量限制吗?

A:目前同个账号出资的是 20 /秒, 可以用同个外部订单重试,做下访问的流量控制。

注意两个点:

同一个账户扣款,tps不能高于20

一笔扣款,发的红包数,红包数不要高于200。

 

3、Q:AUTH_OPERATION_NOT_EXIST

A:此错误含义是支付宝资金操作流水不存在,请检查传入参数中的支付宝的授权资金操作流水号或商户的授权资金操作流水号,修改后重新发起请求查询。

 

4、Q:PAY_INPROCESS

A:此错误含义是支付处理中,请请使用相同的参数再次调用。

 

5、Q:UNIQUE_VIOLATION

A:此错误码含义是下单失败,商户订单号重复,更换商户的授权资金订单号后,重新发起请求。 

 

6、Q:OPERATION_ALREADY_CLOSED

A:此错误码含义是支付失败,本笔支付订单已关闭。更换商户授权资金订单号后(out_order_no),重新发起请求。

 

7、Q:PAYER_NOT_EXIST

A:此错误码含义是付款方支付宝账户不存在,请检查是否付款方支付宝uid是否正确。

 

8、Q:PAYER_USER_STATUS_LIMIT

A:此错误码含义是用户账户暂时无法支付,请付款方支付宝账户受限,请登录支付宝认证升级,有疑问请咨询95188,谢谢合作!

 

9、Q:ORDER_ALREADY_FINISH

A:本笔支付订单已经完结,无法再进行资金操作,请调用查询确定此订单情况,若需要请更换商户授权资金订单号后,重新发起请求。

 

10、Q:USER_NOT_IN_SIGN_LIST

A:此错误码含义是付款方不在商户签约的出资账户集里,请更换付款方uid为商户关联账户uid,一般出现该报错是红包协议支付接口出现,由于payer_user_id设置错误,该参数值为调用接口appid对应的pid。

 

11、已领取的红包是否可以通过红包退回接口退还?

A:不支持,红包退款接口是用于将退款红包中未领取的金额退还给红包发送者,已发送的红包是无法退还的。

我的回复

返回顶部