小程序开发-支付宝租赁场景相关支付服务

前言

支付宝技术支持

https://opensupport.alipay.com/support/intelligent-services

支付宝开放平台

https://open.alipay.com/

SDK

https://opendocs.alipay.com/common/02n6z6?pathHash=f5e2a056

查看开通的服务

https://b.alipay.com/page/product-workspace/all-product

支付宝产品列表

可以查看产品支持的功能,是否开通

https://open.alipay.com/api?appId=2021004166617686#openapi

租赁商品场景开发接入

https://opendocs.alipay.com/mini/0calzt

商家券

https://opendocs.alipay.com/open/03rr8k?pathHash=c2ad7338

配置检测

https://open.alipay.com/api/diagnosticTool?examCode=E000001956&expand=BIZ_001&subCode=BIZ_002

交易组件

https://opendocs.alipay.com/mini/077it6?pathHash=48b64793

预授权支付

https://opendocs.alipay.com/open/repo-0243e2?ref=api

密钥工具下载

https://opendocs.alipay.com/common/02kipk

设置证书加签方式

https://opendocs.alipay.com/common/056zub?pathHash=91c49771

密钥和证书

支付宝的认证有两种方式,密钥和证书

一个应用(APPID)只能配置一种接口加签方式(密钥或证书)。

  • 密钥方式不支持红包转账到支付宝账户
  • 证书方式支持所有的支付服务

密钥方式

需要

应用私钥:用来给应用消息进行签名,请务必要妥善保管,避免遗失或泄露。

应用公钥:需要提供给支付宝开放平台,平台会对应用发送的消息进行签名验证。

支付宝公钥:应用收到支付宝发送的同步、异步消息时,使用支付宝公钥验证签名信息。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
AlipayConfig alipayConfig = new AlipayConfig();
//设置网关地址
alipayConfig.setServerUrl(URL);
//设置应用APPID
alipayConfig.setAppId(APPID);
//设置应用私钥
alipayConfig.setPrivateKey(PRIVATE_KEY);
//设置请求格式,固定值json
alipayConfig.setFormat("json");
//设置字符集
alipayConfig.setCharset(CHARSET);
//设置支付宝公钥
alipayConfig.setAlipayPublicKey(ALIPAY_PUBLIC_KEY);
//设置签名类型
alipayConfig.setSignType(SIGN_TYPE);
//构造client
AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);

证书方式

对接需要

应用私钥:用来给应用消息进行签名,请务必要妥善保管,避免遗失或泄露。

应用公钥证书:在开放平台上传 CSR 文件后可以获取 CA 机构颁发的应用证书文件(.crt),其中包含了组织/公司名称、应用公钥、证书有效期等内容,一般有效期为 5 年。

支付宝公钥证书:用来验证支付宝消息,包含了支付宝公钥、支付宝公司名称、证书有效期等内容,一般有效期为 5 年。

支付宝根证书:用来验证支付宝消息,包含了根 CA 名称、根 CA 的公钥、证书有效期等内容。

申请需要

CSR 文件:CSR 即证书签名请求(Certificate Signing Request),CSR 文件(.csr)是申请证书时所需要的一个数据文件。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
AlipayConfig alipayConfig = new AlipayConfig();
//设置网关地址
alipayConfig.setServerUrl(URL);
//设置应用APPID
alipayConfig.setAppId(APPID);
//设置应用私钥
alipayConfig.setPrivateKey(APP_PRIVATE_KEY);
//设置应用公钥证书路径
alipayConfig.setAppCertPath(app_cert_path);
//设置支付宝公钥证书路径
alipayConfig.setAlipayPublicCertPath(alipay_cert_path);
//设置支付宝根证书路径
alipayConfig.setRootCertPath(alipay_root_cert_path);
//设置请求格式,固定值json
alipayConfig.setFormat("json");
//设置字符集
alipayConfig.setCharset(CHARSET);
//设置签名类型
alipayConfig.setSignType(SIGN_TYPE);
//构造client
DefaultAlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);

