微信支付密钥借用教程

首先呢 祝大家国庆节快乐 假期期间注意安全出行 及时返回工作地。假期愉快!

作为一名普通程序员,想体验一把自己开发的微信支付,并不是一件容易的事。

可以从 公众号接口权限说明 发现,只有企业资质认证的服务号才能拥有微信支付权限。不仅如此,微信还限制支付的授权目录,最多仅可添加5个。

微信支付密钥借用教程

微信支付密钥借用教程

自然想到了转发,USER_URL表示借用人的外网地址,proxy.springboot.cn 转发到USER_URL不就好了吗,下面来说说如何借用。

  1. 准备好外网地址,注意,外网地址的正确性影响转发,也直接影响支付,99%的人都是死在这!前往 https://natapp.cn/ 购买(9折优惠码12F000E2),买 VIP-1型即可,不要选“免费的”,免费的在这不能用。
微信支付密钥借用教程

填写域名和端口

微信支付密钥借用教程

  1. 支付调试
  2. 授权和支付分开调试,授权使用微信提供的测试号。支付调试用我给的,openid写死(师兄干货–openid)
  3. 使用 支付密钥(见课程源码doc目录) 本地生成预支付结果(这一步是不需要验证支付授权目录的)
  4. 我使用的是 源码8-4 ,浏览器访问
http://127.0.0.1:8080/sell/pay/create?orderId=1501830787417512510&returnUrl=http://www.imooc.com

orderId 替换成你自己数据库里的。访问后,日志显示

2018-05-28 15:18:18,380 - 【微信支付】response={
"appId": "wxd898fcb01713c658",
"timeStamp": "1527491898",
"nonceStr": "ywTwMHzT19Yw8R2N",
"packAge": "prepay_id=wx28151818305128388a4912842746008030",
"signType": "MD5",
"paySign": "69177DFF398837C6B02787954526C961"
}

说明没问题,继续往下。

启动 natapp 客户端,不会启动请先去看 教程,我在 mac 下启动

微信支付密钥借用教程

http://sell.natapp4.cc是我在 natapp上购买的外网地址。图上非常清晰的给出了映射关系

http://sell.natapp4.cc -> 127.0.0.1:8080

现在把上述地址替换后再次访问,即访问

http://sell.natapp4.cc/sell/pay/create?orderId=1501830787417512510&returnUrl=http://www.imooc.com

查看日志显示

2018-05-28 15:34:06,792 - 【微信支付】response={
"appId": "wxd898fcb01713c658",
"timeStamp": "1527492846",
"nonceStr": "N0SvwqzVBT8M8J0Y",
"packAge": "prepay_id=wx28153406620754388a4912842776390555",
"signType": "MD5",
"paySign": "7379EA29E291B359E319722FFB66A75C"
}

重点来了,接下去使用微信访问(手机不需要开代理,因为访问的是外网地址)

如果访问后页面是空白的,说明极可能是 js 部分写错了,用chrome 访问可以看到报错。

微信支付密钥借用教程

修正代码后再用微信访问,提示 URL未注册,

#不要慌

这是正常的,没有问题!

微信支付密钥借用教程

能看到这个错误,说明你离成功不远了!原因就是支付授权目录导致,没有在微信支付后台配置这个地址。

  1. 申请借用密钥权限(有偿借用,29元/月)
  2. 好吧,其实密钥在上面已经给过了,现在申请的其实是转发权限。

前往[师兄干货]公众号–关于–借用/续期,

natapp 外网要怎么填,注意,99%都会死在这,

看清楚!

看清楚!

看清楚!

微信支付密钥借用教程

如果发现uid不能填写,请把openid复制给我,邮箱[email protected]。借过账号的同学以前没有填uid,所以不能输入。

一定要填自己调试成功的地址,我的是

http://sell.natapp4.cc/sell/pay/create

自己根据实际情况填写,一经填写,不能修改!

提交并支付,立即生效。你就可以在微信里支付了,访问地址为

http://proxy.springboot.cn/pay?openid=OPENID&orderId=1501830787417512510&returnUrl=http://www.imooc.com

OPENID 为自己的 openid, 必须填写。

另外,如果你想看借用的到期时间,可以在公众账号上查询

微信支付密钥借用教程


关于支付后跳转的地址?

地址跳转逻辑在create.ftl里面

function(res){
//if(res.err_msg == "get_brand_wcpay_request:ok" ) {
//} // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
location.href = "${returnUrl}";
}

returnUrl 可以写死,也可以由后端渲染模版。

链接:http://www.imooc.com/article/31607


分享到:


相關文章: