ZQN
2024-06-17 b1ff19545212508d3f65741ab889f0b6df82a511
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package com.project.common.wxv3;
 
import com.alibaba.fastjson2.JSONObject;
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.constant.WxPayConstants;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.github.binarywang.wxpay.service.WxPayService;
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
import lombok.extern.slf4j.Slf4j;
 
@Slf4j
public class TestV3 {
    public static void main(String[] args) {
        WxPayConfig wxPayConfig = new WxPayConfig();
        wxPayConfig.setMchId("1645270007");
        wxPayConfig.setAppId("wx40ebd17aea073b38");
        wxPayConfig.setMchKey("tengchongshengshangzhubaov220235");
        wxPayConfig.setApiV3Key("tengchongshengshangzhubaov320235");
        wxPayConfig.setCertSerialNo("72F430196D56F577885A9636E1D92B3E14ACB07E");
        wxPayConfig.setKeyPath("D:\\Gem\\project-admin\\src\\main\\resources\\pay\\wxv3\\apiclient_cert.p12");
        wxPayConfig.setPrivateCertPath("D:\\Gem\\project-admin\\src\\main\\resources\\pay\\wxv3\\apiclient_cert.pem");
        wxPayConfig.setPrivateKeyPath("D:\\Gem\\project-admin\\src\\main\\resources\\pay\\wxv3\\apiclient_key.pem");
 
        // 小程序支付
        wxPayConfig.setTradeType(WxPayConstants.TradeType.JSAPI);
 
        WxPayService wxPayService = new WxPayServiceImpl();
        wxPayService.setConfig(wxPayConfig); //微信配置信息
 
        // 官方接口文档地址- https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter4_1_1.shtml
        String url = "/v3/pay/transactions/jsapi";
        try {
            JSONObject jsonObject = WxpayV3Util.unifiedOrderV3(url, param(), wxPayService);
            log.info("支付返回:{}", jsonObject);
        } catch (WxPayException e) {
            e.printStackTrace();
        }
 
    }
 
    private static JSONObject param() {
        String payOrderId = "12345678903423534539";
 
        // 微信统一下单请求对象
        JSONObject reqJSON = new JSONObject();
        reqJSON.put("out_trade_no", payOrderId);
        reqJSON.put("description", "我是一个商品");
        // 订单失效时间,遵循rfc3339标准格式,格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE,示例值:2018-06-08T10:34:56+08:00
//        reqJSON.put("time_expire", String.format("%sT%s+08:00", DateUtil.format(orderPay.getExpiredTime(), DatePattern.NORM_DATE_FORMAT), DateUtil.format(orderPay.getExpiredTime(), DatePattern.NORM_TIME_FORMAT)));
 
        reqJSON.put("notify_url", "https://www.baidu.com");
        JSONObject amount = new JSONObject();
        amount.put("total", 888888);
        amount.put("currency", "CNY");
        reqJSON.put("amount", amount);
 
        JSONObject sceneInfo = new JSONObject();
        sceneInfo.put("payer_client_ip", "172.130.100.39");
        reqJSON.put("scene_info", sceneInfo);
 
        reqJSON.put("appid", "wx40ebd17aea073b38");
        reqJSON.put("mchid", "1645270007");
 
        JSONObject payer = new JSONObject();
        payer.put("openid", "oL8WF5M_X5tfkP5iD13TWsl3pCGo");
        reqJSON.put("payer", payer);
 
        return reqJSON;
    }
 
}