Java实现微信(主、子商户模式)及支付宝支付

19

Java实现微信(主、子商户模式)及支付宝支付

Java实现微信(主、子商户模式)及支付宝支付

一、前言

在移动应用中,支付功能是必不可少的。微信和支付宝是中国最常用的两大支付平台。在本文中,我们将详细描述如何使用 Java 实现微信(主、子商户模式)及支付宝支付。

二、参考官方文档

* 微信普通商户: 微信服务商: 微信主商户模式3.1.1 商户信息配置首先,我们需要在微信支付平台上注册并配置我们的商户信息,包括商户ID(appid)、密钥(secret)和API证书。

3.1.2生成预支付单当用户点击支付按钮时,我们需要向微信支付平台发送请求,生成一个预支付单。这个预支付单包含了订单金额、商品描述等信息。

```javaimport java.util.HashMap;

import java.util.Map;

import com.alipay.api.AlipayClient;

import com.alipay.api.DefaultAlipayClient;

import com.alipay.api.internal.util.AlipaySecurityUtil;

import com.alipay.api.request.AlipayTradePrecreateRequest;

import com.alipay.api.response.AlipayTradePrecreateResponse;

public class WechatPay {

public static void main(String[] args) {

// 商户ID String appId = "your_app_id";

// 密钥 String secret = "your_secret";

// API证书 String apiCertPath = "path/to/api/cert";

//生成预支付单 Map params = new HashMap<>();

params.put("body", "测试订单");

params.put("out_trade_no", "1234567890");

params.put("total_amount", "10.00");

params.put("notify_url", " AlipayClient alipayClient = new DefaultAlipayClient(" appId, secret, "json", "RSA2",

apiCertPath, AlipaySecurityUtil.getPublicKeyFromCer(apiCertPath));

AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();

request.setBizContent(params);

try {

AlipayTradePrecreateResponse response = alipayClient.execute(request);

System.out.println(response.getBody());

} catch (Exception e) {

// 处理异常 }

}

}

```

3.1.3 响应支付结果当用户完成支付后,我们需要向微信支付平台发送请求,获取支付结果。

```javaimport java.util.HashMap;

import java.util.Map;

import com.alipay.api.AlipayClient;

import com.alipay.api.DefaultAlipayClient;

import com.alipay.api.internal.util.AlipaySecurityUtil;

import com.alipay.api.request.AlipayTradeQueryRequest;

import com.alipay.api.response.AlipayTradeQueryResponse;

public class WechatPay {

public static void main(String[] args) {

// 商户ID String appId = "your_app_id";

// 密钥 String secret = "your_secret";

// API证书 String apiCertPath = "path/to/api/cert";

// 获取支付结果 Map params = new HashMap<>();

params.put("out_trade_no", "1234567890");

AlipayClient alipayClient = new DefaultAlipayClient(" appId, secret, "json", "RSA2",

apiCertPath, AlipaySecurityUtil.getPublicKeyFromCer(apiCertPath));

AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

request.setBizContent(params);

try {

AlipayTradeQueryResponse response = alipayClient.execute(request);

System.out.println(response.getBody());

} catch (Exception e) {

// 处理异常 }

}

}

```

3.2 微信子商户模式3.2.1 子商户信息配置首先,我们需要在微信支付平台上注册并配置我们的子商户信息,包括子商户ID(appid)、密钥(secret)和API证书。

3.2.2生成预支付单当用户点击支付按钮时,我们需要向微信支付平台发送请求,生成一个预支付单。这个预支付单包含了订单金额、商品描述等信息。

```javaimport java.util.HashMap;

import java.util.Map;

import com.alipay.api.AlipayClient;

import com.alipay.api.DefaultAlipayClient;

import com.alipay.api.internal.util.AlipaySecurityUtil;

import com.alipay.api.request.AlipayTradePrecreateRequest;

import com.alipay.api.response.AlipayTradePrecreateResponse;

public class WechatPay {

public static void main(String[] args) {

// 子商户ID String appId = "your_sub_app_id";

// 密钥 String secret = "your_sub_secret";

// API证书 String apiCertPath = "path/to/api/cert";

//生成预支付单 Map params = new HashMap<>();

params.put("body", "测试订单");

params.put("out_trade_no", "1234567890");

params.put("total_amount", "10.00");

params.put("notify_url", " AlipayClient alipayClient = new DefaultAlipayClient(" appId, secret, "json", "RSA2",

apiCertPath, AlipaySecurityUtil.getPublicKeyFromCer(apiCertPath));

AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();

request.setBizContent(params);

try {

AlipayTradePrecreateResponse response = alipayClient.execute(request);

System.out.println(response.getBody());

} catch (Exception e) {

// 处理异常 }

}

}

```

3.2.3 响应支付结果当用户完成支付后,我们需要向微信支付平台发送请求,获取支付结果。

```javaimport java.util.HashMap;

import java.util.Map;

import com.alipay.api.AlipayClient;

import com.alipay.api.DefaultAlipayClient;

import com.alipay.api.internal.util.AlipaySecurityUtil;

import com.alipay.api.request.AlipayTradeQueryRequest;

import com.alipay.api.response.AlipayTradeQueryResponse;

public class WechatPay {

public static void main(String[] args) {

// 子商户ID String appId = "your_sub_app_id";

// 密钥 String secret = "your_sub_secret";

// API证书 String apiCertPath = "path/to/api/cert";

// 获取支付结果 Map params = new HashMap<>();

params.put("out_trade_no", "1234567890");

AlipayClient alipayClient = new DefaultAlipayClient(" appId, secret, "json", "RSA2",

apiCertPath, AlipaySecurityUtil.getPublicKeyFromCer(apiCertPath));

AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

request.setBizContent(params);

try {

AlipayTradeQueryResponse response = alipayClient.execute(request);

System.out.println(response.getBody());

} catch (Exception e) {

// 处理异常 }

}

}

```

四、支付宝支付

4.1 支付宝主商户模式4.1.1 商户信息配置首先,我们需要在支付宝平台上注册并配置我们的商户信息,包括商户ID(appid)、密钥(secret)和API证书。

4.1.2生成预支付单当用户点击支付按钮时,我们需要向支付宝平台发送请求,生成一个预支付单。这个预支付单包含了订单金额、商品描述等信息。

```javaimport java.util.HashMap;

import java.util.Map;

import com.alipay.api.AlipayClient;

import com.alipay.api.DefaultAlipayClient;

import com.alipay.api.internal.util.AlipaySecurityUtil;

import com.alipay.api.request.AlipayTradePrecreateRequest;

import com.alipay.api.response.AlipayTradePrecreateResponse;

public class AlipayPay {

public static void main(String[] args) {

// 商户ID String appId = "your_app_id";

// 密钥 String secret = "your_secret";

// API证书 String apiCertPath = "path/to/api/cert";

//生成预支付单 Map params = new HashMap<>();

params.put("

支付模式java

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 2024申请委托代扣开通快捷通道解说,会员自动续费无忧,微信支付BD助你快捷开通委托代扣周期扣款!

下一篇 微信小程序初级——快递查询(利用聚合数据接口开发)