欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

微信开发相关

程序员文章站 2022-07-14 15:03:31
...
微信测试账户登陆地址: http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login


网页授权相关:  users/auth_callbacks/weixin   注意的是需要设置 网页授权获取用户基本信息的url,在页面下边,http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index


统一支付接口: http://mch.weixin.qq.com/wiki/doc/api/index.php?chapter=9_1#
扫码相关api: http://mch.weixin.qq.com/wiki/doc/api/index.php?chapter=6_4

1:刚才服务器接受到了威信的回应,params的时候找不到回应的数据,最后通request.body.read获取到了数据,然后通过Hash.from_xml 转换为hash。

2: 生成二维码支付需要注意,其中的key是微信支付相关的paypass,不是微信的secret

@url = "weixin://wxpay/bizpayurl?appid=#{appid}&mch_id=#{mch_id}&nonce_str=#{nonce_str}&product_id=#{product_id}&time_stamp=#{time_stamp}&sign=#{sign}"

3:调用微信统一支付接口,一直报错,经过多次测试,确信参数和sign都没问题,最后发现是post请求写错了,总结了以下几种写法:

resp = Hash.from_xml(Typhoeus::Request.post('https://api.mch.weixin.qq.com/pay/unifiedorder', body: make_xml(data)).body)

resp = Hash.from_xml(RestClient.post('https://api.mch.weixin.qq.com/pay/unifiedorder', make_xml(data), headers: { content_type: 'application/xml' }).body)

resp = Hash.from_xml(RestClient::Request.execute({url: 'https://api.mch.weixin.qq.com/pay/unifiedorder', method: "post", payload: make_xml(data), headers: { content_type: 'application/xml' }}).body)

4:   调用完微信统一支付接口后,返回数据给微信服务器,直接一字符串形式把xml返回回去就可以了,以下是xml格式。

<xml>
  <appid>wx506200db18fa3260</appid>
  <mch_id>10017350</mch_id>
</xml>


5: 开发微信端 OAuth2.0网页授权 相关(获取用户openid),刚才一直不成功,后来发现是要设置服务器url,先关注申请测试开发,在 ‘OAuth2.0网页授权(仅关注者才能授权)’右侧点击修改填写服务器url(用ngrok会方便的多)。

6: 微信扫码支付,先生成了weixin://wxpay/bizpayurl..这样的url的二维码图片,然后扫码,微信服务器会把数据回应到我的服务器的url,这个url是在 微信支付->开发配置->支付配置中的修改->支付回调URL 中设置



微信登陆开发:

ssh -R daili.49393.com:80:localhost:3000 root@ziyuan.web

1:  使用微信公众平台的接口开发, http://mp.weixin.qq.com

2:  使用微信开放平台的接口开发,https://open.weixin.qq.com/cgi-bin/index(501308401)