mirror of
https://github.com/dromara/payment-spring-boot.git
synced 2026-03-13 21:33:41 +08:00
fix: 二级商户进件字段补充
This commit is contained in:
@@ -34,6 +34,7 @@ import cn.felord.payment.wechat.v3.model.ecommerce.UboInfo;
|
||||
import cn.felord.payment.wechat.v3.model.specmch.SubMchModifyParams;
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
|
||||
import java.net.URI;
|
||||
@@ -68,21 +69,16 @@ public class ApplymentApi extends AbstractApi {
|
||||
*/
|
||||
public WechatResponseEntity<ObjectNode> apply(EcommerceApplymentParams params) {
|
||||
WechatResponseEntity<ObjectNode> wechatResponseEntity = new WechatResponseEntity<>();
|
||||
this.client().withType(WechatPayV3Type.ECOMMERCE_APPLYMENT, params)
|
||||
.function((wechatPayV3Type, applymentParams) -> {
|
||||
SignatureProvider signatureProvider = this.client().signatureProvider();
|
||||
X509WechatCertificateInfo certificate = signatureProvider.getCertificate(this.wechatMetaBean().getTenantId());
|
||||
final X509Certificate x509Certificate = certificate.getX509Certificate();
|
||||
EcommerceApplymentParams applyRequestParams = this.convert(applymentParams, signatureProvider, x509Certificate);
|
||||
URI uri = UriComponentsBuilder.fromHttpUrl(wechatPayV3Type.uri(WeChatServer.CHINA))
|
||||
.build()
|
||||
.toUri();
|
||||
HttpHeaders httpHeaders = new HttpHeaders();
|
||||
httpHeaders.add("Wechatpay-Serial", certificate.getWechatPaySerial());
|
||||
return Post(uri, applyRequestParams, httpHeaders);
|
||||
})
|
||||
.consumer(wechatResponseEntity::convert)
|
||||
.request();
|
||||
this.client().withType(WechatPayV3Type.ECOMMERCE_APPLYMENT, params).function((wechatPayV3Type, applymentParams) -> {
|
||||
SignatureProvider signatureProvider = this.client().signatureProvider();
|
||||
X509WechatCertificateInfo certificate = signatureProvider.getCertificate(this.wechatMetaBean().getTenantId());
|
||||
final X509Certificate x509Certificate = certificate.getX509Certificate();
|
||||
EcommerceApplymentParams applyRequestParams = this.convert(applymentParams, signatureProvider, x509Certificate);
|
||||
URI uri = UriComponentsBuilder.fromHttpUrl(wechatPayV3Type.uri(WeChatServer.CHINA)).build().toUri();
|
||||
HttpHeaders httpHeaders = new HttpHeaders();
|
||||
httpHeaders.add("Wechatpay-Serial", certificate.getWechatPaySerial());
|
||||
return Post(uri, applyRequestParams, httpHeaders);
|
||||
}).consumer(wechatResponseEntity::convert).request();
|
||||
return wechatResponseEntity;
|
||||
}
|
||||
|
||||
@@ -94,16 +90,10 @@ public class ApplymentApi extends AbstractApi {
|
||||
*/
|
||||
public WechatResponseEntity<ObjectNode> queryByApplymentId(String applymentId) {
|
||||
WechatResponseEntity<ObjectNode> wechatResponseEntity = new WechatResponseEntity<>();
|
||||
this.client().withType(WechatPayV3Type.ECOMMERCE_APPLYMENT_ID, applymentId)
|
||||
.function((type, id) -> {
|
||||
URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA))
|
||||
.build()
|
||||
.expand(id)
|
||||
.toUri();
|
||||
return Get(uri);
|
||||
})
|
||||
.consumer(wechatResponseEntity::convert)
|
||||
.request();
|
||||
this.client().withType(WechatPayV3Type.ECOMMERCE_APPLYMENT_ID, applymentId).function((type, id) -> {
|
||||
URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA)).build().expand(id).toUri();
|
||||
return Get(uri);
|
||||
}).consumer(wechatResponseEntity::convert).request();
|
||||
return wechatResponseEntity;
|
||||
}
|
||||
|
||||
@@ -116,16 +106,10 @@ public class ApplymentApi extends AbstractApi {
|
||||
public WechatResponseEntity<ObjectNode> queryByBusinessCode(String outRequestNo) {
|
||||
|
||||
WechatResponseEntity<ObjectNode> wechatResponseEntity = new WechatResponseEntity<>();
|
||||
this.client().withType(WechatPayV3Type.ECOMMERCE_APPLYMENT_OUT_REQUEST_NO, outRequestNo)
|
||||
.function((type, id) -> {
|
||||
URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA))
|
||||
.build()
|
||||
.expand(id)
|
||||
.toUri();
|
||||
return Get(uri);
|
||||
})
|
||||
.consumer(wechatResponseEntity::convert)
|
||||
.request();
|
||||
this.client().withType(WechatPayV3Type.ECOMMERCE_APPLYMENT_OUT_REQUEST_NO, outRequestNo).function((type, id) -> {
|
||||
URI uri = UriComponentsBuilder.fromHttpUrl(type.uri(WeChatServer.CHINA)).build().expand(id).toUri();
|
||||
return Get(uri);
|
||||
}).consumer(wechatResponseEntity::convert).request();
|
||||
return wechatResponseEntity;
|
||||
}
|
||||
|
||||
@@ -159,11 +143,19 @@ public class ApplymentApi extends AbstractApi {
|
||||
if (idCardInfo != null) {
|
||||
idCardInfo.setIdCardName(signatureProvider.encryptRequestMessage(idCardInfo.getIdCardName(), x509Certificate));
|
||||
idCardInfo.setIdCardNumber(signatureProvider.encryptRequestMessage(idCardInfo.getIdCardNumber(), x509Certificate));
|
||||
String idCardAddress = idCardInfo.getIdCardAddress();
|
||||
if (StringUtils.hasText(idCardAddress)) {
|
||||
idCardInfo.setIdCardAddress(signatureProvider.encryptRequestMessage(idCardAddress, x509Certificate));
|
||||
}
|
||||
}
|
||||
EcommerceIdDocInfo idDocInfo = applymentParams.getIdDocInfo();
|
||||
if (idDocInfo != null) {
|
||||
idDocInfo.setIdDocName(signatureProvider.encryptRequestMessage(idDocInfo.getIdDocName(), x509Certificate));
|
||||
idDocInfo.setIdDocNumber(signatureProvider.encryptRequestMessage(idDocInfo.getIdDocNumber(), x509Certificate));
|
||||
String idDocAddress = idDocInfo.getIdDocAddress();
|
||||
if (StringUtils.hasText(idDocAddress)) {
|
||||
idDocInfo.setIdDocAddress(signatureProvider.encryptRequestMessage(idDocAddress, x509Certificate));
|
||||
}
|
||||
}
|
||||
UboInfo uboInfo = applymentParams.getUboInfo();
|
||||
if (uboInfo != null) {
|
||||
|
||||
@@ -31,5 +31,7 @@ public class EcommerceIdCardInfo {
|
||||
private String idCardNational;
|
||||
private String idCardName;
|
||||
private String idCardNumber;
|
||||
private LocalDate idCardValidTime;
|
||||
private String idCardAddress;
|
||||
private LocalDate idCardValidTimeBegin;
|
||||
private String idCardValidTime;
|
||||
}
|
||||
|
||||
@@ -27,8 +27,11 @@ import java.time.LocalDate;
|
||||
*/
|
||||
@Data
|
||||
public class EcommerceIdDocInfo {
|
||||
private String idDocCopy;
|
||||
private String idDocCopyBack;
|
||||
private String idDocName;
|
||||
private String idDocNumber;
|
||||
private String idDocCopy;
|
||||
private String idDocAddress;
|
||||
private LocalDate docPeriodBegin;
|
||||
private String docPeriodEnd;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user