苍穹外卖-day08-订单支付-跳过微信支付

由于微信支付需要商家认证才能开通,个人开发者只能模拟支付的流程,完成后续项目的学习。

解决思路:

后端: 点击 支付 -->调用支付成功接口-直接更新数据库订单状态

小程序: 点击 支付 -->直接跳转支付成功页面

1.修改 orderServiceImpl下的payment方法

跳过微信支付接口:
注释原有调用微信支付接口的代码
生成空JSON替换原接口生成预支付交易单
在这里插入图片描述
具体代码如下:

    public OrderPaymentVO payment(OrdersPaymentDTO ordersPaymentDTO) throws Exception {
   
        // 当前登录用户id
        Long userId = BaseContext.getCurrentId();
        User user = userMapper.getById(userId);

//        //调用微信支付接口,生成预支付交易单
//        JSONObject jsonObject = weChatPayUtil.pay(
//                ordersPaymentDTO.getOrderNumber(), //商户订单号
//                new BigDecimal(0.01), //支付金额,单位 元
//                "苍穹外卖订单", //商品描述
//                user.getOpenid() //微信用户的openid
//        );

        //生成空JSON,跳过微信支付流程
        JSONObject jsonObject = new JSONObject();

        if (jsonObject.getString("code") != null && jsonObject.getString("code").equals("ORDERPAID")) {
   
            throw new OrderBusinessException("该订单已支付")
### 关于苍穹外卖项目的微信支付配置 #### 配置概述 在开发苍穹外卖这样的项目时,集成微信支付是一个重要的环节。为了使应用能够顺利处理用户的付款请求并完成交易流程,开发者需要遵循一系列特定的步骤来设置和调试支付功能[^1]。 #### 准备工作 首先,在着手编写任何代码之前,确保已经完成了必要的准备工作。这包括但不限于注册成为微信开放平台上的服务商或商家账号,并获取相应的AppID、MchID(商户号)、API密钥等基本信息。这些信息对于后续发起支付请求至关重要[^4]。 #### 接口调用说明 当涉及到具体的支付过程时,特别是模式二下的扫码支付场景中,需要注意的是整个过程中存在多个阶段由不同实体间相互协作完成。具体来说,在用户扫描二维码之后直至最终确认支付成功期间,会有若干次数据交换发生在微信客户端、微信服务器以及商户自己的服务端之间。特别是在第十步,即支付完成后,微信会通过回调机制向商户系统发送XML格式的通知消息;此时,商户应当解析此消息中的各项字段以验证其合法性,并据此更新本地数据库内的订单状态为已支付。最后还需构建一个恰当响应返回给微信方面表明己方确实收到了此次通知[^3]。 ```python import xml.etree.ElementTree as ET def parse_wechat_payment_notification(xml_string): root = ET.fromstring(xml_string) result_code = root.find('result_code').text out_trade_no = root.find('out_trade_no').text # 进一步处理... ``` #### 安全措施 在整个支付链路里安全始终是最优先考虑的因素之一。因此建议采用HTTPS协议保障通信加密传输的同时也要妥善保管好私钥文件防止泄露风险。另外就是严格按照官方文档指引实施签名算法校验每一条来自外部系统的指令真实性从而杜绝潜在的安全隐患。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值