【苍穹外卖】个人小程序模拟实现微信支付
事先声明:
_________本文 并没有 真正调用微信支付这个接口,如果你想调用微信支付这个接口,那么 无法满足 你的需求,非常抱歉。
由于我注册的小程序也是个体户,所以没有权限使用《微信支付接口》。但为了实现苍穹外卖的完整功能,只能死马当活马医,模拟出用户支付成功的结果。
具体方式是:跳过了调用接口的这个步骤,用户点击《确认支付》会直接支付成功,见效果图:
我就只贴出需要修改的部分,其他代码都是用的黑马的。
小程序里需要修改的代码:
在小程序page/pay/index.js中的238行左右,将支付详情和订单倒计时这两个注释之间的代码换成下面的。
// 支付详情 handleSave: function handleSave() { var _this = this; if (this.timeout) { (0, _api.cancelOrder)(this.orderId).then(function (res) { }); uni.redirectTo({ url: '/pages/details/index?orderId=' + this.orderId }); } else { //如果支付成功进入成功页 clearTimeout(this.times); var params = { orderNumber: this.orderDataInfo.orderNumber, payMethod: this.activeRadio === 0 ? 1 : 2 }; (0, _api.paymentOrder)(params).then(function (res) { if (res.code === 1) { console.log("hcs,支付了!") wx.showModal({ title: '提示', content: '支付成功', success: function () { uni.redirectTo({ url: '/pages/success/index?orderId=' + _this.orderId }); } }) console.log('支付成功!') } else { console.log("hcs,支付失败了!") wx.showModal({ title: '提示', content: res.msg }) } }); } }, // 订单倒计时
服务器中需要修改的代码:
只需修改OrderServiceImpl.class中的代码:比对着方法名去改即可。
public OrderPaymentVO payment(OrdersPaymentDTO ordersPaymentDTO) { OrderPaymentVO vo = new OrderPaymentVO(); vo.setNonceStr("666"); vo.setPaySign("hhh"); vo.setPackageStr("prepay_id=wx"); vo.setSignType("RSA"); vo.setTimeStamp("1670380960"); return vo; }
另外,除了这个方法,这个类中的订单取消和订单拒绝方法都需要注释掉这部分代码:
String refund = weChatPayUtil.refund( ordersDB.getNumber(), ordersDB.getNumber(), new BigDecimal(0.01), new BigDecimal(0.01));
完成,是不是也没想象中的那么难。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。