常用属性

  • 交易号trade_no

  • 商家订单号out_trade_no

支付流程

租赁商品场景对接流程

image-20240705173441268

租赁场景预授权支付和JSAPI支付都要对接

  • 预授权支付是冻结押金
  • JSAPI是支付每期租金

JSAPI支付流程

1686906939467-f0cfdaac-2ab3-4da0-9b2b-91629083b458

相关开通的服务

服务批量开通页面

https://b.alipay.com/page/product-workspace/batch-open?sceneCode=ALL

小程序手机号登录

获取用户信息

https://open.alipay.com/dev/workspace/package-apply/self/list?packageCode=20220126151352286986&appId=2021004153612039&appType=miniApp

小程序中切换账号登录(要选手机号),所以支付宝登录时要保存用户手机号。

后台充值和提现

订单码支付

订单码支付是指商家按支付宝的支付协议生成订单二维码,用户使用支付宝“扫一扫”即可完成付款

https://open.alipay.com/api/detail?code=I1080300001000068149

主要用户账户充值

转账到支付宝账户

https://open.alipay.com/api/detail?code=I1080300001000046143

转账到支付宝账户是支付宝应用最广泛的接口类转账产品,针对具有开发能力的商户,提供API接口或网页免研版完成转账功能。

主要用于平台提供的商户可申请提现到自己的支付宝账户。

线上租赁

线上租赁必须要开通

  • 芝麻免押

  • 支付宝身份验证

  • 预授权支付

  • JSAPI支付

芝麻免押

帮助商家通过免押金/免订金服务,降低用户的使用门槛,提升用户体验,从而提高用户的下单转化率,以此增加商家的交易量。

检测服务是否开通

https://open.alipay.com/api/detail?code=I1080300001000056967

image-20240923113612096

查看SCI

https://mrchportalweb.alipay.com/operation/svr-mgnt/sci

MAU表示月活跃去重用户数

预授权支付

预授权支付 指用户产生实际消费前,商家可以提前冻结用户一定资金作为押金,后续按实际消费金额从用户冻结资金中扣除给商家,剩余金额解冻返还用户的一种支付产品。

https://open.alipay.com/api/detail?preProductName=%E9%A2%84%E6%8E%88%E6%9D%83%E6%94%AF%E4%BB%98&productName=%E9%A2%84%E6%8E%88%E6%9D%83%E6%94%AF%E4%BB%98&preCode=I1080300001000065324&code=I1140300001000018689

https://opendocs.alipay.com/open/064jh8?pathHash=ddb28cea&ref=api

提前冻结用户资金/额度,交易完成后再支付。

也就是押金。

申请条件

小程序要上架后,我们可以指对接JSAPI上架后,但是关闭小程序的搜索,这样用户是搜索不到的,再申请预授权支付。

JSAPI支付

支持支付宝小程序收款场景,用户在商家小程序下单,输入支付密码完成支付,商家收款到账。

开通地址

https://b.alipay.com/page/ar-center/front-product-sign/form?productCode=I1080300001000060370

转账到支付宝账户

https://open.alipay.com/api/detail?code=I1080300001000046143

小程序交易组件

小程序交易组件 提供履约流程和账期管控的能力,可更好的支持售中和售后服务,提升用户对于商家的信任度。

交易组件的功能包括业务订单创建、履约、结算和售后整个过程,商家按照小程序交易组件 提供的订单前置校验指引,在公域场景下创建业务订单,并推进业务订单的状态来完成订单资金的结算。

也就是说

交易组件是可以不使用的,但是建议使用。

它是规范不同类型交易的整个流程,让接入者的系统的流程更合理。

对接文档

https://opendocs.alipay.com/mini/repo-02hwkm?pathHash=48b64793&ref=api

涉及的接口

https://opendocs.alipay.com/mini/0894tj?pathHash=6a1fa81b&ref=api

统一收单交易

主要作用是创建账单。

其中out_trade_no(商户订单号)可以理解为业务系统中的账单号

