看meta编码格式,猜测你们的后端是PHP的吧?如果是,建议尝试一下官方PHP composer包,wechatpay-guzzle-middleware~0.2.0 包含有图片上传解决方案可参考
代金券Logo上传不上去?代金券logo上传返回签名错误或者图片类型不正确,文档前后不一致,还是我理解错了, 按照文档图中标记处如果没有传入图二中的file参数会报签名错误,传了之后会报图片类型不正确png的图片如图三图四,哪里有问题 [图片] [图片] [图片][图片]
2020-07-26V3版JS调起支付API 需要用sha256WithRSAEncryption做数据值签名,官方样本如下: { //公众号名称,由商户传入 "appId": "wx2421b1c4370ec43b", //时间戳,自1970年以来的秒数 "timeStamp": "1395712654", //随机串 "nonceStr": "e61463f8efa94090b1f366cccfbbb444", //统一下单接口返回的prepay_id参数值 "package": "prepay_id=up_wx21201855730335ac86f8c43d1889123400", //微信签名方式 "signType": "RSA", //微信签名 "paySign": "oR9d8PuhnIc+YZ8cBHFCwfgpaK9gd7vaRvkYD7rthRAZ\/X+QBhcCYL21N7cHCTUxbQ+EAt6Uy+lwSN22f5YZvI45MLko8Pfso0jm46v5hqcVwrk6uddkGuT+Cdvu4WBqDzaDjnNa5UK3GfE1Wfl2gHxIIY5lLdUgWFts17D4WuolLLkiFZV+JSHMvH7eaLdT9N5GBovBwu5yYKUR7skR8Fu+LozcSqQixnlEZUfyE55feLOQTUYzLmR9pNtPbPsu6WVhbNHMS3Ss2+AehHvz+n64GDmXxbX++IOBvm2olHu3PsOUGRwhudhVf7UcGcunXt8cqNjKNqZLhLw4jq\/xDg==" }
小程序 V3支付。小程序 V3支付。 服务器使用V3文档 JS支付生成prepay_id。 成功生成。 返回到小程序调起支付时,开发者工具会出现支付二维码。 但是扫码后就说签名错误。我看V3支付文档只有JS调起支付。 我用JS调起支付的方法签名还是错误。 使用V3生成的prepay_id。 小程序无法使用吗还是哪里有文档?
2020-07-24少了aad参数,云端可尝试 wechatpay-axios-plugin npm包
v3获取平台证书api解密公钥后末尾出现乱码?[图片] 是在小程序云函数本地调试时发生的。云端是否会出现乱码暂未测试,估计也会有。像上面这样,去掉了后面那一串是可以正常使用的,代码如下,其中使用的数据结构是跟官方文档一致的 [图片] let key = crypto.createDecipheriv('aes-256-gcm', “v3api密钥”, new Buffer.from(data[0].encrypt_certificate.nonce)) .update(data[0].encrypt_certificate.ciphertext,'base64','utf-8') console.log(key) //输出后,末尾出现乱码
2020-07-23"truncated_sign_message": "POST\n/v3/combine-transactions/jsapi\n1595400889\n1595400889050\n{\"combin\n" 你的Nonce(1595400889050)字符串位数不够,需要32字节。
电商收付通/v3/combine-transactions/jsapi验签失败, 其他接口没问题使用官方提供的PHP和postman脚本请求/v3/combine-transactions/jsapi 接口 返回错误一致, 但是进件接口都正常, 实在摸不着头脑, 麻烦官方人员帮忙看看 {"code":"SIGN_ERROR","detail":{"detail":{"issue":"sign not match"},"field":"signature","location":"authorization","sign_information":{"method":"POST","sign_message_length":561,"truncated_sign_message":"POST /v3/combine-transactions/jsapi 1595403423 mOAJ35nXZiFq5apa6EF6xkOrwlzWjYCu {\"combin ","url":"/v3/combine-transactions/jsapi"}},"message":"验签失败,请检查签名\t"}
2020-07-22回调通知属于AES对称加密范畴,和主动请求API头上的RSA非对称加密不是一回事。 回调通知里的内容对业务数据做了加密,存在 resource.ciphertext 字段内,需要读取这个字段,按文档解密就好,就能拿到所需业务数据JSON串。
微信代金劵核销事件回调,为什么header没有签名?(四)问题api:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/convention/chapter4_1.shtml 相似问题:https://developers.weixin.qq.com/community/develop/doc/0004209903c9009c278af00e351c00?_at=1595376433090 问题描述:请求头中没有签名字段,没有Wechatpay-Signature等信息。经过排查,我方已经确定获取平台证书、发放代金劵、设置回调通知地址等功能已经实现,现在可以正常发劵,可以对请求和响应进行加密解密。但在核销事件上,我们可以接收到回调事件,回调请求的请求体也是正常的,包含了文档中的应有数据,只是请求头中一直没有Wechatpay-Signature等字段,求解决方案,非常感谢。 先给大家道个歉,我也不想刷屏,主要是没有回应,卡在这,什么也做不了,在线求一个说法。 看到社区有很多类似的情况,也都没有得到回应,姑且帮大家发一下吧。
2020-07-22把cookie清一下再登录 pay.weixin.qq.com
为什么微信支付点击是login timeout ,退了重登还是这个问题,怎么办?如题
2020-07-21是说V3版代金券创建吗?V3版签名是在请求头HEADER,请求体是纯数据。
新版代金券创建最新代金券创建的时候没有签名字段,是不需要传了么?
2020-07-20分账接收方是商户,分账完成后还可以回退;接收方是PERSONAL_OPENID,完成后不可以回退。
请问微信商户分账里的分账回退功能是否有限制如果分账订单完成后6个月,还能调用分账回退接口么?
2020-07-20你用的云环境应该是Nodejs v10.15的吧?如果是,你可能不需要第三方库的支持就可以正确签名了,尝试下以下代码,转成xml后和官方验签工具结果一致。 const crypto = require('crypto') const key = 'exposed_your_key_here_have_risks' const data = { mch_id: '1374850001', nonce_str: '762ZnhskWpfrysj0', sign_type: 'HMAC-SHA256', appid: 'wx8c6e071527acdd96', receiver: JSON.stringify({ account: "oBGH2RefE5Jj6T3IUP05sc2lgCcx", name: "阿江", relation_type: "USER", type: "PERSONAL_OPENID" }), } const ksort = obj => Object.keys(obj).sort().reduce((des, k) => (des[k] = obj[k], des), {}) const toSignString = (obj, key) => `${Object.entries(obj).map(a => a.join('=')).join('&')}&key=${key}` const signHmacSha256 = (str, key) => crypto.createHmac('sha256', key).update(str).digest('hex').toUpperCase() const sign = signHmacSha256(toSignString(ksort(data), key), key) console.info(sign) //1E9FD7D75FD9868A23D4E19A81DBF55270AFB1EF686992BEC43A400292CA9550
小程序添加分账接收方,签名校验总是通不过,求解?小程序云开发,接入微信支付,添加分账接收方 昨天调试一天,找不出原因的签名校验不通过一直在发生! 微信支付接口签名校验工具 https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1 使用签名校验工具,对一模一样的StringA原字符串进行编译,我生成的原sign值和签名校验工具生成新sign值总是不一样。 数据比对: 原sign值:C714553B1E86EE6D6B190EA204890A4998F50325DD67B42D81B2C30DE9D7F380(我的代码) 新sign值:D8BE851C430B79BD374FC4D406944C8E175642A791A831ED23D453302D634EC9(签名校验工具) 我现在唯一想到的方法:能否给段小程序生成签名的示例代码? 将以下StringA原字符串加密为签名校验工具相同的结果就可以,非常感谢! StringA: appid=wx8c6e071527acdd96&mch_id=1374850001&nonce_str=762ZnhskWpfrysj0&receiver= { "account":"oBGH2RefE5Jj6T3IUP05sc2lgCcx", "name": "阿江", "relation_type": "USER", "type": "PERSONAL_OPENID" } &sign_type=HMAC-SHA256&key=693o12Kl341eZ81n1A5732a58Eb15cGF 我的代码(云函数中调用): const CryptoJS = require('crypto-js') let partnerKey=693o12Kl341eZ81n1A5732a58Eb15cGF let StringA="appid=wx8c6e071527acdd96&mch_id=1374850001&nonce_str=762ZnhskWpfrysj0&receiver= { "account":"oBGH2RefE5Jj6T3IUP05sc2lgCcx", "name": "阿江", "relation_type": "USER", "type": "PERSONAL_OPENID" } &sign_type=HMAC-SHA256&key="+partnerKey StringA = CryptoJS.HmacSHA256(StringA, partnerKey) StringA = CryptoJS.enc.Hex.stringify(StringA) StringA = StringA.toUpperCase() XML测试数据: <xml> <appid>wx8c6e071527acdd96</appid> <mch_id>1374850001</mch_id> <nonce_str>762ZnhskWpfrysj0</nonce_str> <receiver> { "account":"oBGH2RefE5Jj6T3IUP05sc2lgCcx", "name": "阿江", "relation_type": "USER", "type": "PERSONAL_OPENID" } </receiver> <sign_type>HMAC-SHA256</sign_type> </xml> 非常感谢!
2020-07-20从商户侧纬度来看,没区别,钱/货款都收到了;要细品的话,就是钱/货款是通过哪个服务提供方收到的,即:本商户自己收的,和服务商代发起收的。
服务商模式下的订单 和 本商户 的订单的区别是什么?如题,不明白区别是什么? [图片]
2020-07-16