【微信支付】调起微信支付,总是显示-1的解决办法

本文详细解析了微信支付中遇到的-1错误解决方案,重点介绍了如何通过二次签名解决支付问题。文章强调了服务器生成预付单后,需再次签名并传输特定参数给APP以完成支付流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你检查过 APPID,检查过商户号,检查过包名,检查过应用签名,依然显示 -1

那么你可以尝试我这种方式

记住下面这句话

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5

商户服务器生成支付订单,先调用【统一下单API】生成预付单,获取到prepay_id后将参数 再次签名 传输给APP发起支付。

参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。注意:package的值格式为Sign=WXPay

通俗来讲:服务器要做两次签名

流程:

1、服务器请求“统一下单接口”,得到微信返回的如下数据

 

2、服务器使用 得到的数据进行再次签名

服务器这时候能拿到的有用的数据有

appid,mch_id,nonce_str,prepay_id

而我们需要

appid,partnerid,prepayid,noncestr,timestamp,package。

其中  partnerid 就是 mch_id

其中 timestamp,是时间戳,单位为秒,记住这一点,获取系统时间后,看情况是不是要 除以 1000,这个是服务器自己获取一下系统时间就行,没有什么刻意的要求。

其中 package = Sign=WXPay,这个是写死的

 

3、服务器把再次签名后得到的数据传给我们

使用就可以了

 

重点:

不用后台人员我们也可以调用微信支付。

只要我们知道 后台人员设置的 key就行。

然后使用

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=20_1

自己生成sign

postMan  获取统一下单

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值