开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
支付产品
私域产品
小程序产品
权限集列表
搜索关键词
搜索直达
收藏
消息
小程序码
小程序服务
订单中心
小程序开发管理
生物核身
交易组件
使用须知
接入指南
基础功能接入
公域推广集成
扩展组件
调试与验收
api 列表
常见问题
相关资料
小程序商品
支付有礼
商家粉丝群
营销产品
资金产品
会员产品
信用产品
广告产品
开发 > 服务端 > 私域产品 > 小程序产品 > 权限集列表 > 交易组件 >  >  > 租赁商品场景开发接入
已更新
文档更新记录 >
收藏
订阅更新
我的文档
设置
接入检测
即可查看检测结果)
若有未通过的接入检测项,接口将无法调通
概述
面向以实物商品租赁为主营业务,支持通过预授权免押,预授权转交易、业务单代扣、主动支付进行分期扣款的租赁行业商家。
完成 后,商家/服务商可根据本文指引快速接入 小程序交易组件
小程序交易组件 支持自研商家/服务商通过 自研应用第三方应用 代调用方式,调用 api 接入。
小程序交易组件 支持 完成单步/链路测试。
小程序交易组件 完成开发后,可根据 进行验收。

订阅消息
设置接收消息的应用网关地址
支付宝会通过 from 蚂蚁消息服务使用 向商家自研应用或第三方应用设置的 应用网关 地址,post 方式推送商家/服务商使用 小程序交易组件 异步通知消息。
若商家/服务商网络环境比较复杂,如:通过统一网关间连互联网,推荐使用网络兼容性更好的标准 http(s) 协议进行对接。
订阅消息接口
商家/服务商需根据 订阅消息 指引,为接入交易组件的 自研应用第三方应用 订阅如下消息接口。
注意
仅完成订阅后才会收到支付宝发送的对应异步通知消息。
商家/服务商 可通过消息通知中 msg_method 参数判断消息类型。
消息接口英文名
消息接口中文名
说明
alipay.open.mini.order.changed
订单结果通知接口
同步订单的状态变更结果。
alipay.open.mini.order.settle.notify
结算消息通知接口
同步订单在履约账期结束后,资金结算到商家余额户的结果。
前端接入
小程序前端需要完成以下步骤,将业务订单信息、商品/订单优惠信息获取并返回给服务端进行相应处理。
判断订单创建环境
请在创建订单前调用 (订单前置判断接口)来判断是否需要使用交易组件创建订单。
示例代码
重要出参说明
英文名称
类型
描述
requireorder
enum
租赁商品交易不区分 requireorder 返回值,公私域场景都需要创建交易组件订单获得 orderid。
sourceid
string
跟踪 id,需要获取之后创建业务订单时传入。
sceneid
string
公域收费场景值。
服务端接入
业务流转状态说明

接口调用流程

