Java微信支付demo
时间: 2023-08-08 22:08:25 浏览: 252
以下是一个简单的 Java 微信支付的示例代码:
```java
import com.github.wxpay.sdk.WXPay;
import com.github.wxpay.sdk.WXPayConfig;
import com.github.wxpay.sdk.WXPayUtil;
import java.util.HashMap;
import java.util.Map;
public class WechatPayDemo {
public static void main(String[] args) {
try {
// 创建 WXPayConfig 对象,用于配置商户号、密钥等信息
WXPayConfig config = new MyWXPayConfig();
// 创建 WXPay 对象
WXPay wxpay = new WXPay(config);
// 构建请求参数
Map<String, String> data = new HashMap<>();
data.put("body", "测试商品"); // 商品描述
data.put("out_trade_no", "202201010001"); // 商户订单号
data.put("total_fee", "1"); // 订单金额(单位:分)
data.put("spbill_create_ip", "123.123.123.123"); // 客户端 IP
data.put("notify_url", "http://your-notify-url"); // 异步通知地址
data.put("trade_type", "NATIVE"); // 交易类型,Native 扫码支付
// 调用统一下单 API
Map<String, String> result = wxpay.unifiedOrder(data);
// 解析返回结果
if ("SUCCESS".equals(result.get("return_code")) && "SUCCESS".equals(result.get("result_code"))) {
String codeUrl = result.get("code_url"); // 获取二维码链接
System.out.println("二维码链接:" + codeUrl);
// 根据 codeUrl 生成二维码供用户扫码支付
} else {
System.out.println("下单失败:" + result.get("return_msg"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
上述代码使用了第三方封装的微信支付 Java SDK(`com.github.wxpay.sdk.WXPay`)来简化开发流程,您需要自行引入该 SDK,并根据实际情况配置商户号、密钥等信息。
此示例中的 `MyWXPayConfig` 类需要实现 `WXPayConfig` 接口,用于提供商户号、密钥等配置信息。您可以根据实际情况自行实现该接口。
请注意,上述示例代码仅供参考,实际使用时需要根据自己的业务需求进行适当的修改和完善。同时,为了确保支付安全,请务必遵循微信支付官方的开发规范和最佳实践。
阅读全文