package com.ruoyi.order.vx;
|
import com.wechat.pay.java.core.Config;
|
import com.wechat.pay.java.core.RSAAutoCertificateConfig;
|
import com.wechat.pay.java.service.payments.nativepay.NativePayService;
|
import com.wechat.pay.java.service.payments.nativepay.model.Amount;
|
import com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest;
|
import com.wechat.pay.java.service.payments.nativepay.model.PrepayResponse;
|
/** Native 支付下单为例 */
|
public class QuickStart {
|
/** 商户号 */
|
public static String merchantId = "190000****";
|
/** 商户API私钥路径 */
|
public static String privateKeyPath = "/Users/yourname/your/path/apiclient_key.pem";
|
/** 商户证书序列号 */
|
public static String merchantSerialNumber = "5157F09EFDC096DE15EBE81A47057A72********";
|
/** 商户APIV3密钥 */
|
public static String apiV3key = "...";
|
public static void main(String[] args) {
|
// 使用自动更新平台证书的RSA配置
|
// 建议将 config 作为单例或全局静态对象,避免重复的下载浪费系统资源
|
Config config =
|
new RSAAutoCertificateConfig.Builder()
|
.merchantId(merchantId)
|
.privateKeyFromPath(privateKeyPath)
|
.merchantSerialNumber(merchantSerialNumber)
|
.apiV3Key(apiV3key)
|
.build();
|
// 构建service
|
NativePayService service = new NativePayService.Builder().config(config).build();
|
// request.setXxx(val)设置所需参数,具体参数可见Request定义
|
PrepayRequest request = new PrepayRequest();
|
Amount amount = new Amount();
|
amount.setTotal(100);
|
request.setAmount(amount);
|
request.setAppid("wxa9d9651ae******");
|
request.setMchid("190000****");
|
request.setDescription("测试商品标题");
|
request.setNotifyUrl("https://notify_url");
|
request.setOutTradeNo("out_trade_no_001");
|
// 调用下单方法,得到应答
|
PrepayResponse response = service.prepay(request);
|
// 使用微信扫描 code_url 对应的二维码,即可体验Native支付
|
System.out.println(response.getCodeUrl());
|
}
|
}
|