收藏
回答

商家转账到零钱最新版本回调通知

最新商家转账到零钱 /v3/fund-app/mch-transfer/transfer-bills 的回调通知,golang 没有最新的sdk,我用的是client.Request请求。回调接口解密参数用的是notify.ParseNotifyRequest函数。偶尔会出现错误validate verify fail serial=[1F2A4F8A5F38E5730D69F98D2116CB2EE9E93594] request-id=[] err=certificate[1F2A4F8A5F39E5780D69F98D2116CB2EE9E93594] not found in verifier, request: &{Method:POST URL:/api/v1/payment/notify Proto:HTTP/1.0 ProtoMajor:1 ProtoMinor:0 Header:map[Accept:[*/*] Cache-Control:[no-cache] Connection:[close] Content-Length:[811] Content-Type:[application/json] Pragma:[no-cache] User-Agent:[Mozilla/4.0] Wechatpay-Nonce:[fyGRFqnoQJkzEe740iv2CMOqAAe0m3NP] Wechatpay-Serial:[1F2A4F8A5F39E5730D69F88D2116CB2EE9E93594] Wechatpay-Signature:[Pb3DQ4oqn/bTCJUn9iivU7FdPOQoCHTW8GuRRRDuMC/Sd6e5ACEKvFybew6xKin+IcxqmHMCNLbfSDW9uqrXJrfftePuKdM53+jR/shwNIiuTEy2BkJho/2AltJV5TP+8RBO9nHRH1N9Iw7CFx22CcruGHJl/Bw+lgWv52oNuCduM4+Ome9hCXn8MpzVqjA2eVUULFT+94CgZh/ZiEmbVbqg8aX1nIv+3BrkRDbIRfPZibw8r4Iiw+iKxREtsMZL7f48rn2bogbDYHKlL7aM1CDa2ffKS7oN+CWQI832WZHlzLL9k0GNCHHnYEglF4IHrBMY2ZFz/nujph81rHQ9jA==] Wechatpay-Signature-Type:[WECHATPAY2-SHA256-RSA2048] Wechatpay-Timestamp:[1741322383] X-Forwarded-For:[121.51.58.168] X-Real-Ip:[121.51.58.168]] Body:{Reader:{"id":"cfcba611-4664-5e55-a990-23e0ef70a536","create_time":"2025-03-06T15:46:45+08:00","resource_type":"encrypt-resource","event_type":"MCHTRANSFER.BILL.FINISHED","summary":"商家转账单据终态通知","resource":{"original_type":"mch_payment","algorithm":"AEAD_AES_256_GCM","ciphertext":"uOxTpVVBNbEn9QETIZSjJIXTWMQeoQmRcc//aj1eR1wnTjnwEcHsDwP9ccU7Hlxb5sPFamqxMmwPd+Mq+xZou3TXGdc46VaCTdSwE8HwAZ0sPUdlH8spJfzR8pi88lFaN6W527Mow0toS1D0EhW4pWahIfn/L30rLhhZBOJwdSvzLc41D8FLzi3Gc0TAXYtp5euWn6UqSHhbXvLNw3g8x0GYjZjzzx9cd+0wtyHhvarWnyBCA/mM43bIEBddyYYhZbcSUtx/7ENFdoSalhtZLqiDh/F7gDhyiSTor47C7ds7YvJXWCTt1LYILwvjzw9jCu0vXUE0VB0fNmQPuNqeW2Boh0ZEncItllo4jfk9vmVaNmEdkDgkMaxo9BB9M1d7jAurI0e/2HHAYCNGPsfwN+gDbUUWuNG5hl24WhV1VkPeQmm49CkE219JIW6hewAD3Oo56YHntj4=","associated_data":"mch_payment","nonce":"jJzTBXjDJv5F"}}} GetBody:<nil> ContentLength:811 TransferEncoding:[] Close:true Host:test2.handzup.cn Form:map[] PostForm:map[] MultipartForm:<nil> Trailer:map[] RemoteAddr:127.0.0.1:57708 RequestURI:/api/v1/payment/notify TLS:<nil> Cancel:<nil> Response:<nil> ctx:0xc001fe00a0 pat:<nil> matches:[] otherValues:map[]} 这个也不是签名探测流量。为啥会出现这个错误,求大神解答

回答关注问题邀请回答
收藏

1 个回答

  • Memory
    Memory
    星期五 15:52

    自己手动验证签名能通过么?

    星期五 15:52
    有用
    回复 4
    • 初心
      初心
      星期五 16:28
      我微信商户转账到零钱,同一代码没有任何改动,我在提现一笔,就能正常解密回调函数,是偶然发生。因为这个解密失败后我在回调函数里返回给微信的参数是 HTTP应答状态码需返回5XX或4XX,同时需返回以下应答报文 {
          "code":"SUCCESS",
          "message":"FAILED"
      }  所以这个微信一直会重试这一个提现订单批次,你说的手动验证签名还是针对这个错误的来验签
      星期五 16:28
      回复
    • 初心
      初心
      星期五 16:29
      我重新提现一笔,证明验签应该是没有问题的
      星期五 16:29
      回复
    • Memory
      Memory
      星期五 16:33回复初心
      你代码验证签名不过的,手动通过openssl验证一下看看呢
      星期五 16:33
      回复
    • 初心
      初心
      星期五 16:35
      好的,我试试
      星期五 16:35
      回复
登录 后发表内容