|
|
@@ -295,7 +295,8 @@ public class WxProviderServiceImpl implements WxProviderService {
|
|
|
*/
|
|
|
public CloseableHttpClient httpClient() {
|
|
|
WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create()
|
|
|
- .withMerchant(wechatPayServiceConfig.getSpMchId(), wechatPayServiceConfig.getSerialNo(), getPrivateKey(wechatPayServiceConfig.getKeyPemPath()))
|
|
|
+ .withMerchant(wechatPayServiceConfig.getSpMchId(),
|
|
|
+ wechatPayServiceConfig.getSerialNo(), getPrivateKey(wechatPayServiceConfig.getKeyPemPath()))
|
|
|
.withValidator(new WechatPay2Validator(getVerifier()));
|
|
|
// 通过WechatPayHttpClientBuilder构造的HttpClient,会自动的处理签名和验签,并进行证书自动更新
|
|
|
return builder.build();
|
|
|
@@ -565,13 +566,13 @@ public class WxProviderServiceImpl implements WxProviderService {
|
|
|
|
|
|
//身份证信息
|
|
|
IdCardInfo idCardInfo = new IdCardInfo();
|
|
|
- idCardInfo.setIdCardCopy("身份证人像面照片");
|
|
|
- idCardInfo.setIdCardNational("身份证国徽面照片");
|
|
|
- idCardInfo.setIdCardName("身份证姓名");
|
|
|
- idCardInfo.setIdCardNumber("身份证号码");
|
|
|
- idCardInfo.setIdCardAddress("身份证居住地址-主体类型为企业时,需要填写。其他主体类型,无需上传");
|
|
|
- idCardInfo.setCardPeriodBegin("身份证有效期开始时间");
|
|
|
- idCardInfo.setCardPeriodEnd("身份证有效期结束时间");
|
|
|
+ idCardInfo.setIdCardCopy(wxUploadImg(form.getIdCardCopy()));
|
|
|
+ idCardInfo.setIdCardNational(wxUploadImg(form.getIdCardNational()));
|
|
|
+ idCardInfo.setIdCardName(rsaEncryptData(form.getIdCardName()));
|
|
|
+ idCardInfo.setIdCardNumber(rsaEncryptData(form.getIdCardNumber()));
|
|
|
+ idCardInfo.setIdCardAddress(rsaEncryptData(form.getIdCardAddress()));
|
|
|
+ idCardInfo.setCardPeriodBegin(form.getCardPeriodBegin());
|
|
|
+ idCardInfo.setCardPeriodEnd(form.getCardPeriodEnd());
|
|
|
identityInfo.setIdCardInfo(idCardInfo);
|
|
|
subjectInfo.setIdentityInfo(identityInfo);
|
|
|
List<UBOInfoList> uboInfoList = Lists.newArrayList();
|
|
|
@@ -579,51 +580,63 @@ public class WxProviderServiceImpl implements WxProviderService {
|
|
|
//最终受益人信息列表(UBO) 主体类型为企业时,需填写
|
|
|
UBOInfoList uboInfo = new UBOInfoList();
|
|
|
uboInfo.setUboIdDocType("IDENTIFICATION_TYPE_IDCARD");
|
|
|
- uboInfo.setUboIdDocCopy("证件正面照片");
|
|
|
- uboInfo.setUboIdDocCopyBack("证件反面照片");
|
|
|
- uboInfo.setUboIdDocName("证件姓名");
|
|
|
- uboInfo.setUboIdDocNumber("证件号码");
|
|
|
- uboInfo.setUboIdDocAddress("证件居住地址");
|
|
|
- uboInfo.setUboPeriodBegin("证件有效期开始时间");
|
|
|
- uboInfo.setUboPeriodEnd("证件有效期结束时间");
|
|
|
+ uboInfo.setUboIdDocCopy(wxUploadImg(form.getIdCardCopy()));
|
|
|
+ uboInfo.setUboIdDocCopyBack(wxUploadImg(form.getIdCardNational()));
|
|
|
+ uboInfo.setUboIdDocName(rsaEncryptData(form.getIdCardName()));
|
|
|
+ uboInfo.setUboIdDocNumber(rsaEncryptData(form.getIdCardNumber()));
|
|
|
+ uboInfo.setUboIdDocAddress(rsaEncryptData(form.getIdCardAddress()));
|
|
|
+ uboInfo.setUboPeriodBegin(form.getCardPeriodBegin());
|
|
|
+ uboInfo.setUboPeriodEnd(form.getCardPeriodEnd());
|
|
|
uboInfoList.add(uboInfo);
|
|
|
subjectInfo.setUboInfoList(uboInfoList);
|
|
|
submitInfo.setSubjectInfo(subjectInfo);
|
|
|
|
|
|
//经营资料
|
|
|
BusinessInfo businessInfo = new BusinessInfo();
|
|
|
- businessInfo.setMerchantShortname("商户简称");
|
|
|
- businessInfo.setServicePhone("客服电话");
|
|
|
+ businessInfo.setMerchantShortname(form.getMerchantShortname());
|
|
|
+ businessInfo.setServicePhone(form.getServicePhone());
|
|
|
+
|
|
|
+ //经营场景
|
|
|
SalesInfo salesInfo = new SalesInfo();
|
|
|
+ salesInfo.setSalesScenesType(Lists.newArrayList("SALES_SCENES_STORE","SALES_SCENES_MINI_PROGRAM"));
|
|
|
+
|
|
|
+ //线下场所场景
|
|
|
StoreInfo storeInfo = new StoreInfo();
|
|
|
- storeInfo.setBizStoreName("线下场所名称");
|
|
|
- storeInfo.setBizAddressCode("线下场所省市编码");
|
|
|
- storeInfo.setBizStoreAddress("线下场所地址");
|
|
|
- storeInfo.setStoreEntrancePic(Lists.newArrayList("线下场所门头照片"));
|
|
|
- storeInfo.setIndoorPic(Lists.newArrayList("线下场所内部照片"));
|
|
|
- storeInfo.setBizSubAppid("线下场所对应的商家AppID");
|
|
|
+ storeInfo.setBizStoreName(form.getBizStoreName());
|
|
|
+ storeInfo.setBizAddressCode(form.getBizAddressCode());
|
|
|
+ storeInfo.setBizStoreAddress(form.getBizStoreAddress());
|
|
|
+
|
|
|
+ storeInfo.setStoreEntrancePic(wxUploadImgList(Lists.newArrayList(form.getStoreEntrancePic())));
|
|
|
+ storeInfo.setIndoorPic(wxUploadImgList(Lists.newArrayList(form.getIndoorPic())));
|
|
|
+
|
|
|
+ storeInfo.setBizSubAppid("wx472b8557b46b80c2");
|
|
|
salesInfo.setBizStoreInfo(storeInfo);
|
|
|
+
|
|
|
+ //小程序场景
|
|
|
MiniProgramInfo miniProgramInfo = new MiniProgramInfo();
|
|
|
- miniProgramInfo.setMiniProgramAppid("服务商小程序AppID");
|
|
|
- miniProgramInfo.setMiniProgramSubAppid("商家小程序AppID");
|
|
|
- miniProgramInfo.setMiniProgramPics(Lists.newArrayList("小程序截图"));
|
|
|
+ miniProgramInfo.setMiniProgramAppid("wx84ac4c97670ae96f");
|
|
|
+ miniProgramInfo.setMiniProgramSubAppid("wx472b8557b46b80c2");
|
|
|
+ miniProgramInfo.setMiniProgramPics(wxUploadImgList(Lists.newArrayList("小程序截图")));
|
|
|
salesInfo.setMiniProgramInfo(miniProgramInfo);
|
|
|
businessInfo.setSalesInfo(salesInfo);
|
|
|
submitInfo.setBusinessInfo(businessInfo);
|
|
|
|
|
|
+ //结算规则
|
|
|
SettlementInfo settlementInfo = new SettlementInfo();
|
|
|
- settlementInfo.setSettlementId("入驻结算规则ID");
|
|
|
- settlementInfo.setQualificationType("所属行业-填写指定行业名称");
|
|
|
+ settlementInfo.setSettlementId(form.getSubjectType().equals("SUBJECT_TYPE_INDIVIDUAL") ? "719" : "716");
|
|
|
+ settlementInfo.setQualificationType(form.getQualificationType());
|
|
|
submitInfo.setSettlementInfo(settlementInfo);
|
|
|
|
|
|
+ //结算银行账户
|
|
|
BankAccountInfo bankAccountInfo = new BankAccountInfo();
|
|
|
bankAccountInfo.setBankAccountType("对公银行账户/经营者个人银行卡");
|
|
|
- bankAccountInfo.setAccountName("开户名称");
|
|
|
+ bankAccountInfo.setAccountName(rsaEncryptData("开户名称"));
|
|
|
+
|
|
|
+ //开户银行-对私银行列表-对公银行列表-是否需要填写支行字段-bank_alias_code
|
|
|
bankAccountInfo.setAccountBank("开户银行");
|
|
|
- bankAccountInfo.setBankAddressCode("开户银行省市编码");
|
|
|
+ //查询接口
|
|
|
bankAccountInfo.setBankBranchId("开户银行银行号");
|
|
|
- bankAccountInfo.setBankName("开户银行全称(含支行)");
|
|
|
- bankAccountInfo.setAccountNumber("银行账号");
|
|
|
+ bankAccountInfo.setAccountNumber(rsaEncryptData("银行账号"));
|
|
|
submitInfo.setBankAccountInfo(bankAccountInfo);
|
|
|
Gson gson = new Gson();
|
|
|
String json = gson.toJson(submitInfo);
|
|
|
@@ -638,6 +651,20 @@ public class WxProviderServiceImpl implements WxProviderService {
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
+ private static List<String> wxUploadImgList(List<String> imgList) {
|
|
|
+ List<String> wxImgList = Lists.newArrayList();
|
|
|
+ for (String img : imgList) {
|
|
|
+ wxImgList.add(wxUploadImg(img));
|
|
|
+ }
|
|
|
+ return wxImgList;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String toDataImgList(List<String> imgList) {
|
|
|
+ return String.join(",", imgList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public static void main(String[] args) {
|
|
|
+
|
|
|
}
|
|
|
}
|