uni-app小程序开发-租赁快捷下单接入

前言

产品能力 描述 文档地址
租赁快捷下单 接入官方快捷下单插件,插件包含商品详情页、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#

租赁快捷下单

https://xfpzl.yuque.com/dgw58m/apg2ie/gyovgcdyzpsbgfpy#j53wK

插件订购

https://b.alipay.com/page/fw-market/home/detail/AM010401000000120604

支付宝技术支持

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

差异化商品定价

2024年9月23日后,需完成「租赁快捷下单插件」接入(免费),才可以正常使用芝麻差异化定价优惠工具。插件接入指南:《租赁快捷下单插件接入指南》;接入集成后,差异化定价优惠会自动在官方商详、下单页呈现,无需另外对接。

租赁快捷下单

配置组件

在小程序配置manifest.json 文件中加入如下配置

1
2
3
4
5
6
7
8
9
10
11
{
"mp-alipay": {
"usingComponents": true,
"plugins":{
"goodsDetailPlugin": {
"version": "*", // 自动选择最新版本
"provider": "2021003177653028"
}
}
},
}

然后在 app.vue 中通过引用懒加载模式的方式

1
2
3
4
5
const plugin = requirePlugin('goodsDetailPlugin');

export default {

}

直接购买的回调

租赁商品不用添加该回调

1
2
3
4
5
6
plugin.setPlaceOrderCallback((arg) => {
console.log('arg', arg); // 可获取用户点击「立即购买」的信息
my.redirectTo({
url: '/pages/order/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
plugin.setRentOrderInitCallback(async (params) => {
// 商家需要在当前回调中完成以下内容:
// 1.是否需要用户填写邮箱
// 2.提供租赁协议
// 3.商家优惠计算
// 4.租金、分期计划提供
// 5.提供芝麻免押风控需要参数
console.info('setRentOrderInitCallback', params);

// 商家回传callbackData示例:
return {
success: true,
needEmail: false,
needFaceValidateFlag: false,
merchantExtInfo: {},
bizParamData: {
serviceProtocolList: [
{
protocolUrl: 'url/demo/1',
protocolName: '用户测试授权协议1'
},
{
protocolUrl: 'url/demo/2',
protocolName: '用户测试授权协议2'
}
],
costInfo: {
originalPrice: '399.00',
discountedPrice: '99.00',
totalRent: '300.00',
deposit: '5.00',
stagePayPlan: {
stagePayPlanInfos: [
{
planPayNo: 1,
planPayTime: '2024-08-30 00:00:00',
originalPrice: '399.00',
discountedPrice: '99.00',
planPayPrice: '300.00'
}
]
}
},
advanceRiskCtrlParam: {
serviceId: '信用服务ID',
categoryId: '信用类目:如RENT_PHONE',
maxDeductAmount: '305.00',
riskSchemeId: '专业版定制了风控策略可传入'
}
}
};
});

支付宝传入的参数

1
2
3
4
5
6
7
8
{
duration: "90",
outItemId: "2024102100000347749",
outSkuId: "a10083",
quantity: "1",
rentEndTime: "2025-04-16 23:59:59",
rentStartTime: "2025-01-17 00:00:00"
}

运费回调

1
2
3
4
5
6
7
8
plugin.setRentOrderChangeCallback((params) => {
// 商家需要在当前回调中完成以下内容:
// 1.邮费的计算
return {
freight: '0', // 商家实际计算出来的金额
success: true
};
});

提交订单回调

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
plugin.setRentOrderSubmitCallback(async (params) => {
my.confirm({
content: JSON.stringify(params)
});
//-------begin--------
//TODO:此处需要开发者自行实现
// 需要自己完成的步骤:
// 1.订单前置判断接口获取 sourceId
// 2.调用openapi创建业务单(参考https://opendocs.alipay.com/mini/54f80876_alipay.open.mini.order.create?pathHash=dffb8037)
// 3.返回交易组件订单号、
//-------end--------
// 调用接口

return {
success: true,
orderId: '', // 支付宝侧交易订单号
outOrderId: '', // 商家侧交易订单号
path: `pages/index/index` // 商家订单详情页链接
};
});

联调

方式1

安装 小程序开发者工具(IDE),在 onload 中添加以下代码实现插件页面跳转,进行联调。

注意:接入租赁快捷下单插件需使用 3.6.1 及以上版本 IDE,2.8.9 及以上版本基础库。点击下载

1
2
3
4
5
onLoad(){
my.navigateTo({
url:'plugin://goodsDetailPlugin/rentGoodsDetail?outItemId=${outItemId}'//outItemId:必填,商品编码
})
},

注意:

  • goodsDetailPlugin 需要 跟 app.json 中插件引入的命名保持一致

  • outItemId:商家侧商品编码 替换为商品管理中上传的商家侧商品编码。

方式2

发布插件联调版本,然后通过 schema 跳转。

1
alipays://platformapi/startapp?appId=商家小程序&page=plugin-private%3A%2F%2F2021003177653028%2Fpages%2FrentGoodsDetail%2Findex%3FoutItemId%3D商家侧商品编码
1
alipays://platformapi/startapp?appId=2021004153612039&page=plugin-private%3A%2F%2F2021003177653028%2Fpages%2FrentGoodsDetail%2Findex%3FoutItemId%3D2024102900000461134