Skip to content

tqangxl/weixin_pay

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

微信APP支付

最近微信支付莫名其妙的进行了升级,在微信开放平台提交的移动应用开发中微信支付,如果收到的是这样的邮件则无法使用在开放平台的移动应用开发的文档。因为邮件中少了2个关键的KEY:paySignKey, partnerKey

一直询问支持,给的都是支付开发教程(微信商户平台版) ,研究了下,都是公众号的开发。

后面找到了这份文档,研究了一番,依旧觉得是公众号的,里面的统一下单需要个openid,这分明是微信公众号的开发。后面看到openid只是在公众号开发的时候才传递,所以决定按照这份文档一试。

按照文档中的业务流程,当进行到第三步的时候,文档这样说:

步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为prepay_id=wx20141009175351724b348a500087751557

但是我我找遍了所有地方,都没有说明这个package具体的事例,以及参加签名的字段partnerId是老文档中的描述,而且这里的字符串怎么突然有大小写了?后面参考了老文档,成功了。

3.5 添加 prepayid 再次签名 获取到 prepayid 后,将参数 appid、appkey、noncestr、package(注意:此处应置为 Sign=WXPay)、partnerid、prepayid、timestamp 签名后返回给 APP,签名方法跟 3.4 节 app_signature 说明一致。得到参数列表如下,通过这些参数即可在客户端调起支付。 { "appid":"wxd930ea5d5a258f4f", "noncestr":"139042a4157a773f209847829d80894d", "package":"Sign=WXpay"; "partnerid":"1900000109" "prepayid":"1101000000140429eb40476f8896f4c9", "sign":"7ffecb600d7157c5aa49810d2d8f28bc2811827b", "timestamp":"1398746574" }

总结下开发:

然后再吐槽下微信支付:新接口获取prepay_id确实方便了很多,不需要去获取token、packge,请求与接收都有JSON换成了XML。但接口更新也不正式的声明下,文档也乱写,DEMO也没用完全开放出来,坑啊!

About

python weixin pay

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%