1. 导入第三方依赖
<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>0.0.3</version>
</dependency>
2。 这里 需要 AppId 商户号 商户密钥
1. 我们这里创建一个微信配置类来实现WxPayConfig这个接口
package com.yyf.config;
import com.github.wxpay.sdk.WXPayConfig;
import java.io.InputStream;
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;
}
}
3. 在我们所创建的接口里写代码
package com.yyf.controller;
import com.fasterxml.jackson.databind.ObjectReader;
import com.github.wxpay.sdk.WXPay;
import com.github.wxpay.sdk.WXPayUtil;
import com.yyf.config.MyPayConfig;
import com.yyf.entity.Orders;
import com.yyf.service.OrderService;
import com.yyf.vo.ResultVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.lang.ref.WeakReference;
import java.util.HashMap;
import java.util.Map;
@RestController
@CrossOrigin
@RequestMapping("/order")
@Api(tags = "订单管理")
public class OrderController {
@Autowired
OrderService orderService;
@PostMapping("/add")
@ApiOperation (value = "订单添加")
public ResultVo addOrder(String cids, @RequestBody Orders orders, @RequestHeader("token") String token) throws Exception {
//String orderId = orderService.addOrder (cids, orders);
String orderId="1231231231231d";
MyPayConfig myPayConfig = new MyPayConfig ();
WXPay wxPay = new WXPay (myPayConfig);
HashMap<String, String> data = new HashMap<> ();
data.put ("body","咪咪虾条"); // 商品描述
data.put ("out_trade_no",orderId); // 使用当前用户订单的编号作为当前支付交易的交易号
data.put ("fee_type","CNY"); // 支付币种
data.put ("total_fee","1"); // 支付金额
data.put ("trade_type","NATIVE"); // 交易类型
data.put ("notify_url","/pay/success"); //支付完成后的回调方法接口
Map<String, String> resp = wxPay.unifiedOrder (data);
System.out.println (resp);
return null ;
}
}
4. 自己写的配置类来实现 WxPayConfig 接口
package com.yyf.config;
import com.github.wxpay.sdk.WXPayConfig;
import java.io.InputStream;
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;
}
}