返回值中的trade_no(支付宝交易号)可以理解为支付宝账单号。

文档

https://opendocs.alipay.com/apis/009ziz

测试

https://open.alipay.com/api/apiDebug?frontProdCode=I1080300001000060370&backProdCode=I1140300001000013424&apiNames=alipay.trade.create

交易组件和JSAPI的接口

https://opendocs.alipay.com/mini/0894tj?pathHash=6a1fa81b&ref=api

支付

支付的方式有两种

  • 用户主动支付
  • 服务端扣款

用户主动支付又分两种

  • 主动支付押金(预授权支付)
  • 支付账单

服务端扣款也分两种

  • 预授权转支付
  • 业务单代扣(需要开通商家扣款并且联系业务经理将签约的商家扣款产品设置为业务单代扣模式)

租赁对接全流程

小程序获取追踪ID

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
getSourceId() {
return new Promise((resolve, reject) => {
if (my.canIUse('checkBeforeAddOrder')) {
my.checkBeforeAddOrder({
success({ requireOrder, sourceId, sceneId }) {
resolve(sourceId);
},
fail({ error, errorMessage }) {
resolve('');
},
complete() {}
});
}
});
},

这个必须在真机或者模拟器登录账号的前提下测试。

租赁商品接入

https://opendocs.alipay.com/mini/0calzt

分期单支付支持:预授权转交易、业务单代扣、主动支付进行分期扣款。

创建订单

https://opendocs.alipay.com/mini/54f80876_alipay.open.mini.order.create

主动支付

主动支付是

  1. 服务端调用统一收单交易创建接口返回trade_no
  2. 小程序调用my.tradePay进行支付
  3. 支付成功后,服务端调用订单分期接口进行绑定。

服务端调用统一收单交易创建接口

https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?pathHash=779dc517&scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5

创建分期单

https://opendocs.alipay.com/mini/2cce2a35_alipay.open.mini.order.installment.create

image

小程序支付

https://opendocs.alipay.com/mini/api/openapi-pay

https://opendocs.alipay.com/mini/05xhsr?pathHash=d4709298

发起支付。

可用于 JSAPI 支付预授权支付

  • JSAPI 支付:唤起收银台进行支付,目前支持花呗分期支付,不支持扫码、条码、声波付等方式支付。
  • 预授权支付:冻结用户一定资金作为押金,后续按实际消费金额从用户冻结资金中扣除给商家,剩余金额解冻最终再返还给用户。

预授权支付

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
let orderStr = 'alipay_sdk=alipay-sdk-java-3.0.118.DEV&app_id=2018112803019836&biz_content=%7B%22amount%22%3A%220.02%22%2C%22extra_param%22%3A%22%7B%5C%22category%5C%22%3A%5C%22CHARGE_PILE_CAR%5C%22%7D%22%2C%22order_title%22%3A%22%D6%A7%B8%B6%B1%A6%D4%A4%CA%DA%C8%A8%22%2C%22out_order_no%22%3A%22ZMOutOrderNoAppFreeze2018052915543415090975%22%2C%22out_request_no%22%3A%22ZMOutReqNoAppFreeze20180529155434581875858%22%2C%22pay_timeout%22%3A%222d%22%2C%22payee_user_id%22%3A%222088202224929664%22%2C%22product_code%22%3A%22PRE_AUTH_ONLINE%22%7D&charset=GBK&format=json&method=alipay.fund.auth.order.app.freeze&sign=L4wk%2FNKcbJOo3n6Q5qbPzn0jUsvZlK4jr7iXnghudR0zeWJMmeNC71qIBSQfIz45n%2B5iTd0NQ5IK581xI2xCShTCiKAywnQcDmA%2Bjf%2BrRdKCDQCMLfCz%2BZ37C%2B6zxAX3e81%2F8Hr29lw4VPFfHkp9FmMwKw%2FGkNfV5ZlWoh7UtN8%3D&sign_type=RSA&timestamp=2018-05-29+15%3A54%3A35&version=1.0'

