2025年微信公众号支付的那些坑

微信公众号支付的那些坑在之前记录了一下做微信公众号支付的过程 但是有些混乱 之前做的内个也不是直接接的微信官方 而是转接的别人在接的微信官方 他们赚个手续费 在这之后因为 app 停用了一段时间 上游公司把我们的 appid 给关掉了 所以打算从新接 直接接微信官方 好了这是背景

大家好,我是讯享网,很高兴认识大家。

在之前记录了一下做微信公众号支付的过程,但是有些混乱,之前做的内个也不是直接接的微信官方,而是转接的别人在接的微信官方,他们赚个手续费,在这之后因为app停用了一段时间,上游公司把我们的appid给关掉了,所以打算从新接,直接接微信官方,好了这是背景。

我们做的是公众号支付,也就是在微信网页内部进行调取支付插件进行支付的一个过程

所以需要到微信官方开通公众号支付 微信官网:https://pay.weixin..com

1、登录后点击产品中心, 点击公众号支付


讯享网

进入后就会看到这个页面


因为我的已经开通所以就不需要了

这是官方文档 : https://pay.weixin..com/wiki/doc/api/jsapi.php?chapter=7_3

点击开发配置

进行配置支付授权目录:也就是你的支付页面所在的目录

一定是生产环境的,微信不支持 ip +端口 形式的地址   异步通知也不支持,

所以测试都需要线上真实环境的域名+支付页面所在目录


登录公众号平台进行配置

公众号的按钮在下面

其次设置你的JS接口安全域名:也就是完整域名如:www.baidu.com


配置到这里基本就算完成了

现在我们需要获取几个必须的参数

appid,mch_id ,加密key

基本配置按钮也在下面

显示appid  点击基本配置就会看到了 如:wxf8xxxxxxxxxfca


mch_id 就是你登录微信商户后台的内个号,如:1594xxxxxxxxx98 


key 获取,也是在微信商户后台

这个是自己设置的,看你自己设置了,


1.        appid APPID (已有)

wxfxxxxxxxxxxxxxca

讯享网

2.        mch_id 商户ID (已有)

讯享网147xxxxxxxxxxx54

3.        nonce_str 随机字符串 , 生成UUID就可以了;

 UUID.randomUUID().toString().trim().replaceAll("-", "");

4.        sign 签名 用WXPayUtil中的generateSignature(finalMap<String, String> data, String key)方法,data是将除了sign外,其他10个参数放到map中,key是四大配置参数中的API秘钥(paternerKey)(这里不要着急管它,最后处理它);

5.        body 所支付的名称

6.        out_trade_no 自己后台生成的订单号,只要保证唯一就好:如“pay31”

7.        total_fee 支付金额 单位:分,为了测试此值给1,表示支付1分钱

8.        spbill_create_ip IP地址 网上很多ip的方法,自己找,此处测试给“127.0.0.1”

9.        notify_url 回调地址:这是微信支付成功后,微信那边会带着一大堆参数(XML格式)请求这个地址多次,这个地址做我们业务处理如:修改订单状态,赠送积分等。Ps:支付还没成功还想这么远干嘛,最后再说。地址要公网可以访问。

10.    trade_type 支付类型 咱们是公众号支付此处给“JSAPI”

11.    openid 支付人的微信公众号对应的唯一标识,每个人的openid在不同的公众号是不一样的,这11个参数里,最费劲的就是他了,其他的几乎都已经解决,现在开发得到这个参数。

    获得openid的部分内容应该不属于微信支付的范畴,属于微信公众号网页授权的东西,详情请参考微信网页授权:

https://mp.weixin..com/wiki?t=resource/res_main&id=mp

获得openid步骤:

第一步:用户同意授权,获取code

https://open.weixin..com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

注意:1. redirect_uri参数:授权后重定向的回调链接地址请使用 urlEncode 对链接进行处理。

2. scope:用snsapi_base 

    通过此链接可以获取code,可以在一个空页面设置一个a标签,链接至其redirect_uri的地址。点击a标签,即可链接到redirect_uri的地址,并携带code。

[html]  view plain  copy
小讯
上一篇 2025-03-18 21:26
下一篇 2025-03-22 12:20

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/52316.html