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