my.tradePay ({
// 调用资金冻结接口(alipay.fund.auth.order.app.freeze),获取支付宝预授权参数
orderStr: orderStr,
success: res => {
if (res.resultCode == '9000') {
my.alert({
content: '支付成功'
});
}
if (res.resultCode == '6001') {
my.alert({
content: '取消支付'
});
}
},
fail: res => {
my.alert({
content: '支付失败'
});
},
});

JSAPI 支付

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
my.tradePay ({
// 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号 trade_no
tradeNO: '201711152100110410533667792',
success: res => {
if (res.resultCode == '9000') {
my.alert({
content: '支付成功'
});
}
if (res.resultCode == '6001') {
my.alert({
content: '取消支付'
});
}
},
fail: error => {
my.alert({
content: '支付失败'
});
},
});

芝麻免押

https://opendocs.alipay.com/open/03w0a8?pathHash=d3c885ce

https://opendocs.alipay.com/open/03w0a6?pathHash=8fcf7eb1&ref=api

商户平台

https://b.alipay.com/page/zmgaia/pre-auth/index

守约连接

https://opendocs.alipay.com/b/03ag31

信用服务ID

https://b.alipay.com/page/zmgaia/pre-auth/index

预授权支付

芝麻免押就是预授权支付的一种形式,只是传的参数有些许变化

冻结文档

https://opendocs.alipay.com/open/e2e70da4_alipay.fund.auth.order.app.freeze

信用服务IDserviceId,可以在这查看

https://b.alipay.com/page/zmgaia/pre-auth/index

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package com.java.sdk.demo;

import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.AlipayConfig;
import com.alipay.api.response.AlipayFundAuthOrderAppFreezeResponse;
import com.alipay.api.request.AlipayFundAuthOrderAppFreezeRequest;
import com.alipay.api.domain.AlipayFundAuthOrderAppFreezeModel;

import com.alipay.api.FileItem;
import java.util.Base64;
import java.util.ArrayList;
import java.util.List;

public class AlipayFundAuthOrderAppFreeze {

public static void main(String[] args) throws AlipayApiException {
// 初始化SDK
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());

// 构造请求参数以调用接口
AlipayFundAuthOrderAppFreezeRequest request = new AlipayFundAuthOrderAppFreezeRequest();
AlipayFundAuthOrderAppFreezeModel model = new AlipayFundAuthOrderAppFreezeModel();

// 设置订单标题
model.setOrderTitle("XX租车押金");

// 设置商户授权资金订单号
model.setOutOrderNo("xxx8077735255938023");

// 设置商户本次资金操作的请求流水号
model.setOutRequestNo("8077735255938032");

// 设置需要冻结的金额
model.setAmount("0.01");

// 设置预授权订单相对超时时间
model.setTimeoutExpress("2d");

// 设置销售产品码
model.setProductCode("PRE_AUTH_ONLINE");

// 设置业务扩展参数
model.setExtraParam("{\"category\": \"RENT_COMPUTER\",\"serviceId\": \"2020042800000000000001450466\"}");

// 设置免押受理台模式
model.setDepositProductMode("DEPOSIT_ONLY");

request.setBizModel(model);
// 第三方代调用模式下请设置app_auth_token
// request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");

AlipayFundAuthOrderAppFreezeResponse response = alipayClient.sdkExecute(request);
String orderStr = response.getBody();
System.out.println(orderStr);

if (response.isSuccess()) {
System.out.println("调用成功");
} else {
System.out.println("调用失败");
// sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
// String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
// System.out.println(diagnosisUrl);
}
}

private static AlipayConfig getAlipayConfig() {
String privateKey = "<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->";
String alipayPublicKey = "<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->";
AlipayConfig alipayConfig = new AlipayConfig();
alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
alipayConfig.setAppId("<-- 请填写您的AppId,例如:2019091767145019 -->");
alipayConfig.setPrivateKey(privateKey);
alipayConfig.setFormat("json");
alipayConfig.setAlipayPublicKey(alipayPublicKey);
alipayConfig.setCharset("UTF-8");
alipayConfig.setSignType("RSA2");
return alipayConfig;
}
}

