我在使用微信V3支付后,服务器微信支付回调方法中 wxPayService.parsePartnerOrderNotifyV3Result一直包null,并且观看源码时发现报错地方在方法结尾的}行。
WxJava
模块名: weixin-java-payWxJava
版本号: 4.5.3.B使用 WxPayService.createOrderV3()进行下单付款,然后在支付回调时使用wxPayService.parsePartnerOrderNotifyV3Result()来进行解析微信传过来的参数,但是一直在parsePartnerOrderNotifyV3Result()方法里报null。传过来的参数进行打印观看了,参数接受正常无错误。
parsePartnerOrderNotifyV3Result(String var1,, SignatureHeader var2) 的两个参数
var1:是 PayNotifyForm中resource下的ciphertext
PayNotifyForm(id=4366c511-921b-58a4-bfea-692e7d017078, create_time=2023-08-11T10:30:41+08:00, event_type=TRANSACTION.SUCCESS, resource_type=encrypt-resource, resource=ResourceForm(algorithm=AEAD_AES_256_GCM, ciphertext=lt/KyTfsCQZYnEiE3pY0M6OhVXsij/kbr6W7Ce/OQ2cGGA8LNNskHR9nYNdcKGJQAsT83Xv9zgr+M6kQYNJJUAV3gcErNMbv7szjxbxEEbofNfZbQgOjUc3OnRTVVuDteKaTv57e6Krtqwh0CME3OFV6j4nL3TGuCS5+WYp6MT7n8hQmX7EaT12PkwGAu1xkEywTHc3TKwo8xtsibMr3qWkz+h8zBs1+8BfhqIIgnRZLrJ+44RE8CFephGyBudwxLbaAjcwLd4RgzG81g+1YVxmXJw2XORfcfEQZLBWEFKcMI0wPzuUwbCDsylgs4wSh48QMu4Zwn8TM1nYeFwPBld/kf95sm+MM4OC8+Uz+NwYkx8jUq1xexymQx+KmNjIRr5hOmmPDjDkTmu7saz9FMBdjoARlRhkAVZuhJ4Bix375OPZt17wW9UJ0IDSA8GcIrKGbJLWvTixiR4uTCCWso1vmunFjnfjDBF8idU2Gf8AV+WqOjUmp+W1rynpth7BNf+ZIhnHObjALSaMZg+SBFKQ3ZkHYhrxxPxaJVrqONmC6ja5loP2RInoN5td3xmRa7vNnz8w/4ulScarpO6Y/, associated_data=transaction, original_type=transaction, nonce=d8NbmFev9NDS), summary=?§??3é1|)
var2:是HttpServletRequest request 中get出来的参数结果如下
Timestamp: 1691721041
Nonce: Ffv4pVmaCTfP5PFcvHdTI8rINtpYe8BL
Serial: 44886E0E8DBD8474F58F9D86698D4DC4B006F18A
Signature: Z286AwZiYmaed1VICgE8qvP7yM7CZ0P5GW9WzoL0KPKnUK1Qh2Zno3xr2JLySJC7Z9HPu+ZXBFDQgTcDVpH1u2/6qhbqVoz8ATEypYmqQD7IgKZhYKQTojcLKRvM+uAxJO5xmuW3XEC/uToL0aec2DdmEcnrd5I/a9SY8ZC6/QqhBHwZUR+7BuuqVe0GvsZv3gJmeMqCh8b0JTn3V+KKz+SS3+7YnuxPI3YkvuKN5laiKJHfZW0rb0SkL1bmZlgohA4Wfxc8k6sELnciy878X8P/GgbwzwSpy63/uc/MhDltK9c8crFznHdPLH7cxwANtk/W3lD6sxkqRLjwpDSPwA==
2023-08-11 10:30:42 | [1;31mERROR[0;39m | [1;33mhttp-nio-10181-exec-14[0;39m | [1;32mcom.io.exception.RRExceptionHandler[0;39m | null
java.lang.NullPointerException: null
at java.math.BigInteger.(Unknown Source)
at com.github.binarywang.wxpay.v3.auth.CertificatesVerifier.verify(CertificatesVerifier.java:45)
at com.github.binarywang.wxpay.v3.auth.AutoUpdateCertificatesVerifier.verify(AutoUpdateCertificatesVerifier.java:121)
at com.github.binarywang.wxpay.service.impl.BaseWxPayServiceImpl.verifyNotifySign(BaseWxPayServiceImpl.java:344)
at com.github.binarywang.wxpay.service.impl.BaseWxPayServiceImpl.baseParseOrderNotifyV3Result(BaseWxPayServiceImpl.java:360)
at com.github.binarywang.wxpay.service.impl.BaseWxPayServiceImpl.parsePartnerOrderNotifyV3Result(BaseWxPayServiceImpl.java:355)
at com.io.order.service.impl.PayServiceImpl.payNotify(PayServiceImpl.java:248)
at com.io.order.service.impl.PayServiceImpl$$FastClassBySpringCGLIB$$1cb01c87.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
at com.io.order.service.impl.PayServiceImpl$$EnhancerBySpringCGLIB$$a26161c0.payNotify()
at com.io.order.controller.PayController.payNotify(PayController.java:46)