이 기사는 Alipay를 사용하여 Java의 특정 코드를 공유하여 지불 코드를 스캔합니다. 참조에 대해 특정 콘텐츠는 다음과 같습니다.
준비
먼저 소비자 계정 및 수취인 계정이 포함 된 Alipay Sandbox Test 계정을 엽니 다.
QR 코드를 스캔하여 모바일 앱을 다운로드하십시오
기본 구성
필요한 JAR 패키지
AlipayConfig
package com.alipay.config; import java.io.filewriter; import java.io.ioexception; import java.util.resourcebundle;/ * * *클래스 이름 : AlipayConfig *함수 : 기본 구성 클래스 *세부 사항 : Set Acc 테스트. 가맹점은 자신의 웹 사이트의 요구에 따라 및 기술 문서에 따라 쓸 수 있으며이 코드를 사용할 필요는 없습니다. *이 코드는 Alipay 인터페이스를 학습하고 연구하기위한 것이며 참조로만 제공됩니다. */public class alipayconfig {// ↓↓탬 (// ↓팀 ↓ 켈 (// ↓팀 ↓ 켈 (//) 기본 정보를 구성하십시오. // Merchant Private Key, 귀하의 PKCS8 형식 RSA2 개인 키 공개 정적 문자열 Merchant_private_key = "Miievaid2TulssMawg5+F4NZBEXPNXI8NKJPZEEAA =="; // Alipay Public Key, 주소를 봅니다. public static String alipay_public_key = "miibijt26tltkar8s1erdwi25vibcmz7plmxvvumhf5tdbwfbmhus3qidaqab"; // 서버 비동기식 알림 페이지에는 http : // 형식의 전체 경로가 필요하며? id = 123과 같은 사용자 정의 매개 변수를 추가 할 수 없습니다. 외부 네트워크에서 정상적으로 액세스해야합니다. public static string notify_url = "http : // localhost : 8080/alipay.trade.page.pay-java-utf-8/notify_url.jsp"; // 페이지 점프 동기식 알림 페이지 경로에는 http : // 형식의 전체 경로가 필요합니다. ID = 123과 같은 사용자 정의 매개 변수를 추가 할 수 없습니다. public static string return_url = "http : // localhost : 8080/exam/index/goumai"; // 서명 방법 public static string sign_type = "rsa2"; // 문자 인코딩 형식 public static string charset = "utf-8"; // Alipay Gateway public static string gatewayurl = "https://openapi.alipaydev.com/gateway.do"; // alipay Gateway public static string log_path = "e : //"; // ↑↑↑↑↑↑↑↑ 청칭님님님님님은 여기에 기본 정보를 구성하십시오/*** 쉬운 테스트를 위해 로그를 작성하십시오 (웹 사이트에 데이터베이스에 레코드를 저장하기 위해 변경할 수도 있습니다)* @Param Sword 로그에 텍스트 내용을 작성하여*/public static void logresult (문자열 소드) {filewriter riter = null; try {writer = new filewriter (log_path + "alipay_log_" + system.currentTimeMillis () + ". txt"); Writer.write (Sword); } catch (예외 e) {e.printstacktrace (); } 마침내 {if (writer! = null) {try {writer.close (); } catch (ioexception e) {e.printstacktrace (); }}}}}}제어 장치
// QR 코드가있는 페이지를 생성하여 @requestmapping (value = "alipay") public String alipay (httpservletrade 맵, 문자열 챕터, httpservletrequest 요청, String widtotal_amount, String widsubection), string widsubection) alipayApiexception {// string a, String urlName, String Couname ...+"& a ="+a+"& urlname ="+urlname = "+couname ="+couname // alipayclient alipayclient alipayclient = new defaultalipayclient (alipayconfig.gatewayurl, alipayconfig. alipayconfig.merchant_private_key, "json", alipayconfig.charset, alipayconfig.alipay_public_key, alipayconfig.sign_type); // 요청 매개 변수 설정 alipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest (); alipayRequest.setReTurnUrl (alipayConfig.return_Url+"? 챕터ID ="+챕터ID); AlipayRequest.SetNotifyUrl (alipayConfig.Notify_url); // pay id, 필수 문자열 out_trade_no = widout_trade_no; // 지불 금액, 필수 문자열 total_amount = widtotal_amount; Total_amount = urldecoder.decode (Total_amount, "utf-8"); // 트랜스 코딩 // 주문 이름, 필수 문자열 주제 = widsubject; 대상 = urldecoder.decode (주제, "UTF-8"); // 제품 설명, null 문자열 body = widbody; alipayRequest.setBizContent ( "{/"out_trade_no/":/" + out_trade_no + "/", " +"/"total_amount/" + total_amount + "/", " +"/" +"/" +" + "/" + " + 주제 +"/"/"Body + " +" + "/", " +", " +"/" "/"timeout_express/":/"1m/"," + "/"product_code/":/"fast_instant_trade_pay/"}"); // 요청 문자열 결과 = alipayClient.pageExecute (alipayRequest) .getBody (); Response.setContentType ( "Text/Html; charset = utf-8"); printwriter out = response.getwriter (); out.println (결과); 널 리턴; }성공적으로 지불하고 페이지를 반환합니다 (return_url)
성공 후 반환 경로를 촬영 한 후 컨트롤러로 이동하고 자세한 내용은 AlipayConfig의 구성을 참조하십시오.
// 구매 테이블 @requestmapping (value = "goumai") @ResponseBody public modelandView goumai (String 챕터ID, httpservletRequest req, String A, String UrlName, String Counme, ModelMap mav = new ModelAdView (); map <string, string> map1 = new Hashmap <String, String> (); // sysusertab login_user = sysuserService.getSysUserById (userId); httpsession session = req.getSession (); sysusertab login_user1 = (sysusertab) session.getAttribute ( "login_user"); String userId = login_user1.getUserId (); // session.setAttribute ( "login_user", login_user); map1.put ( "userId", userId); map1.put ( "chaperId", chaperId); int num = sysbuyservice.getBuycount (mapp1); if (num == 0) {mapp1.put ( "buyid", uuid.randomuuid (). toString (). 교체 ( "-", ""); sysbuyservice.insertbuy (mapp1); } // 쿼리 코스 내용 // string fanhui = showfh (req, chaperId, urlname, couname, map, a); mav.setViewName ( "jsp/pay/paysuccess"); 반환 mav; }결제가 성공하면 페이지가 Paysuccess.jsp 페이지로 이동합니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.