开通产品后,需要申请信用服务,申请完成后获取 3 个关键字段,用于调用芝麻免押产品使用。

说明:如您已完成申请信用服务,可通过 自助诊断工具 查询信用服务 ID。

https://open.alipay.com/api/diagnosticTool?expand=DI00001005&subCode=BIZ_004

免押并签约代扣

https://opendocs.alipay.com/b/0crqgx?pathHash=935e5b14

全流程

https://opendocs.alipay.com/open/03w0a8?pathHash=d3c885ce&ref=api

216bb5f83754568facbd3d11a1908270

测试芝麻免押

https://b.alipay.com/page/zmgaia/pre-auth/index

image-20240924110753948

对接后芝麻免押并不会立即生效

在验收前用户是不能正常免押的,可以先让开发人员扫码加入白名单就可以进行测试

image-20240923214905524

验收流程

https://opendocs.alipay.com/b/08t4x8?pathHash=294fe925

image-20240924112241337

自助验收

https://open.alipay.com/api/apiSolutionList?type=ability

验收要求

验收要求

预授权转支付注意事项

https://opendocs.alipay.com/b/0a62u9?pathHash=343a2a3f

扣款成功

  • 只有当用户账上资金足够,才能扣款成功,不存在“有多少扣多少”这样的部分扣款方式。
  • 如果该笔预授权冻结了用户资金,则优先从中扣款,扣完后才会从其他渠道(余额、花呗、银行卡等)。
  • 请注意:如果auth_confirm_mode未传入COMPLETE,之后订单完结时,务必解冻剩余金额,否则用户状态始终为待守约,引发客诉。

    如果转支付扣款失败:

  • 扣款失败后,同一笔款项(例如充电宝租金、长租的某月租金),请务必始终维持最初的out_trade_no继续扣款,不要更换!!!

    若要更换金额扣款,需要关闭在途扣款交易,重新发起扣款。

  • 此接口可查询剩余冻结金额https://opendocs.alipay.com/open/306c2ebb_alipay.fund.auth.operation.detail.query?scene=common&pathHash=604ad633

  • 扣款失败后,支付宝不会自动轮询重试,请商家每隔一段时间,自行重试扣款。

  • 一定期限(不同场景期限不同,一般为5-10天)后,如果扣款仍未成功且该交易未关闭,芝麻将推送用户逾期。

订单结束

1、主动结束

  • 当订单结束后,无论是订单取消、转支付扣款成功、其他方式收款成功、用户无需付款但已履约,均需调用预授权解冻接口,全额解冻剩余金额。

2、到期自动解冻

  • 预授权订单生成之后一定期限(一般是365天),系统将自动解冻剩余金额。
  • 如果此时没有未完结的交易单(扣款失败,但未同步已守约或已取消),商家无需做任何处理。
  • 如果此时还有未完结的交易单,则无法发起转支付扣款,商家需要通过其他方式收回款项,并调用订单信息同步接口,将对应交易同步为已履约。

租押分离

在规定范围内赋予用户一定的可免金额(assessmentAmount),赋予用户可免的押金不超过订单最大扣款金额的80%;
注意:此能力可升级V2.0,可进行差异化评估等能力,但1.0足够;
能力开放条件:L2可接入2.0差异化押金评估,L3可以回归1.0取自主设定押金

1.0接入文档:https://opendocs.alipay.com/b/0d7fxr?pathHash=098ca1d1
2.0接入文档:https://opendocs.alipay.com/b/0emx3l

专业版风控

接入专业版异步风控,获得三个返参等级,用于判断订单风险;
能力开放条件:L2

https://opendocs.alipay.com/b/0d3p5l?pathHash=26975c46

