已更新更新时间:2025-01-03 10:03:38文档更新记录 >配置项检测工具收藏订阅更新我的文档设置接入检测(即可查看检测结果)若有未通过的接入检测项,接口将无法调通去登录返回文档概述面向以实物商品租赁为主营业务,支持通过预授权免押,预授权转交易、业务单代扣、主动支付进行分期扣款的租赁行业商家。 完成 后,商家/服务商可根据本文指引快速接入 小程序交易组件。●小程序交易组件 支持自研商家/服务商通过 自研应用 或 第三方应用 代调用方式,调用 api 接入。●小程序交易组件 支持在 完成单步/链路测试。●小程序交易组件 完成开发后,可根据 进行验收。订阅消息设置接收消息的应用网关地址支付宝会通过 from 蚂蚁消息服务使用 向商家自研应用或第三方应用设置的 应用网关 地址,post 方式推送商家/服务商使用 小程序交易组件 的异步通知消息。若商家/服务商网络环境比较复杂,如:通过统一网关间连互联网,推荐使用网络兼容性更好的标准 http(s) 协议进行对接。订阅消息接口商家/服务商需根据 订阅消息 指引,为接入交易组件的 自研应用 或 第三方应用 订阅如下消息接口。注意:●仅完成订阅后才会收到支付宝发送的对应异步通知消息。●商家/服务商 可通过消息通知中 msg_method 参数判断消息类型。消息接口英文名消息接口中文名说明alipay.open.mini.order.changed订单结果通知接口同步订单的状态变更结果。alipay.open.mini.order.settle.notify结算消息通知接口同步订单在履约账期结束后,资金结算到商家余额户的结果。前端接入小程序前端需要完成以下步骤,将业务订单信息、商品/订单优惠信息获取并返回给服务端进行相应处理。判断订单创建环境请在创建订单前调用 (订单前置判断接口)来判断是否需要使用交易组件创建订单。示例代码重要出参说明英文名称类型描述requireorderenum租赁商品交易不区分 requireorder 返回值,公私域场景都需要创建交易组件订单获得 orderid。sourceidstring跟踪 id,需要获取之后创建业务订单时传入。sceneidstring公域收费场景值。服务端接入业务流转状态说明接口调用流程创建订单创建商家侧订单开发者可在小程序端调用 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_typestring订单类型,决定后续履约节点中的参数校验规则,必填。标准租赁场景固定为standard_rent。stage_pay_plansminiorderdetaildto阶段付款计划,标准租赁场景必填。address_infominireceiveraddressinfodto订单收货地址,标准租赁场景必传。payment_methodstring凯发k8官方网娱乐官方的支付方式,租赁无需预授权场景下传入,传入 no_need_to_pay 后,租赁主订单会直接推进 paid 状态,与预授权解耦。注意:目前仅长租且开通业务单代扣的订单生效,陆续会支持短租场景。stage_pay_plan_infos-计划信息列表l plan_pay_nonumber表示期数。标识第几次或第几期付款,起始值为 1,多个计划需保证编号递增。创建预授权冻结单 说明:使用预授权产品前,商家需先签约 。冻结发起步骤参考 , 先调用 获得 orderstr,再参考 小程序调起用户确认页面 唤起收银台,用户确认后,通过异步通知或查询获取授权结果信息。注意:●在创建业务订单后,需在 24 小时内创建预授权冻结单,并通过传入 trade_component_order_id 将业务订单和支付单进行关联,如一笔业务订单未关联预授权冻结单,24 小时后会自动关闭。●支持冻结金额不等于业务订单的押金金额。●out_order_no 必须与创建业务订单时的请求参数 out_order_id 一致。●extra_param 需要传入 trade_component_order_id,值为 创建业务订单 步骤中获取的订单号 order_id。重要入参说明参数类型是否必选最大长度描述示例值product_codestring必选32销售产品码。 预授权支付产品固定为 preauth_pay。preauth_payextra_paramstring特殊可选300业务扩展参数,用于特定业务信息的传递,json 格式。 1category:信用类目,信用预授权场景必传,具体类目信息见 。2serviceid:信用服务 id,信用预授权场景必传,需要联系 获取(右上角“有问题点我”进入咨询)。3creditextinfo:信用参数,可选,如有需要请与芝麻约定后传入,信用服务说明见 。4需要传入 trade_component_order_id,值为 创建业务订单 步骤中获取的订单号 order_id。{"trade_component_order_id":"2023122801502300000002440037844888"}商家确认订单用户完成预授权冻结后,商家进行订单审核,审核通过确认接单,在服务端调用 变更订单履约状态为 商家已确认 merchant_confirmed;如商家拒绝订单,在服务端调用 接口关闭订单。 说明:●商家确认订单后即可发起分期扣款。●确认订单前支持增加、减少分期计划的期数(如 12 期计划改为 10 期),订单已确认后不支持修改。重要入参说明参数英文名类型描述statusstring订单的履约状态已确认: 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_idstring必填,分期单外部请求号。由商家自定义,64 个字符以内,仅支持字母、数字、下划线且需保证在商户端不重复。 其他请求参数不变时重复请求会幂等返回分期单号。is_finish_performanceboolean必填,分期是否已经完结。 false:未完结 true:已完结typestring分期类型,标准租赁分期场景必填。枚举值租金: rent买断: buyout运费:freight保险费:insurance违约金:late_fee赔付金:indemnity追加扣款:additioninstallment_priceprice分期金额,标准租赁分期场景必填。●当分期类型为 rent,分期金额=对应阶段计划的计划付款金额 plan_pay_price。●当分期类型为 freight,分期金额=订单运费。●当分期类型为 buyout,分期金额=订单买断价。●当分期类型为:保险费、违约金、赔付金,分期金额填写商家系统的扣款金额。installment_no_typestring条件必选,分期数类型。枚举值期数: period当传入 installment_no 字段时,该字段必填is_sync_payboolean必填,是否主动支付单。适用于用户主动支付、线下支付等非业务单代扣/预授权转交易的支付场景。pay_channelstring用户分期扣款的凯发k8官方网娱乐官方的支付方式,当 is_sync_pay 为 true 时必填。枚举值支付宝支付:alipay微信支付:wechat其他:othertrade_nostring支付宝交易单号,当 pay_channel=alipay 时必填stage_nonumber分期的阶段编码,与创建时的阶段付款计划里的阶段编码对应,如第 1 阶段。当分期单类型 type=rent 时必传,买断类型选填、其他类型无需传入。installment_nostring当前分期数,如第 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_nostring必选64商户订单号。 需要与创建分期单时的请求参数 out_installment_order_id 一致。20150320010101001total_amountprice必选11订单总金额。 单位为元,精确到小数点后两位,取值范围:[0.01,100000000] 注意:需要与对应分期单的分期金额一致。88.88product_codestring必选64产品码。 商家和支付宝签约的产品码。 注意:本参数必填,且固定值为 general_withholding。general_withholdingagreement_paramsagreementparams必选-代扣信息。 代扣业务需要传入的协议相关信息。- agreement_nostring必选64支付宝系统中用以唯一标识用户签约记录的编号(用户签约成功后的协议号)20170322450983769228extend_paramsextendparams必选-业务扩展参数- trade_component_order_idstring必选128必须传入,值为 创建业务订单 步骤中获取的 order_id。- tc_installment_order_idstring必选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_pricestring订单总金额,单位:元,可选。buyout_pricestring买断价,单位:元,可选。stage_pay_plansminiorderdetaildto阶段付款计划,可选。订单完结订单完结态包含:订单买断、订单归还、租完即送,订单完结后不可再发起分期扣款。订单完结后,全部分期单都全额退款,订单状态将变为已退款。订单买断用户买断商品且完成所有金额支付后,商家可创建买断类分期单。参考 分期履约支付。无需再调用履约状态变更接口更新状态。●分期单类型为买断时,分期阶段号和期数选填。●订单买断后,即代表订单分期完结,不可再发起分期扣款。●如用户分多笔支付买断金,在支付最后一笔买断金时再创建买断类分期单。订单归还当商家确认用户已归还商品且后续不再发起分期扣款时,商家可调 更新订单履约状态为 已归还(returned)。注意:●订单状态更新为确认收货后,才可发起订单归还。●订单归还即代表订单完结,不可再发起分期扣款,如还有待扣款金额,请先完成分期扣款。●示例场景:如商家收到归还货品后,发现有损坏需要用户赔偿,商家需要先发起 赔付金 类分期扣款,扣款成功后再调此接口更新订单履约状态为 已归还。重要入参说明参数英文名类型描述statusstring订单的履约状态已确认: merchant_confirmed已归还: returned租完即送:rent_over_send租完即送针对租完即送类订单,订单分期计划完结后,商品归属到用户无需寄回/买断。商家可调 更新订单履约状态为 租完即送(rent_over_send)。注意:●订单状态更新为确认收货后,才可更新订单为 租完即送。●订单租完即送 即代表订单完结,不可再发起分期扣款,如还有待扣款金额,请先完成分期扣款。重要入参说明参数英文名类型描述statusstring订单的履约状态已确认: 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 和小程序版本,进行线上验收。 租赁场景需要完成「租赁商品归还」流程验收。