十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Ping++ 主要为移动App提供第三方支付SDK,集成了所有主流支付渠道的SDK.帮助开发者一次性接入所有渠道.让您的支付更便捷.
定制设计可以根据自己的需求进行定制,做网站、成都网站建设构思过程中功能建设理应排到主要部位公司做网站、成都网站建设的运用实际效果公司网站制作网站建立与制做的实际意义
Ping++ 是轻便高效的聚合支付模块,让开发中的移动应用或网页使用几行代码就能同时接入主流支付渠道,获得支付功能。
H5支付接入,网页支付接入,商家扫码支付接入,详情了解请进网站内。
技术栈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点抗 .chidori.wxpay;
发起统一下单AND前端调起微信支付必要参数回调结果处理
核心是支付订单回调时,需校验加密签名是否匹配,防止出现模拟成功通知
注意点
统一下单的签名和后续前端拉取微信支付的签名需要统一,也就是都采用MD5加密,如果2者不同,会导致前端拉取微信支付fail,这是一个巨大的坑,因为这个原因调试了好久,微信在文档里没有明确标出统一下单的签名校验方式需要和前端拉取微信支付的签名校验保持一致.微信sdk里的源码需要针对这个问题调整一下,调整如下:WXPay类需要修改下加密判断,在WXPay构造方法中,调整如下
结束语
做完以后,微信支付的后端逻辑还是很清晰的,但是在开发过程中很煎熬,不清楚每个专业术语在微信哪里配置,加密方式乱的很
一、直接接入微信支付二、通过微信二次开发商的平台接入支付功能,三、在微信平台中加入微网页,四、通过第三方APP收款,
微信扫码支付,有两种模式,文档中有介绍。第二种模式,微信接口会返回二维码信息给我们。而第一种模式则需要我们自己去生成二维码信息。会有些麻烦。尤其 是参数大小写,还有签名的问题,容易出错。
总的来说第二种模式比第一种模式简单。所有我采用的是第二种模式,比较通用。京东与携程亦用的是第二种模式。