由于微信支付需要商家认证才能开通,个人开发者只能模拟支付的流程,完成后续项目的学习。
解决思路:
后端: 点击 支付 -->调用支付成功接口-直接更新数据库订单状态
小程序: 点击 支付 -->直接跳转支付成功页面
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("该订单已支付")