一、IJPay PC扫码支付
IJPay是一款基于Java开发的轻量级微信支付SDK,可以快速、简单搭建Java微信支付系统,IJPay提供的PC扫码支付,是一种新颖、高效、安全的支付方式,本章节将介绍IJPay PC扫码支付相关内容。
1、创建支付请求
首先,需要创建一个DefaultWxPayClient对象,用于处理微信支付请求和响应,示例代码如下:
WxPayConfig wxPayConfig = new WxPayConfig();
DefaultWxPayClient wxPayClient = new DefaultWxPayClient(wxPayConfig);
接下来,需要构建微信支付请求参数WxPayUnifiedOrderRequest,示例代码如下:
WxPayUnifiedOrderRequest wxPayUnifiedOrderRequest = new WxPayUnifiedOrderRequest();
wxPayUnifiedOrderRequest.setBody("IJPay 扫码支付测试");
wxPayUnifiedOrderRequest.setOutTradeNo(System.currentTimeMillis() + "");
wxPayUnifiedOrderRequest.setTotalFee("1");
wxPayUnifiedOrderRequest.setSpbillCreateIp(IpKit.getRealIp());
wxPayUnifiedOrderRequest.setTradeType(TradeType.NATIVE.toString());
wxPayUnifiedOrderRequest.setNotifyUrl("http://www.baidu.com");
2、获取支付链接
创建支付请求后,需要使用wxPayClient发起微信支付请求,获取支付链接信息,示例代码如下:
WxPayUnifiedOrderResult wxPayUnifiedOrderResult = wxPayClient.execute(wxPayUnifiedOrderRequest);
String codeUrl = wxPayUnifiedOrderResult.getCodeUrl();
codeUrl即为支付链接,可以将其生成二维码,在PC端的浏览器中进行扫码支付。
3、生成二维码
将支付链接通过QRCodeUtil生成二维码图片,示例代码如下:
BufferedImage image = QrCodeUtil.createQrCode(codeUrl, 300, 300);
将生成的二维码图片,展示在PC端的支付页面,用户可以通过微信扫码支付成功。
二、IJPay 支付宝支付
除了支持微信支付,IJPay还支持支付宝支付,可以使用IJPay轻松构建支付宝支付系统,本章节将介绍IJPay支付宝支付相关内容。
1、创建支付请求
与微信支付一样,首先需要创建DefaultAliPayClient对象,并构建支付请求参数AlipayTradePagePayRequest,示例代码如下:
AlipayConfig alipayConfig = new AlipayConfig();
DefaultAliPayClient aliPayClient = new DefaultAliPayClient(alipayConfig);
AlipayTradePagePayRequest aliPayRequest = new AlipayTradePagePayRequest();
aliPayRequest.setReturnUrl("http://www.baidu.com");
aliPayRequest.setNotifyUrl("http://www.baidu.com");
aliPayRequest.setBizContent("{" +
" \"out_trade_no\":\"" + System.currentTimeMillis() + "\"," +
" \"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +
" \"total_amount\":\"0.01\"," +
" \"subject\":\"IJPay 支付测试\"," +
" \"body\":\"IJPay 支付测试说明\"" +
" }");
2、发起支付请求
创建支付请求以后,需要使用aliPayClient发起支付请求,获取支付结果AlipayTradePagePayResponse,示例代码如下:
AlipayTradePagePayResponse aliPayResponse = aliPayClient.pageExecute(aliPayRequest);
获取到AlipayTradePagePayResponse以后,将页面redirect至支付宝支付页面即可完成支付操作。
三、IJPay 微信企业付款
IJPay不仅支持支付,还支持企业付款,可以实现用户、员工等资金的快速转移。本章节将介绍IJPay微信企业付款相关内容。
1、创建企业付款请求
首先需要创建一个DefaultWxPayClient对象,并构建企业付款请求参数WxPayTransferRequest,示例代码如下:
WxPayConfig wxPayConfig = new WxPayConfig();
DefaultWxPayClient wxPayClient = new DefaultWxPayClient(wxPayConfig);
WxPayTransferRequest wxPayTransferRequest = new WxPayTransferRequest();
wxPayTransferRequest.setPartnerTradeNo(System.currentTimeMillis() + "");
wxPayTransferRequest.setOpenid("oSy001PT7D8-tqyWswMN4r2fCz-k");
wxPayTransferRequest.setCheckName("NO_CHECK");
wxPayTransferRequest.setAmount(100);
wxPayTransferRequest.setDescription("IJPay 企业付款测试");
wxPayTransferRequest.setSpbillCreateIp(IpKit.getRealIp());
2、发起企业付款请求
构建企业付款请求以后,使用wxPayClient发起企业付款请求,获取付款结果WxPayTransferResult,示例代码如下:
WxPayTransferResult wxPayTransferResult = wxPayClient.execute(wxPayTransferRequest);
获取到wxPayTransferResult以后,可以根据结果进行业务处理。
四、IJPay 微信公众号支付
IJPay还支持微信公众号支付,可以让用户在微信公众号内完成支付操作。本章节将介绍IJPay微信公众号支付相关内容。
1、创建公众号支付请求
同样需要创建DefaultWxPayClient对象,构建微信公众号支付请求参数WxPayMpOrderRequest,示例代码如下:
WxPayConfig wxPayConfig = new WxPayConfig();
DefaultWxPayClient wxPayClient = new DefaultWxPayClient(wxPayConfig);
WxPayMpOrderRequest wxPayMpOrderRequest = new WxPayMpOrderRequest();
wxPayMpOrderRequest.setBody("IJPay 公众号支付测试");
wxPayMpOrderRequest.setOpenid("xxxxxxxxxx");
wxPayMpOrderRequest.setOutTradeNo(System.currentTimeMillis() + "");
wxPayMpOrderRequest.setTotalFee(1);
wxPayMpOrderRequest.setSpbillCreateIp(IpKit.getRealIp());
wxPayMpOrderRequest.setNotifyUrl("http://www.baidu.com");
2、发起公众号支付请求
创建公众号支付请求以后,使用wxPayClient发起公众号支付请求,获取支付结果WxPayMpOrderResult,示例代码如下:
WxPayMpOrderResult wxPayMpOrderResult = wxPayClient.execute(wxPayMpOrderRequest);
获取到wxPayMpOrderResult以后,可以进一步处理支付结果,例如更新订单状态等。
五、IJPay 支付宝当面付
IJPay还支持支付宝当面付,可以在PC端或移动端使用支付宝进行支付,本章节将介绍IJPay支付宝当面付相关内容。
1、创建当面付请求
需要创建DefaultAliPayClient对象,构建当面付请求参数AlipayTradePrecreateRequest,示例代码如下:
AlipayConfig alipayConfig = new AlipayConfig();
DefaultAliPayClient aliPayClient = new DefaultAliPayClient(alipayConfig);
AlipayTradePrecreateRequest aliPayRequest = new AlipayTradePrecreateRequest();
aliPayRequest.setNotifyUrl("http://www.baidu.com");
aliPayRequest.setBizContent("{" +
" \"out_trade_no\":\"" + System.currentTimeMillis() + "\"," +
" \"total_amount\":\"0.01\"," +
" \"subject\":\"IJPay 支付测试\"," +
" \"store_id\":\"test_store_id\"," +
" \"timeout_express\":\"90m\"" +
" }");
2、发起当面付请求
构建当面付请求以后,使用aliPayClient发起当面付请求,获取支付结果AlipayTradePrecreateResponse,示例代码如下:
AlipayTradePrecreateResponse aliPayResponse = aliPayClient.execute(aliPayRequest);
获取到aliPayResponse以后,使用QRCodeUtil将支付链接转换为二维码图片,然后在移动端进行扫码支付即可。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/238743.html