开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
支付产品
私域产品
公域产品
营销产品
商家券 2.0
商家会员卡
红包
api 列表
棋盘密云
支付券
芝麻实力标
资金产品
会员产品
信用产品
安全产品
广告产品
开发 > 服务端 >  >  > 接入指南
收藏
订阅更新
我的文档
设置
接入检测
即可查看检测结果)
若有未通过的接入检测项,接口将无法调通
完成 后,商家/服务商可根据本文指引快速接入 红包
说明:
红包 仅支持自研商家通过 自研应用,调用 api 接入。不支持第三方应用代调用。
红包 暂不支持沙箱调试。
注意:支付宝将来可能会对接口、消息做优化升级,即新增接口、消息的返回参数,开发者的系统逻辑需要兼容此类升级。
c2c 红包
应用于 c2c 红包场景:a 用户在商户的 app 上发放红包并使用支付宝 app 支付;b 用户绑定支付宝账号后领取红包;超时未领取的红包资金原路退回 a 用户。
支付宝 app 发红包接口 alipay.fund.trans.app.pay
场景描述
在商户 app 上集成支付宝 app 支付 sdk,用户在商户 app上发红包时唤起支付宝客户端进行支付。
接口调用流程

接口说明
1红包支付客户端 sdk 的返回结果可用于用户交互引导,但商户服务端单据的最终的支付结果请以蚂蚁消息 为准;
2支付宝会对发起请求的时间戳进行校验,会拒绝超过一定时间段创建的请求(会基于安全的考虑进行间隔调整);
3具体接入方式可以参考以下文档:
红包无线支付 android 调用。详情 点此查看
红包无线支付 ios 调用。详情 点此查看
服务端接入方案:通过 sdk 集成接入。详情 点此查看
from 蚂蚁消息接入。详情 点此查看。(暂仅支持 http(s)方式接入,不支持 websocket 长连接方式
使用 sdk 快速接入
以 java 语言为例,调用 支付宝 app 发红包接口的示例代码如下:
关键入参
参数
类型
最大长度
必填
描述
out_biz_no
string
64

商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。
示例值:2018062800001
trans_amount
string
16

红包金额。
示例值:8.88
product_code
string
64

业务产品码,固定std_red_packet。
示例值:std_red_packet
biz_scene
string
64

业务场景,本场景固定personal_pay。
示例值:personal_pay
remark
string
200

备注。
示例值:拼手气红包
order_title
string
128

支付标题,支付收银台显示用,付款方在支付宝账单中可见。
示例值:钉钉拼手气红包
time_expire
string
16

支付超时时间,格式为yyyy-mm-dd hh:mm。如果不传,默认30min。
示例值:2018-03-23 00:00
refund_time_expire
string
16

退款超时时间,格式 yyyy-mm-dd hh:mm。到指定时间后,系统会自动触发退款,并原路退回到付款账户。如果指定了退款时间,必须早于开通产品的最晚退款时间。
示例值:2018-03-24 00:00
business_params
string
2048

业务扩展字段,json格式。支持如下属性:
sub_biz_scene 子场景,必填,传redpacket。
payer_binded_alipay_uid 创建红包的商户会员绑定的支付宝用户uid,必填,可通过会员授权拿到支付宝用户uid。
payee_show_name,收款方显示名称,可选,付款方在支付宝账单中可见。
示例值:{"sub_biz_scene":"redpacket","payer_binded_alipay_uid":"2088302510459335","payee_show_name":"钉钉红包"}
响应示例
红包打款接口 alipay.fund.trans.uni.transfer
场景描述
b 用户点击红包进行领取后,商户通过本接口向 b 用户的绑定支付宝账户中打款。
接口调用流程

接口说明
如果返回系统异常或未明确的错误码,请保持原始请求信息重试。
接口限制 tps 10。
商户服务器必须安装 ca 证书才可使用。
使用 sdk 快速接入
以 java 语言为例,调用 的例代码如下:
关键入参
参数
类型
最大长度
必填
描述
out_biz_no
string
64

商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。
示例值:2018062800001
trans_amount
string
16

订单总金额,单位为元,精确到小数点后两位,取值范围 [0.01,100000000]。
示例值:6.88
product_code
string
64

销售产品码,固定 std_red_packet。
biz_scene
string
64

业务场景,本场景固定 personal_collection。
original_order_id
string
64

原支付宝业务单号。c2c 红包领取时,传红包支付时返回的支付宝单号;b2c红包不需要该参数。
示例值:20190703110075000006530004756875
payee_info
participant
-

participant 类型,收款方信息。
identity
string
64

参与方的标识 id,比如支付宝用户 uid。
示例值:2088123412341234
identity_type
string
64

参与方的标识类型,目前支持如下枚举:
alipay_user_id 支付宝的会员id。
alipay_logon_id 支付宝登录号。
alipay_open_id 支付宝 openid。
name
string
256

参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。
order_title
-
-

转账业务的标题,用于在支付宝用户的账单里显示。
示例值:群聊拼手气红包
remark
-
-

业务备注。
示例值:群聊拼手气红包
business_params
-
-

转账业务请求的扩展参数,支持传入的扩展参数如下:
sub_biz_scene:子业务场景,必传,取值 redpacket。
payer_show_name:付款方显示名称,可选,收款方在支付宝账单中可见。
示例值:{"sub_biz_scene":"redpacket","payer_show_name":"钉钉红包"}
关键出参
参数
类型
必填
最大长度
描述
out_biz_no
string

64
商户订单号。
示例值:201808080001
order_id
string

64
支付宝转账订单号。
示例值:20180629110070000002040007320562
pay_fund_order_id
string

64
支付宝支付资金流水号。
示例值:20190801110070001506380000251556
status
string

32
转账单据状态。如 success 表示成功。
响应示例
红包资金退回接口 alipay.fund.trans.refund
场景描述
将剩余的未领取的红包资金退回红包发送方。
接口调用流程

接口说明
如果返回系统异常或未明确的错误码,请保持原始请求信息重试。
使用 sdk 快速接入
以 java 语言为例,调用 的示例代码如下:
关键入参
参数
类型
最大长度
必填
描述
order_id
string
64

发红包时支付宝返回的支付宝订单号order_id。
示例值:20190703110075000006530004756875
out_request_no
string
64

标识一次资金退回请求,一笔资金退回失败后重新提交,要采用原来的资金退回单号。总退款金额不能超过用户实际支付金额。
示例值:2019063050784123
refund_amount
string
16

需要退款的金额,该金额不能大于原支付订单金额,单位为元,支持两位小数。
示例值:0.15
remark
string
200

资金退回备注。
示例值:红包超时未领退回
关键出参
参数
类型
必填
最大长度
描述
refund_order_id
string

64
退款的支付宝系统内部单据 id。
示例值:20180629110070001502040007320578
order_id
string

64
发红包时支付宝返回的支付宝订单号 order_id。
示例值:20190703110075000006530004756875
out_request_no
string

64
标识一次资金退回请求,一笔资金退回失败后重新提交,要采用原来的资金退回单号。总退款金额不能超过用户实际支付金额。
示例值:2019063050784123
status
string

64
状态。success:退款成功
refund_amount
string

16
本次退款的金额,单位为元,支持两位小数。
示例值:0.15
refund_date
string

20
退款资金退回时间。
示例值:2019-01-01 08:08:08
响应示例
单据查询接口 alipay.fund.trans.common.query
场景描述
查询发送红包、红包打款、红包退回订单的信息。
接口调用流程

接口说明
查询入参 out_biz_no、order_id 与 pay_fund_order_id 三者不可同时为空,三者优先级为 pay_fund_order_id > order_id > out_biz_no,高优先级与低优先级参数同时给出时,用高优先级参数查询,忽略低优先级参数。
使用 out_biz_no 查询时,必须传 product_code 和 biz_scene。
使用 sdk 快速接入
以 java 语言为例,调用 的示例代码如下:
按转账单据号查询场景
按资金流水号查询场景
按订单号查询场景
关键入参
参数
类型
最大长度
必填
描述
order_id
string
64
特殊必填
支付宝转账单据号:
本参数和商户转账唯一订单号、支付宝支付资金流水号三者不能同时为空。
当本参数和商户转账唯一订单号、支付宝支付资金流水号三者同时提供时,将用支付宝支付资金流水号进行查询,忽略其余两者。
当本参数和支付宝支付资金流水号同时提供时,将用支付宝支付资金流水号进行查询,忽略本参数。
当本参数和商户转账唯一订单号同时提供时,将用本参数进行查询,忽略商户转账唯一订单号。
示例值:20190703110075000006530004756875
pay_fund_order_id
string
64
特殊必填
支付宝支付资金流水号:
本参数和支付宝转账单据号、商户转账唯一订单号三者不能同时为空。
当本参数和支付宝转账单据号、商户转账唯一订单号同时提供时,将用本参数进行查询,忽略本参数。
当本参数和支付宝转账单据号同时提供时,将用本参数进行查询,忽略支付宝转账单据号。
当本参数和商户转账唯一订单号同时提供时,将用本参数进行查询,忽略商户转账唯一订单号。
示例值:20190801110070001506380000251556
out_biz_no
string
64
特殊必填
商户转账唯一订单号:发起转账来源方定义的转账单据 id:
本参数和支付宝转账单据号、支付宝支付资金流水号三者不能同时为空。
当本参数和支付宝转账单据号、支付宝支付资金流水号同时提供时,将用支付宝支付资金流水号进行查询,忽略本参数。
当本参数和支付宝转账单据号同时提供时,将用支付宝转账单据号进行查询,忽略本参数。
示例值:2019063050784144
product_code
string
64
特殊必填
销售产品码,固定 std_red_packet,如果传了out_biz_no,则该字段必传。
biz_scene
string
64
特殊必填
描述特定的业务场景,如果传递了out_biz_no 则该字段为必传。可取的业务场景如下:
personal_pay:c2c 红包-发红包。
personal_collection:c2c 红包-领红包。
关键出参
参数
类型
必填
最大长度
描述
order_id
string

64
支付宝转账单据号,查询失败不返回。
示例值:20190703110075000006530004756875
out_biz_no
string

64
商户订单号。
示例值:2019063050784144
status
string

64
转账单据状态。可能出现的状态如下:success:转账成功;wait_pay:等待支付;closed:订单超时关闭。
pay_fund_order_id
string

64
支付宝支付资金流水号(转账成功才返回)。
示例值:20190801110070001506380000251556
pay_date
string

20
支付时间,格式为yyyy-mm-dd hh:mm:ss,转账失败不返回。
示例值:2019-01-01 08:08:08
响应示例
蚂蚁消息:单据状态变更通知 alipay.fund.trans.order.changed
场景描述
单笔转账支付接口支付宝单据状态变更后触发通知。
接口调用流程

消息参数
参数
类型
必填
最大长度
描述
out_biz_no
string

64
商户端的唯一订单号。
示例值:201806300001
product_code
string

32
销售产品码,商家和支付宝签约的产品码。固定值 std_red_packet:红包。
biz_scene
string

32
描述特定的业务场景,如果传递了 out_biz_no 则该字段为必传。
可取的业务场景如下:
personal_pay:c2c 红包-发红包。
personal_collection:c2c 红包-领红包。
direct_transfer:b2c 红包。
origin_interface
string

64
请求来源的接口。
示例值:alipay.fund.trans.app.pay
order_id
string

64
支付宝系统的单据唯一 id。
示例值:20190624110075000006530000014566
pay_fund_order_id
string

64
支付宝支付资金流水号(转账成功时才返回)。
示例值:20190801110070001506380000251556
status
string

16
转账单据状态。可能出现的状态如下:
success:转账成功。
wait_pay:等待支付。
closed:订单超时关闭。
alipay.fund.trans.app.pay 涉及的状态: wait_pay success closed。
alipay.fund.trans.uni.transfer、alipay.fund.trans.refund 涉及的状态:success。
action_type
string

32
资金订单的操作类型,取值如下:
create-创建。
finish- 订单处理已完结。
close-超时关闭 。
trans_amount
string

20
转账金额。
示例值:32.00
pay_date
string

20
支付完成时间。
示例值:2013-01-01 08:08:08
响应值
响应值
描述
是否重试
fail
消息获取失败
重试
success
消息获取成功
不重试
消息示例
消息验签
公钥证书模式下,支付宝开放平台 sdk 提供了 alipaysignature.rsacertcheckv1 方法,可以使用该方法对通知报文验签。
蚂蚁消息:资金退回成功通知 alipay.fund.trans.refund.success
场景描述
资金退回成功后触发的通知。
接口调用流程
refund.png

消息参数
参数
类型
必填
最大长度
描述
order_id
string

64
该笔支付在支付宝系统内部的单据 id。
示例值:20190624110075000006530000014566
refund_order_id
string

64
该笔退款在支付宝系统内部的单据 id。
示例值:20190625110070000006800000071477
out_request_no
string

64
商户请求资金退回的请求单号,支付宝会对该参数做唯一性控制。
示例值:refund201906270001
refund_amount
string

16
需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数。
示例值:8.88
status
string

64
资金退回状态。success:退款成功。
refund_date
string

20
退款完成时间。
示例值:2019-01-01 08:08:08
响应值
响应值
描述
是否重试
fail
消息获取失败
重试
success
消息获取成功
不重试
消息示例
消息验签
在公钥证书模式下,支付宝开放平台 sdk 提供了 alipaysignature.rsacertcheckv1 方法,可以使用该方法对通知报文验签。
b2c 红包
应用于 b2c 红包的场景:商户向 b 用户发放营销红包,b 用户领取红包到自己的支付宝账户中。
发放红包
在营销等业务场景下,商户通过调用 直接给用户发放红包。
接口调用流程

接入说明
如果返回系统异常或未明确的错误码,请保持原始请求信息重试。
接口限制 tps 10。
商户服务器必须安装 ca 证书才可使用。
服务端接入方案:通过 sdk 集成接入,点此查看
from蚂蚁消息接入说明:点此查看 (暂仅支持 http(s)方式接入,不支持 websocket 长连接方式)
使用 sdk 快速接入
以 java 语言为例,调用 的示例代码如下:
关键入参
参数
类型
最大长度
必填
描述
out_biz_no
string
64

商户端的唯一订单号,对于同一笔转账请求,商户需保证该订单号唯一。
示例值:20190619000000001
trans_amount
string
16

订单总金额,单位为元,精确到小数点后两位,取值范围 [0.01,100000000]。
示例值:1.68
product_code
string
64

销售产品码,固定 std_red_packet。
biz_scene
string
64

业务场景,本场景固定 direct_transfer。
payee_info
participant
-

participant 类型,收款方信息。
└ identity
string
64

参与方的标识id,比如支付宝用户 uid。
示例值:2088123412341234
└ identity_type
string
64

参与方的标识类型,目前支持如下枚举:
alipay_user_id:支付宝的会员 id。
alipay_logon_id:支付宝登录号,支持邮箱和手机号格式。
alipay_open_id:支付宝 openid。
└ name
string
256

参与方真实姓名,如果非空,将校验收款支付宝账号姓名一致性。当 identity_type=alipay_logon_id 时,本字段必填。
order_title
string
64

转账业务的标题,用于在支付宝用户的账单里显示。
示例值:新人注册红包
remark
string
200

业务备注。
示例值:新人注册红包
business_params
string
2048

转账业务请求的扩展参数,支持传入的扩展参数如下:
sub_biz_scene, 子业务场景,必传,取值redpacket。
payer_show_name,付款方显示名称,可选,收款方在支付宝账单中可见。
示例值:{"sub_biz_scene":"redpacket","payer_show_name":"新人红包"}
关键出参
参数
类型
必填
最大长度
描述
order_id
string

64
支付宝转账单据号。
示例值:20190619110070000006800000025890
out_biz_no
string

64
商户订单号。
示例值:20190619000000001
status
string

64
转账单据状态。success:转账成功。
pay_fund_order_id
string

64
支付宝支付资金流水号。
示例值:20190801110070001506380000251556
响应示例
查询红包记录
查询 b2c 红包转账订单的信息,通过 ,开发者可以查询到商家发出的记录和金额等信息。
接口调用流程

接入说明
查询入参 out_biz_no、order_id 与 pay_fund_order_id 三者不可同时为空,三者优先级为 pay_fund_order_id > order_id > out_biz_no,高优先级与低优先级参数同时给出时,用高优先级参数查询,忽略低优先级参数。
使用 out_biz_no 查询时,必须传 product_code 和 biz_scene。
使用 sdk 快速接入
以 java 语言为例,调用 的示例代码如下:
按转账单据号查询场景
按资金流水号查询场景
按订单号查询场景
关键入参
参数
类型
最大长度
必填
描述
order_id
string
64
特殊必填
支付宝转账单据号:
本参数和商户转账唯一订单号、支付宝支付资金流水号三者不能同时为空。
当本参数和商户转账唯一订单号、支付宝支付资金流水号三者同时提供时,将用支付宝支付资金流水号进行查询,忽略其余两者。
当本参数和支付宝支付资金流水号同时提供时,将用支付宝支付资金流水号进行查询,忽略本参数。
当本参数和商户转账唯一订单号同时提供时,将用本参数进行查询,忽略商户转账唯一订单号。
示例值:20190619110070000006800000025890
out_biz_no
string
64
特殊必填
商户转账唯一订单号:发起转账来源方定义的转账单据id。
本参数和支付宝转账单据号、支付宝支付资金流水号三者不能同时为空。
当本参数和支付宝转账单据号、支付宝支付资金流水号同时提供时,将用支付宝支付资金流水号进行查询,忽略本参数。
当本参数和支付宝转账单据号同时提供时,将用支付宝转账单据号进行查询,忽略本参数。
示例值:20190619000000001
pay_fund_order_id
string
64
特殊必填
支付宝支付资金流水号:
本参数和支付宝转账单据号、商户转账唯一订单号三者不能同时为空。
当本参数和支付宝转账单据号、商户转账唯一订单号同时提供时,将用本参数进行查询,忽略本参数。
当本参数和支付宝转账单据号同时提供时,将用本参数进行查询,忽略支付宝转账单据号。
当本参数和商户转账唯一订单号同时提供时,将用本参数进行查询,忽略商户转账唯一订单号。
示例值:20190801110070001506380000251556
product_code
string
64
特殊必填
销售产品。如果传了 out_biz_no,则该字段必传。本场景固定传 std_red_packet。
biz_scene
string
64
特殊必填
描述特定的业务场景。如果传递了 out_biz_no 则该字段为必传。本场景固定传 direct_transfer。
关键出参
参数
类型
必填
最大长度
描述
order_id
string

64
支付宝转账单据号,查询失败不返回。
示例值:20190703110075000006530004756875
out_biz_no
string

64
商户订单号。
示例值:20190619000000001
pay_fund_order_id
string

64
支付宝支付资金流水号
(转账成功才返回)。
示例值:20190801110070001506380000251556
pay_date
string

20
支付时间,格式为yyyy-mm-dd hh:mm:ss,转账失败不返回。
示例值:2013-01-01 08:08:08
status
string

64
转账单据状态。可能出现的状态如下:success:转账成功;wait_pay:等待支付;closed:订单超时关闭
示例值:success
响应示例
红包状态变更通知
通过调用 ,商户在支付宝单据状态变更后(如红包发放成功或者被领取后)触发的通知。说明:暂仅支持 http(s)方式接入,不支持 websocket 长连接方式。
接口调用流程

消息参数
参数
类型
必填
最大长度
描述
out_biz_no
string

64
商户端的唯一订单号。
示例值:201806300001
product_code
string

32
销售产品码,商家和支付宝签约的产品码。固定值 std_red_packet:红包。
biz_scene
string

32
描述特定的业务场景,如果传递了out_biz_no则该字段为必传。固定值:direct_transfer。
origin_interface
string

64
请求来源的接口。
示例值:alipay.fund.trans.uni.transfer
order_id
string

64
支付宝系统的单据唯一 id。
示例值:20190624110075000006530000014566
pay_fund_order_id
string

64
支付宝支付资金流水号(转账成功时才返回)。
示例值:20190801110070001506380000251556
status
string

16
转账单据状态。可能出现的状态为 success:转账成功。
action_type
string

32
资金订单的操作类型,取值 finish- 订单处理已完结。
trans_amount
string

20
转账金额。
示例值:32.00
pay_date
string

20
支付完成时间。
示例值:2013-01-01 08:08:08
响应值
响应值
描述
是否重试
fail
消息获取失败
重试
success
消息获取成功
不重试
消息示例
消息验签
在公钥证书模式下,支付宝开放平台 sdk 提供了 alipaysignature.rsacertcheckv1 方法,可以使用该方法对通知报文验签。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图