云开发已实现支付功能,可是却被notify_url 困扰太久!!
发布于 6 年前 作者 wentao 12749 次浏览 来自 问答

先交待下背景:没有自己的服务器,我是个自学小程序没多久的小白!纯粹用 云开发 帮开店的姐姐做的小程序,已经上线一段时间了。

可是最近发生了一个bug,让我很是苦恼:

我在小程序的   发起微信支付接口   即  wx.requestPayment(Object object)

的success 中回调  订单信息上传、小票打印等  函数

而这个 success 回调吧,是在用户付款完成 点击下图中 完成 才会触发!!!

也就是说,如果用户付款完成后,直接不点击此[完成] 按钮,直接关闭小程序。

就不会执行 success 中回调的函数  !!

就是我收到了钱!!~~却不知道用户买了啥。。。。。


就这个问题,我的理解哈:

在付款前就应该上传订单订单信息,  此时订单状态为  待支付

然后支付成功后,利用微信支付  统一下单API  中预留的 notify_url (下图)

去更新我的订单状态,并且打印小票。

可是问题就在于,我没有自己的服务器!!没有可以通知的地址。

可是看文档的时候哈,看到了 云开发现在开放了 小程序外访问 HTTP API



于是我就按照文档说明  用 postman 去调用了下 某个云函数

发现一下就调成功了。于是我天真的想把这一大串写在  notify_url  

然后我留意到了下面这个要求ohno~~ 梦想破碎~~~



所以我是真的没辙了,所以各位看到此贴的大佬,就这个情况,就单纯使用云开发还有的解决吗???

恳求各路大佬的帮忙,不胜感激!

3 回复

你用的是哪个NPM包啊?求分享code

有没有测试一下,在用户不点击“完成”的情况下,fail/complete里有返回吗?返回的结果与不支付的返回fail有什么不同?毕竟我们并不需要在success的具体返回消息,只需要知道是否success,是否不点击“完成”的fail,还是不支付的fail。

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7&index=8

支付完成后,微信会把相关支付结果及用户信息通过数据流的形式发送给商户,商户需要接收处理,并按文档规范返回应答。

微信已经做了数据,你后台签名认证一下数据信息就可以了

我也是小白,以前做过网页支付,我记得是这样。

回到顶部