微信小程序支付,在本地运行后台连接服务器localhost8081,支付可以成功。
但是直接连接服务器支付就不能成功const baseUrl = '',后端用了NGINX 加TOMCAT. 请问各位 是什么原因?
不能成功,是什么意思。出现异常还是没有回调。
白名单设置了吗?回调地址打印每一步 获取的参数。
请按照如下步骤排查:
请核实是否为单店卡顿,因移动支付接口需调用三处网络,当开始使用移动支付时程序发送指令至支付宝或微信支付服务器,待支付宝或微信支付服务器返回成功消息至门店程序后,程序会访问客户数据库服务器写入流水数据,期间任意网络出现异常均会导致卡顿,请检查优化网络后核实
1.请在命令提示符中运行ipconfig/flushdns清空dns缓存
2.在门店电脑安装。net4.0,将支付宝和微信运行在.net4.0下
第一步安装.NET 4.0,如已经安装请先卸载后重新安装正式版本(V4.0.30319 );
第二步在门店程序安装目录中用记事本修改:SissWxpayClientRequest.exe.config (微信),去掉: 。 让支付程序工作在.NET 4.0环境。(支付宝则修改AliV2CR.exe.config)
3.将门店电脑的dns更改为阿里的DNS:223.5.5.5 或 223.6.6.6
4.请使用ping pay.sissyun.com.cn 测试是否有延迟或者掉包产生
可以看一下微信官方的文档(https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=3%EF%BC%89%EF%BC%8C%E4%BE%9D%E6%8D%AE%E9%94%99%E8%AF%AF%E6%8F%90%E7%A4%BA%E6%9F%A5%E6%89%BE%E5%8E%9F%E5%9B%A0%EF%BC%8C
微信小程序支付属于JSAPI支付,发起支付有两步
1:预下单,通过向后台发起请求,后台向微信发起请求,获取预下单ID等相关信息
2:通过预下单获取到的相关信息,调起小程序的微信支付。
你这里已经到第2步,调起微信支付了,提示“缺少参数TOTAL FEE(支付金额,整数,单位为分)”,请仔细检查给这个参数赋值的相关地方,打印出来排查。可能是以下几个原因造成的
a.预下单金额存在问题
解决了吗,可以找我
首先了解微信小程序支付的流程,才能快速定位问题。小程序支付流程:客户端请求应用服务器服务端-->服务端调用微信API发起预支付-->获得预支付单号+签名-->返回给客户端--->客户端拿到签名向微信服务器发起支付。
报缺少:TOTAL FEE 参数,很明显是发起预支付的时候报错的。那么排查你本地的代码与与武器的代码是否同步,发起预支付的时候打印一下请求参数日志就知道了。