一、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/zh-tw/n/238743.html