创建订单
创建商家侧订单
开发者可在小程序端调用 my.request 接口连接到商家服务端,发送用户订单数据至服务端。
示例代码
创建业务订单
在服务端调用 alipay.open.mini.order.create(订单创建接口),获得 小程序交易组件 业务订单号 order_id。租赁场景类业务订单类型中 merchant_biz_type 为 standard_rent
注意
标准租赁订单的商品类型必须是租赁商品,一笔订单只可包含一个商品,数量可以多份。
创建订单时须符合订单资金平衡校验:订单金额(order_price)=∑(计划付款金额(plan_pay_price)) 运费(freight)。
首次创建订单时,仅允许创建第 1 阶段付款计划,即阶段编码为 1。
租赁周期最长不可超过 36 个月,即 rent_end_time - rent_start_time <= 36 个月。
当前支持无需预授权场景:针对凯发k8官方网娱乐官方的支付方式 payment_method 传入 no_need_to_pay,传入后租赁主订单会直接推进 paid 状态,与预授权解耦(目前仅长租且开通业务单代扣的订单生效。)
当前支持随时买断场景:在 plan_buyout_price 回传计划买断金,计划买断金=当期买断价-截止到当期已支付租金。
首次租赁计划示例
阶段
第 1 期
第 2 期
...
第 n 期
1
期数(plan_pay_no):1
计划付款时间(plan_pay_time):2024-01-01 12:00:00
计划付款金额(plan_pay_price):100.00元
期数(plan_pay_no):2
计划付款时间(plan_pay_time):2024-02-01 12:00:00
计划付款金额(plan_pay_price):100.00元
...
以此类推
重要入参说明
英文名称
类型
描述
merchant_biz_type
string
订单类型,决定后续履约节点中的参数校验规则,必填。
标准租赁场景固定为standard_rent。
stage_pay_plans
miniorderdetaildto
阶段付款计划,标准租赁场景必填。
address_info
minireceiveraddressinfodto
订单收货地址,标准租赁场景必传。
payment_method
string
凯发k8官方网娱乐官方的支付方式,租赁无需预授权场景下传入,传入 no_need_to_pay 后,租赁主订单会直接推进 paid 状态,与预授权解耦。
注意:目前仅长租且开通业务单代扣的订单生效,陆续会支持短租场景。
stage_pay_plan_infos
-
计划信息列表
l plan_pay_no
number
表示期数。标识第几次或第几期付款,起始值为 1,多个计划需保证编号递增。
创建预授权冻结单
说明:使用预授权产品前,商家需先签约
冻结发起步骤参考 , 先调用 获得 orderstr,再参考 小程序调起用户确认页面 唤起收银台,用户确认后,通过异步通知或查询获取授权结果信息。
注意
在创建业务订单后,需在 24 小时内创建预授权冻结单,并通过传入 trade_component_order_id 将业务订单和支付单进行关联,如一笔业务订单未关联预授权冻结单,24 小时后会自动关闭。
支持冻结金额不等于业务订单的押金金额。
out_order_no 必须与创建业务订单时的请求参数 out_order_id 一致。
extra_param 需要传入 trade_component_order_id,值为 创建业务订单 步骤中获取的订单号 order_id。
重要入参说明
参数
类型
是否必选
最大长度
描述
示例值
product_code
string
必选
32
销售产品码。 预授权支付产品固定为 preauth_pay。
preauth_pay
extra_param
string
特殊可选
300
业务扩展参数,用于特定业务信息的传递,json 格式。
1category:信用类目,信用预授权场景必传,具体类目信息见
2serviceid:信用服务 id,信用预授权场景必传,需要联系 获取(右上角“有问题点我”进入咨询)。
3creditextinfo:信用参数,可选,如有需要请与芝麻约定后传入,信用服务说明见
4需要传入 trade_component_order_id,值为 创建业务订单 步骤中获取的订单号 order_id。
{"trade_component_order_id":"2023122801502300000002440037844888"}
商家确认订单
用户完成预授权冻结后,商家进行订单审核,审核通过确认接单,在服务端调用 变更订单履约状态为 商家已确认 merchant_confirmed;如商家拒绝订单,在服务端调用 接口关闭订单。 说明
商家确认订单后即可发起分期扣款。
确认订单前支持增加、减少分期计划的期数(如 12 期计划改为 10 期),订单已确认后不支持修改。
重要入参说明
参数英文名
类型
描述
status
string
订单的履约状态
已确认: merchant_confirmed
已归还: returned
履约发货
交易组件提供订单状态推进和变更的接口,商家在订单状态关键节点变化时,调用本组接口实现对订单资金的结算,并向用户下发消息提醒召回用户,给予用户更好的体验。
订单发货
商家完成发货动作之后,调用 同步订单发货。
示例代码
注意
通过交易组件下单的订单,同步给订单中心时,只会同步订单支付成功的订单,商家不必将订单发货、确认收货和发起售后的三种状态同步给订单中心。其中 delivery_list.delivery_id 字段为物流编码,详情可查看
若订阅了业务单 状态变更消息,则会接收到 status='delivered' 状态变更通知。
确认收货
商家基于快递物流状态识别用户已经确认收货后,可调用 对该笔订单更新履约状态,在确认收货时,用户将收到消息提醒。
示例代码
注意
在确认收货这个履约节点时,商家需要调用交易组件的确认收货接口进行业务处理。
确认收货和发货是有前后依赖的接口,如果对一笔订单没有调用发货接口,则调用确认收货接口会失败。
若订阅了业务单 状态变更消息,则会接收到 status='received_confirm' 状态变更通知。
分期履约支付
创建分期单
商家确认订单后即可创建分期单,在发起每期租金扣款之前、用户主动支付完成之后,服务端调用 接口创建分期单,获得 小程序交易组件 业务订单号 order_id 对应的分期单号 installment_order_id,一笔业务订单可以对应多笔分期单。
注意
租金类分期单
分期单类型为租金时,分期阶段号和期数必传。
同一阶段同一期数,不可重复创建分期单(已关闭的分期单可再次创建)。
主动同步支付单:如果用户通过 jsapi、app 支付、微信等渠道主动支付租金时,商家需要主动同步此笔交易,以确保扣款计划期数完整性。
主动同步支付单,创建分期单时 is_sync_pay=true。
支付宝交易:即支付渠道=alipay,如 jsapi、当面付、app 支付收款等,此场景 trade_no 必传。
非支付宝交易:即支付渠道=wechat、other,微信、其他支付渠道,此场景允许传入 trade_no。
允许跳期创建分期单:如一笔 12 期订单,评估用户风险后,可发起第 1 租金后,再预收 11、12 期租金。
买断类分期单:创建买断类分期单时,校验逻辑如下:
若商家支持每期买断,即阶段付款计划内每期计划买断尾款不为空时,创建买断类分期单时,分期单号installment_no 必传,且分期金额(installment_price)=当期买断尾款(plan_buyout_price)。
若商家阶段付款计划内每期计划买断尾款为空,创建买断类分期单时分期单号 installment_no 不传,且分期金额(installment_price)=订单买断尾款(buyout_price)。 说明:该逻辑适配历史已接入的商家存量订单。
其他类型:运费、保险费、违约金等类型分期单。
此类分期单,不可传入阶段号和期数。
重要入参说明
参数
类型
描述
out_installment_order_id
string
必填,分期单外部请求号。由商家自定义,64 个字符以内,仅支持字母、数字、下划线且需保证在商户端不重复。 其他请求参数不变时重复请求会幂等返回分期单号。
is_finish_performance
boolean
必填,分期是否已经完结。 false:未完结 true:已完结
type
string
分期类型,标准租赁分期场景必填。
枚举值
租金: rent
买断: buyout
运费:freight
保险费:insurance
违约金:late_fee
赔付金:indemnity
追加扣款:addition
installment_price
price
分期金额,标准租赁分期场景必填。
当分期类型为 rent,分期金额=对应阶段计划的计划付款金额 plan_pay_price。
当分期类型为 freight,分期金额=订单运费。
当分期类型为 buyout,分期金额=订单买断价。
当分期类型为:保险费、违约金、赔付金,分期金额填写商家系统的扣款金额。
installment_no_type
string
条件必选,分期数类型。
枚举值
期数: period
当传入 installment_no 字段时,该字段必填
is_sync_pay
boolean
必填,是否主动支付单。
适用于用户主动支付、线下支付等非业务单代扣/预授权转交易的支付场景。
pay_channel
string
用户分期扣款的凯发k8官方网娱乐官方的支付方式,当 is_sync_pay 为 true 时必填。
枚举值
支付宝支付:alipay
微信支付:wechat
其他:other
trade_no
string
支付宝交易单号,当 pay_channel=alipay 时必填
stage_no
number
分期的阶段编码,与创建时的阶段付款计划里的阶段编码对应,如第 1 阶段。
当分期单类型 type=rent 时必传,买断类型选填、其他类型无需传入。
installment_no
string
当前分期数,如第 1 阶段的第 1 期。
当分期单类型 type=rent 时必传,买断类型选填、其他类型无需传入;
当传入 stage_no 字段时,该字段必填。
分期单支付
可通过 业务单代扣/预授权转支付发起分期单支付。
业务单代扣
说明:可通过 发起分期扣款,需要接入商家扣款产品,参考 流程。
联系业务经理将签约的商家扣款产品设置为业务单代扣模式。
扣款时,extend_params 中需要额外传入 trade_component_order_id、tc_installment_order_id。
扣款时,out_trade_no 必须与创建分期单时的请求参数 out_installment_order_id 一致。
扣款时,金额需要与对应分期单的分期金额一致。
请求入参
参数
类型
是否必选
最大长度
描述
示例值
out_trade_no
string
必选
64
商户订单号。 需要与创建分期单时的请求参数 out_installment_order_id 一致。
20150320010101001
total_amount
price
必选
11
订单总金额。 单位为元,精确到小数点后两位,取值范围:[0.01,100000000] 注意:需要与对应分期单的分期金额一致。
88.88
product_code
string
必选
64
产品码。 商家和支付宝签约的产品码。 注意:本参数必填,且固定值为 general_withholding。
general_withholding
agreement_params
agreementparams
必选
-
代扣信息。 代扣业务需要传入的协议相关信息。
-
agreement_no
string
必选
64
支付宝系统中用以唯一标识用户签约记录的编号(用户签约成功后的协议号)
20170322450983769228
extend_params
extendparams
必选
-
业务扩展参数
-
trade_component_order_id
string
必选
128
必须传入,值为 创建业务订单 步骤中获取的 order_id。
-
tc_installment_order_id
string
必选
128
必须传入,值为 创建分期单 步骤中获取的installment_order_id。
-
预授权转支付
参考 流程,当商家获得用户授权完成 线上资金冻结场景 操作后,如果业务场景需要用户进行支付,而并不只是冻结押金,则需要调用 完成扣款操作。
注意
商家在进行冻结转支付时,若扣款金额大于冻结的押金,会出现扣款失败,在第一步资金冻结时需要商家根据自身业务合理评估出冻结金额。
冻结转支付使用 为通用接口,在资金授权场景下:
授权码的参数为 auth_no 而非当面付中的 auth_code;授权码也没有 25-30 开头的限制。
资金授权过程无需传入 scene 参数。
金额需要与对应分期单的分期金额一致。
重要参数说明
参数
类型
是否必选
最大长度
描述
示例值
out_trade_no
string
必选
64
商户订单号。 需要与创建分期单时的入参out_installment_order_id 一致。
20150320010101001
total_amount
price
必选
11
订单总金额。 单位为元,精确到小数点后两位,取值范围:[0.01,100000000] 说明:需要与对应分期单的分期金额一致。
88.88
subject
string
必选
256
订单标题。
注意:不可使用特殊字符,如 /,=,& 等。
iphone6 16g
product_code
string
必选
64
商家和支付宝签约的产品码,固定传preauth_pay
preauth_pay
auth_no
string
必选
64
资金预授权单号。 创建预授权冻结单时获得的 auth_no。
-
extend_params
extendparams
必选
-
业务扩展参数
-
trade_component_order_id
string
必选
128
必须传入,值为 创建业务订单 步骤中获取的 order_id。
-
tc_installment_order_id
string
必选
128
必须传入,值为 创建分期单 步骤中获取的installment_order_id。
-
关闭分期单
如果由于用户余额不足等原因分期扣款失败,商家可重试扣款,此场景下商家可调用 通过商家网站唯一订单号 out_trade_no 或支付宝支付单号 trade_no 将对应未付款的交易进行关闭。支付单关闭后,对应的分期单即会同步关闭。
如果分期单未发起支付,此场景可调用 进行分期单关闭。
分期单关闭后,可重新发起分期单创建。
异步通知
订单支付成功时,商家可以通过在 alipay.trade.create(统一收单交易创建接口) 设置异步通知(notify_url)来获得支付宝服务端返回的支付结果,当异步通知中返回的 trade_status(交易状态)为 trade_success 时,表示支付成功。
收到异步通知后需通过 printwriter 类打印输出 success。如果商家反馈给支付宝的字符不是 success 这 7 个字符,支付宝服务器会不断重发通知,直到超过 24 小时 22 分钟。一般情况下,25 小时以内完成 8 次通知(通知的间隔频率一般是:4m,10m,10m,1h,2h,6h,15h)。
注意:
开发者设置的 notify_url 需要为外部网络环境可正常访问的网址,且状态码为 200,支付结果请以异步通知或 alipay.trade.query(统一收单交易查询) 返回值为准。
其他有关异步通知的问题可查看
若未成功接收到异步通知,排查方法可查看
若订阅了业务单 状态变更消息,则会接收到 status='paid' 状态变更通知。
修改订单
如产生买家续租、买断、订单租金发生变化、扣款时间变化、租期结束时间变化等情况,可调用 修改订单。
场景说明
修改订单时需传入完整的阶段付款计划。
修改订单时不支持更换商品,即不支持修改商品 id。
修改金额:支持修改租金/买断金,不支持修改押金、运费;修改后的金额须满足订单资金平衡校验:订单金额(order_price)=∑(计划付款金额(plan_pay_price)) 运费(freight)。
修改付款时间:支持修改每期计划付款时间,前一期付款时间不可晚于后一期付款时间,如第 2 期计划付款时间不可晚于第 3 期的计划付款时间。
修改期数:仅商家确认订单前允许增加、减少期数,确认订单后不可修改期数。
续租:发生续租交易时,可新增计划付款阶段:
阶段编码= 1,即首次租赁扣款计划。
阶段编码= 2,即续租,3 代表再次续租,以此类推。
续租场景示例
首次租赁 12 期,每期 100 元,每月 1 号扣款;后续租 2 期,每期 100 元,每月 1 号扣款。
阶段
第 1 期
第 2 期
...
第 12 期
1
期数(plan_pay_no):1
计划付款时间(plan_pay_time):2024-01-01 12:00:00
计划付款金额(plan_pay_price):100.00元
期数(plan_pay_no):2
计划付款时间(plan_pay_time):2024-02-01 12:00:00
计划付款金额(plan_pay_price):100.00元
...
期数(plan_pay_no):12
计划付款时间(plan_pay_time):2024-12-01 12:00:00
计划付款金额(plan_pay_price):100.00元
2
期数(plan_pay_no):1
计划付款时间(plan_pay_time):2025-01-01 12:00:00
计划付款金额(plan_pay_price):100.00元
期数(plan_pay_no):2
计划付款时间(plan_pay_time):2025-02-01 12:00:00
计划付款金额(plan_pay_price):100.00元
-
-
重要入参说明
英文名称
类型
描述
order_price
string
订单总金额,单位:元,可选。
buyout_price
string
买断价,单位:元,可选。
stage_pay_plans
miniorderdetaildto
阶段付款计划,可选。
订单完结
订单完结态包含:订单买断、订单归还、租完即送,订单完结后不可再发起分期扣款。订单完结后,全部分期单都全额退款,订单状态将变为已退款。
订单买断
用户买断商品且完成所有金额支付后,商家可创建买断类分期单。参考 分期履约支付。无需再调用履约状态变更接口更新状态。
分期单类型为买断时,分期阶段号和期数选填。
订单买断后,即代表订单分期完结,不可再发起分期扣款。
如用户分多笔支付买断金,在支付最后一笔买断金时再创建买断类分期单。
订单归还
当商家确认用户已归还商品且后续不再发起分期扣款时,商家可调 更新订单履约状态为 已归还(returned)
注意
订单状态更新为确认收货后,才可发起订单归还。
订单归还即代表订单完结,不可再发起分期扣款,如还有待扣款金额,请先完成分期扣款。
示例场景:如商家收到归还货品后,发现有损坏需要用户赔偿,商家需要先发起 赔付金 类分期扣款,扣款成功后再调此接口更新订单履约状态为 已归还
重要入参说明
参数英文名
类型
描述
status
string
订单的履约状态
已确认: merchant_confirmed
已归还: returned
租完即送:rent_over_send
租完即送
针对租完即送类订单,订单分期计划完结后,商品归属到用户无需寄回/买断。商家可调  更新订单履约状态为 租完即送(rent_over_send)
注意
订单状态更新为确认收货后,才可更新订单为 租完即送
订单租完即送 即代表订单完结,不可再发起分期扣款,如还有待扣款金额,请先完成分期扣款。
重要入参说明
参数英文名
类型
描述
status
string
订单的履约状态
已确认: merchant_confirmed
已归还: returned
租完即送:rent_over_send
关闭订单
当订单待付款商家主动关闭订单、商家审核不通过关闭订单、商家确认订单用户拒绝订单时,商家在服务端调用 关闭订单。
注意
创建订单后,只要不存在待付款的分期单,商家可随时关闭订单。
辅助接口
支付单退款
当交易发生之后一段时间内,由于买家或者商家的原因需要退款时,商家可以调用通过商家网站唯一订单号 out_trade_no 或支付宝交易号trade_no,将对应订单支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家账号上。
注意
交易超过约定时间(签约时设置的可退款时间)的订单无法进行退款。
支付宝退款支持单笔交易分多次退款,多次退款需要提交原支付订单的订单号和设置不同的退款请求号 out_request_no。
一笔退款失败后重新提交,要保证重试时退款请求号 out_request_no 不变,防止该笔交易重复退款。
同一笔交易的退款至少间隔 3s 后发起。
同一笔交易累计提交的退款金额不能超过原始交易总金额,单位为元,支持两位小数。
交易单全额退款后,业务订单也会随之关闭。
若订阅了业务单 状态变更消息,则会接收到 status='refund_closed' 状态变更通知。
支付单关单
当交易创建后,用户如果在一定时间内未进行支付,商家可调用 通过商家网站唯一订单号 out_trade_no 或支付宝支付单号trade_no 关闭,将对应未付款的交易进行关闭。
查询支付单信息
商家可调用 alipay.trade.query(统一收单线下交易查询接口),通过商家网站唯一订单号 out_trade_no 或支付宝支付单号trade_no 查询对应订单支付情况。
查询订单信息
商家可调用 alipay.open.mini.order.query(查询订单接口),通过商家网站唯一订单号 out_order_id 或支付宝支付单号 order_id 查询对应订单支付情况。
示例代码
订单结算通知
当交易完成后,根据不同的商品交易类型,由商家通过发货、确认收货完成订单的履约状态之后,根据不同商品类目的结算周期,对订单资金进行结算。在结算完成时将通过 alipay.open.mini.order.settle.notify(结算消息通知接口)向商家发送结算消息通知 。
查询订单对账列表信息
商家可调用 alipay.open.mini.order.itembill.batchquery(查询小程序订单对账列表信息接口),通过小程序 app_id 批量查询对应订单支付情况。
接入验收
登录支付宝开放平台,进入快速 页面。
验收产品:选择“租赁商品交易” 验收场景:下拉选择“交易组件租赁商品场景” 依次选择当前登录账号需要验收的小程序 appid 和小程序版本,进行线上验收。 租赁场景需要完成「租赁商品归还」流程验收。

内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图