先交待下背景:没有自己的服务器,我是个自学小程序没多久的小白!纯粹用 云开发 帮开店的姐姐做的小程序,已经上线一段时间了。
可是最近发生了一个bug,让我很是苦恼:
我在小程序的 发起微信支付接口 即 wx.requestPayment(Object object)
的success 中回调 订单信息上传、小票打印等 函数
而这个 success 回调吧,是在用户付款完成 点击下图中 完成 才会触发!!!
也就是说,如果用户付款完成后,直接不点击此[完成] 按钮,直接关闭小程序。
就不会执行 success 中回调的函数 !!
就是我收到了钱!!~~却不知道用户买了啥。。。。。
就这个问题,我的理解哈:
在付款前就应该上传订单订单信息, 此时订单状态为 待支付
然后支付成功后,利用微信支付 统一下单API 中预留的 notify_url (下图)
去更新我的订单状态,并且打印小票。
可是问题就在于,我没有自己的服务器!!没有可以通知的地址。
可是看文档的时候哈,看到了 云开发现在开放了 小程序外访问 HTTP API
于是我就按照文档说明 用 postman 去调用了下 某个云函数
发现一下就调成功了。于是我天真的想把这一大串写在 notify_url
然后我留意到了下面这个要求ohno~~ 梦想破碎~~~
所以我是真的没辙了,所以各位看到此贴的大佬,就这个情况,就单纯使用云开发还有的解决吗???
恳求各路大佬的帮忙,不胜感激!
有没有测试一下,在用户不点击“完成”的情况下,fail/complete里有返回吗?返回的结果与不支付的返回fail有什么不同?毕竟我们并不需要在success的具体返回消息,只需要知道是否success,是否不点击“完成”的fail,还是不支付的fail。
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7&index=8
支付完成后,微信会把相关支付结果及用户信息通过数据流的形式发送给商户,商户需要接收处理,并按文档规范返回应答。
微信已经做了数据,你后台签名认证一下数据信息就可以了
我也是小白,以前做过网页支付,我记得是这样。