1.微信支付
通过微信平台为商家提供代收款服务
1.1微信支付的业务–商户注册微信支付业务:
1.2申请支付订单–商户向支付平台申请支付链接
支付订单,并不是用户提交的商品订单,而是商品向微信支付平台申请的支付链接
1.2.1导入微信支付的依赖
wxpay的maven依赖:
<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>0.0.3</version>
</dependency>
1.2.2创建微信支付配置类,配置商品信息
创建一类,实现WXPayConfig接口
重写三分方法,分别设置商品AppID商户ID商户密钥
package com.qfedu.config;
import com.github.wxpay.sdk.WXPayConfig;
import java.io.InputStream;
/**
* @Description:
* @Author : Jerry
* @create : 2022-07-02 18:16
*/
public class MyPayConfig implements WXPayConfig {
@Override
public String getAppID() {
return "wx632c8f211f8122c6";
}
@Override
public String getMchID() {
return "1497984412";
}
@Override
public String getKey() {
return "sbNCm1JnevqI36LrEaxFwcaT0hkGxFnc";
}
@Override
public InputStream getCertStream() {
return null;
}
@Override
public int getHttpConnectTimeoutMs() {
return 0;
}
@Override
public int getHttpReadTimeoutMs() {
return 0;
}
}
1.2.3设置订单的参数
//设置当前订单信息
HashMap<String,String> data = new HashMap<>();
data.put("fee_type","CNY"); //支付币种
data.put("total_fee","0.1"); //支付总金额
data.put("body","咪咪虾条"); // 商品描述
//使用当前用户订单的编号作为当前支付交易的交易号
data.put("out_trade_no", orderId);
data.put("trade_type","NATIVE"); //交易类型
data.put("notify_url","/pay/success"); //设置支付完成时的回调方法接口
修改OrderService的实现类:
package com.qfedu.fmmall.service.impl;
import com.qfedu.fmmall.dao.OrderItemMapper;
import com.qfedu.fmmall.dao.OrdersMapper;
import com.qfedu.fmmall.dao.ProductSkuMapper;
import com.qfedu.fmmall.dao.ShoppingCartMapper;
import com.qfedu.fmmall.entity.OrderItem;
import com.qfedu.fmmall.entity.Orders;
import com.qfedu.fmmall.entity.ProductSku;
import com.qfedu.fmmall.entity.ShoppingCartVO;
import com.qfedu.fmmall.service.OrderService;
import com.qfedu.fmmall.vo.R;
import com.qfedu.fmmall.vo.ResStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
/**
* @Description:
* @Author : Jerry
* @create : 2022-07-01 17:46
*/
@Service
public class OrderSer