返回值字典:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//综合风险等级
function getRentOnlineRiskLevelOverallStr(rentOnlineRiskLevelOverall: string): string {
let tempMap: { [key: string]: string } = {
'0': '低风险',
'1': '中风险',
'2': '高风险',
'3': '极高风险'
}

return tempMap[rentOnlineRiskLevelOverall] || ''
}
//共租行为等级
function getRentOnlineRiskLevelMultiRentStr(rentOnlineRiskLevelMultiRent: string): string {
let tempMap: { [key: string]: string } = {
'0': '共租风险低',
'1': '共租风险中',
'2': '共租风险高'
}

return tempMap[rentOnlineRiskLevelMultiRent] || ''
}
//履约历史等级
function getRentOnlineRiskLevelFulfillStr(rentOnlineRiskLevelFulfill: string): string {
let tempMap: { [key: string]: string } = {
'0': '无逾期',
'1': '正在逾期或者历史有N+逾期'
}

return tempMap[rentOnlineRiskLevelFulfill] || ''
}

租赁业务单代扣

https://www.yuque.com/yuhuai-aw5w5/kb/fb1cgb7g0pmnzo9b?singleDoc#

租物风控

https://www.yuque.com/u28154685/zv3alp/xxnh32536osuh07t?singleDoc#

小程序商品

https://opendocs.alipay.com/mini/0dqecn?pathHash=e89fd65e

小程序内页

商品详情-支付宝可访问

1
2
let url = `alipays://platformapi/startapp?appId=2021004153612039&page=${encodeURIComponent("/pages_a/goods/goodsdetail?goodsId=10")}`
console.info(url);

商品详情-浏览器和支付宝可访问

1
2
3
4
let goodsId = "10";
let pageUrl = encodeURIComponent("/pages_a/goods/goodsdetail?goodsId=" + goodsId);
let allUrl = 'https://ds.alipay.com/?scheme=' + encodeURIComponent(`alipays://platformapi/startapp?appId=2021004153612039&page=${pageUrl}`)
console.info(allUrl);

守护链接-动态链接(账单详情)

1
2
let url = `alipays://platformapi/startapp?appId=2021004153612039&page=${encodeURIComponent("/pages_d/billdetail/billdetail?orderCode=")}`+'${out_order_no}';
console.info(url);

小程序场景

https://opendocs.alipay.com/mini/framework/scene

消息

运营:https://opendocs.alipay.com/b/03al94?pathHash=120b4836
产品接入文档:https://opendocs.alipay.com/mini/repo-01emf6?ref=api

商家平台 => 工作台 => 私域 => 小程序 => 点击对应的小程序 => 消息

订阅消息对接

https://opendocs.alipay.com/mini/03l9bb?pathHash=19d2e0aa&ref=api#%E8%AE%A2%E9%98%85%E6%B6%88%E6%81%AF

会员卡

https://opendocs.alipay.com/open/repo-01ag27

商家券

https://opendocs.alipay.com/open/03rr8k?pathHash=c2ad7338

领券插件

https://opendocs.alipay.com/open/08bcgx?pathHash=56ef335b

领券组件插件开通页面

https://open.alipay.com/plugin/order-page?serviceCode=MP2021090600100574

插件管理页面

https://open.alipay.com/dev/workspace/plugin-center/get-plugin

其它

产品能力 描述 文档地址
租赁快捷下单 接入官方快捷下单插件,插件包含商品详情页、sku选择面板、确认订单页等用户租赁意向确认页,集合了 实名认证、人脸核身、芝麻风控、免押预授权、业务单代扣等关键产品能力。 https://xfpzl.yuque.com/dgw58m/apg2ie/gyovgcdyzpsbgfpy?singleDoc#
差异化商品定价 接入快捷下单后需验证差异化定价商品价格折扣展示及端内价格更改 https://www.yuque.com/price-0zdzb/ck687t/wvlqoa22mpqmb7yz?singleDoc#
租赁营销工具 此工具为快捷下单接入后需校验优惠的能力,需与快捷下单一并开发 https://xfpzl.yuque.com/dgw58m/nustx9/cnhxfwm1gc2nrabx?singleDoc#