小程序里怎么实现长按付款

小程序里怎么实现长按付款,第1张

程序里实现长按付款的方法如下:

1、在小程序的前端页面中增加一个“长按付款”按钮,用户点击该按钮后进入付款页面;

2、在小程序的后端,使用微信支付的接口来实现长按付款的功能,将支付结果通过接口返回给前端页面;

3、在前端页面对支付结果进行判断,如果支付成功,就可以进行后续的业务 *** 作;

4、在小程序里增加一个定时器,定时检测用户是否在指定时间内完成付款,如果没有完成,就关闭付款页面,并给出相应提示。

技术栈SpringbootjavaXML(微信在http协议中数据传输方案)MD5签名微信支付术语openid(OpenID是公众号一对一对应用户身份的标识)app_id(公众号id,登录微信公众号_开发_基本配置中获得;)key(收款商户后台进行配置,登录微信商户平台_账户中心_API安全-设置秘钥,设置32位key值;)mch_id(收款商家商户号;)certPath(API证书,登录微信商户平台_账户中心-API安全-下载证书)后端流程

服务端需要的核心 *** 作,总共分为以下几步:

统一下单前端调起微信支付必要参数(需加密)订单结果主动通知(回调接口)查询订单结果结束订单支付接口(关闭订单,支付订单关闭)代码

微信总共支持多种语言的sdk,在官网可以下载例子,java程序也可以引入微信支付的sdk包,但是github上的sdk已经很久没有更新了,最好的选择,也是我的选择,在官网上下载sdk项目,将其中所有java类copy到自己的项目中.

官网sdk下载目录链接:商户平台首页

微信sdk下载根据微信sdk生成配置类WXPayConfig

创建IWxPayConfig.class,继承sdkWXPayConfig.class,实现sdk中部分抽象方法,读取本地证书,加载到配置类中.packagecore.com.chidori.wxpay

发起统一下单AND前端调起微信支付必要参数回调结果处理

核心是支付订单回调时,需校验加密签名是否匹配,防止出现模拟成功通知

注意点

统一下单的签名和后续前端拉取微信支付的签名需要统一,也就是都采用MD5加密,如果2者不同,会导致前端拉取微信支付fail,这是一个巨大的坑,因为这个原因调试了好久,微信在文档里没有明确标出统一下单的签名校验方式需要和前端拉取微信支付的签名校验保持一致.微信sdk里的源码需要针对这个问题调整一下,调整如下:WXPay类需要修改下加密判断,在WXPay构造方法中,调整如下

结束语

做完以后,微信支付的后端逻辑还是很清晰的,但是在开发过程中很煎熬,不清楚每个专业术语在微信哪里配置,加密方式乱的很


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7974870.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存