微信公众号开发--------微信支付

前言

    公司最近接了个项目,该项目需要用到微信支付模块。本想简单点处理直接前端发起支付,后端回调接收。但前端不知道出了什么问题,一直无法成功调起微信支付。无奈只好转后台来做。

开发流程

1、先在微信支付 商家里配置授权目录,如果你的授权目录是http://www.xxx.com/wechat/,那你的支付地址(jsp/controller地址)则必须是http://www.xxx.com/wechat/xxx。微信支付授权目录配置地址:  https://pay.weixin.qq.com/index.php/extend/pay_setting

2、获取微信支付的商户号和密钥,微信公众号的appid

3、配置在公众号上有个跳转地址(我暂时的做法是发个信息给后台,后台传个地址给微信客户端,然后在点击这个地址进行跳转)

4、后台开发

4.1 代码可以从微信官网上获取demo,进行修改(注意重点:我是用MD5加密,先进行一次加密,然后发起 统一下单请求给微信服务端,微信服务端返回prepare_id和其他信息,里面有个sign值(神坑,我以为是给页面上的paySign,结果测试不是),用这个prepare_id再进行第二MD5加密,然后返回给页面,页面再调用微信内核发起支付请求

4.2 md5加密生成签名的时候需要注意的是先排序再生成签名

第一次排序如下:

appid=你的微信服务号APPid&body=标题&mch_id=微信支付商户号&nonce_str=随机码&notify_url=通知回调地址&openid=当前支付用户openip&out_trade_no=订单号&spbill_create_ip=ip&total_fee=金额(单位是分)&trade_type=JSAPI&key=微信支付商家密钥


总结

    其实真正做完是不难,主要就是要注意:

    1、要两次签名,第一次签名给微信服务端获取prepare_id,第二次签名给页面发起支付请求。

    2、授权目录要配置好,网上很多人说授权的域名一定要认证过的域名,其实不用,我用ngrok生成的域名也一样可以。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值