Skip to content

概述

芝麻信用免押是EBAOZU租赁业务的核心功能,通过芝麻信用分代替押金,降低用户租赁门槛。本文档详细介绍芝麻信用免押的架构、流程和开发细节。

架构设计

核心组件

CreditZhimaServices (芝麻信用核心服务)
├── AlipayZhimaTraits (公共Trait)
│   ├── queryFreezeOrder()     # 查询免押冻结订单
│   ├── tradeRefund()          # 退款
│   ├── tradeRefundQuery()     # 退款查询
│   └── getRiskAssessmentPrice() # 获取风控评估金额

├── createFreezeOrder()        # 创建免押冻结订单
├── reletCheck()               # 续租免押校验
├── voucherQrCodeCreate()      # 资金授权发码
├── cancelFreezeOrder()        # 取消免押冻结订单
├── tradePay()                 # 代扣支付
├── buyoutPay()                # 买断扣款
├── tradeSync()                # 订单信息同步
├── creditBusinessPlanCreate() # 履约计划创建
├── creditBusinessPlanModify() # 履约计划修改
├── changeLeasePlanAfterTake() # 确认收货后修改分期
├── handleCreateNotify()       # 免押冻结回调处理
├── leaseAutoAudit()           # 自动初审
├── handleUnfreezeNotify()     # 解冻回调处理
└── handleTradeNotify()        # 代扣回调处理

代码来源:app/services/alipay/CreditZhimaServices.php

调用流程

用户下单

创建免押冻结订单 (createFreezeOrder)

资金授权发码 (voucherQrCodeCreate)

用户扫码同意免押

免押冻结回调 (handleCreateNotify)

自动初审 (leaseAutoAudit)

代扣支付 (tradePay)

确认收货后修改分期 (changeLeasePlanAfterTake)

买断/归还/续租

解冻回调 (handleUnfreezeNotify)

开发指南

创建免押冻结订单

php
// 创建免押冻结订单
$zhimaServices = app()->make(CreditZhimaServices::class);
$result = $zhimaServices->createFreezeOrder($orderId);

参数说明:

  • $orderId — 订单ID

返回值:

  • 成功:返回冻结订单信息
  • 失败:抛出异常

代码来源:app/services/alipay/CreditZhimaServices.php:67

资金授权发码

php
// 资金授权发码(生成免押二维码)
$result = $zhimaServices->voucherQrCodeCreate($orderId);

参数说明:

  • $orderId — 订单ID

返回值:

  • 成功:返回二维码URL
  • 失败:抛出异常

代码来源:app/services/alipay/CreditZhimaServices.php:188

代扣支付

php
// 代扣支付(芝麻免押分期扣款)
$result = $zhimaServices->tradePay($orderId, $num);

参数说明:

  • $orderId — 订单ID
  • $num — 分期期数

返回值:

  • 成功:返回支付结果
  • 失败:抛出异常

代码来源:app/services/alipay/CreditZhimaServices.php:263

买断扣款

php
// 买断扣款支付
$result = $zhimaServices->buyoutPay($orderId, $operator);

参数说明:

  • $orderId — 订单ID
  • $operator — 操作者信息

返回值:

  • 成功:返回支付结果
  • 失败:抛出异常

代码来源:app/services/alipay/CreditZhimaServices.php:454

查询免押冻结订单

php
// 查询免押冻结订单
$result = $zhimaServices->queryFreezeOrder($orderId);

参数说明:

  • $orderId — 订单ID

返回值:

  • 成功:返回冻结订单信息(含冻结状态、金额等)
  • 失败:抛出异常

代码来源:app/services/alipay/AlipayZhimaTraits.php:30

退款

php
// 退款(分期账单退款)
$result = $zhimaServices->tradeRefund($orderId, $refundAmount, $outRequestNo, $remark, $refundRoyaltyParameters);

参数说明:

  • $orderId — 订单ID
  • $refundAmount — 退款金额
  • $outRequestNo — 退款请求号
  • $remark — 退款备注
  • $refundRoyaltyParameters — 分账退款参数

返回值:

  • 成功:返回退款结果
  • 失败:抛出异常

代码来源:app/services/alipay/AlipayZhimaTraits.php:109

履约计划创建

php
// 芝麻商业信用履约计划创建
$result = $zhimaServices->creditBusinessPlanCreate($orderId);

参数说明:

  • $orderId — 订单ID

返回值:

  • 成功:返回履约计划信息
  • 失败:抛出异常

代码来源:app/services/alipay/CreditZhimaServices.php:768

履约计划修改

php
// 芝麻商业信用履约计划修改
$result = $zhimaServices->creditBusinessPlanModify($orderId, $type, $params);

参数说明:

  • $orderId — 订单ID
  • $type — 修改类型(单期/整体)
  • $params — 修改参数

返回值:

  • 成功:返回修改结果
  • 失败:抛出异常

代码来源:app/services/alipay/CreditZhimaServices.php:848

回调处理

免押冻结回调

php
// 处理免押冻结订单异步回调
$zhimaServices->handleCreateNotify($notify);

处理逻辑:

  1. 更新冻结状态
  2. 更新冻结金额
  3. 触发自动初审

代码来源:app/services/alipay/CreditZhimaServices.php:1004

解冻回调

php
// 资金授权订单解冻/撤销通知处理
$zhimaServices->handleUnfreezeNotify($notify);

处理逻辑:

  1. 更新解冻状态
  2. 更新订单状态

代码来源:app/services/alipay/CreditZhimaServices.php:1148

代扣回调

php
// 分期代扣支付异步回调
$zhimaServices->handleTradeNotify($notify);

处理逻辑:

  1. 更新分期状态
  2. 更新支付记录
  3. 触发后续业务

代码来源:app/services/alipay/CreditZhimaServices.php:1173

自动初审

自动初审逻辑

php
// 自动初审(基于风控评分+年龄)
$zhimaServices->leaseAutoAudit($orderId);

初审规则:

  1. 获取风控评分
  2. 检查年龄限制
  3. 匹配机审策略
  4. 执行通过/拒绝

代码来源:app/services/alipay/CreditZhimaServices.php:1086

配置项

配置项说明代码位置
alipay_zhima_freeratio租押分离押金比例CreditZhimaServices.php
lease_check_type代扣签约类型(1=芝麻免押)StoreOrderServices.php
face_auth_config下单前人脸识别开关StoreOrderCreateServices.php
contract_sign合同类别(1=e签宝, 2=爱签)StoreOrderCreateServices.php

常见问题

Q: 芝麻免押失败怎么办?

A: 检查以下条件:

  1. 用户芝麻信用分是否满足要求
  2. alipay_zhima_freeratio 配置是否正确
  3. 订单是否满足免押条件
  4. 支付宝接口是否正常

Q: 代扣失败怎么办?

A: 检查以下条件:

  1. 代扣时间是否在 7:00-22:00 之间
  2. 用户支付宝余额是否充足
  3. 代扣协议是否已签署
  4. 冻结金额是否充足

Q: 续租免押校验失败怎么办?

A: 续租免押校验有330-720天窗口期限制,检查:

  1. 续租天数是否在窗口期内
  2. 原订单免押状态是否正常
  3. 续租金额是否超过冻结额度

承信租多门店租赁商城系统官方文档