|
|
@@ -22,6 +22,7 @@ import shop.alien.store.service.LifeUserService;
|
|
|
import shop.alien.store.service.StoreAliPayErrorLogService;
|
|
|
import shop.alien.store.service.StoreAliPayLogService;
|
|
|
import shop.alien.store.service.StoreUserService;
|
|
|
+import shop.alien.store.util.ali.ocr.OcrStrategyFactory;
|
|
|
import shop.alien.util.common.RandomCreateUtil;
|
|
|
import shop.alien.util.common.UniqueRandomNumGenerator;
|
|
|
import shop.alien.util.common.UrlEncode;
|
|
|
@@ -49,6 +50,8 @@ public class AliApi {
|
|
|
private final LifeUserService lifeUserService;
|
|
|
|
|
|
private final StoreAliPayErrorLogService storeAliPayErrorLogService;
|
|
|
+
|
|
|
+ private final OcrStrategyFactory ocrStrategyFactory;
|
|
|
|
|
|
/**
|
|
|
* 商家端appId
|
|
|
@@ -346,15 +349,25 @@ public class AliApi {
|
|
|
model.setOrderTitle("商家转账");
|
|
|
// 设置收款方信息
|
|
|
Participant payeeInfo = new Participant();
|
|
|
- payeeInfo.setCertType("IDENTITY_CARD");
|
|
|
- payeeInfo.setCertNo(idCard);
|
|
|
- payeeInfo.setIdentityType("ALIPAY_LOGON_ID");
|
|
|
- if(account!=null){
|
|
|
+ // 智能判断收款方类型
|
|
|
+ if (account.startsWith("2088") && account.length() == 16) {
|
|
|
+ // 如果是商户ID格式(2088开头的16位数字)
|
|
|
+ payeeInfo.setIdentityType("ALIPAY_USER_ID");
|
|
|
+ log.info("检测到收款方为商户ID: {}", account);
|
|
|
+// payeeInfo.setName("爱丽恩严(大连)商务科技有限公司");
|
|
|
+ } else {
|
|
|
+ // 默认为支付宝账号(手机号或邮箱)
|
|
|
+ payeeInfo.setIdentityType("ALIPAY_LOGON_ID");
|
|
|
+ log.info("检测到收款方为支付宝账号: {}", account);
|
|
|
+ payeeInfo.setCertType("IDENTITY_CARD");
|
|
|
+ payeeInfo.setCertNo(idCard);
|
|
|
+ payeeInfo.setName(name);
|
|
|
+ }
|
|
|
+ if(null != account){
|
|
|
payeeInfo.setIdentity(account);
|
|
|
}else{
|
|
|
payeeInfo.setIdentity(phone);
|
|
|
}
|
|
|
- payeeInfo.setName(name);
|
|
|
model.setPayeeInfo(payeeInfo);
|
|
|
// 设置业务备注
|
|
|
model.setRemark("爱丽恩提现业务");
|