자바 는 어떻게 샌 드 박스 환경 에서 알 리 페 이 결제 인 터 페 이 스 를 테스트 합 니까?
준비 작업,알 리 페 이 오픈 플랫폼 에 로그 인하 여 샌 드 박스 환경 에 진입
오픈 플랫폼 링크:https://developers.alipay.com/platform/developerIndex.htm
샌 드 박스 환경 에서 테스트 에 필요 하고 불필요 한 인 자 를 제공 합 니 다.직접 수정 해 야 할 것 은 RSA 키 뿐 입 니 다.알 리 페 이 가 제공 하 는 개발 도 구 를 통 해 RSA 키 를 생 성하 고 링크 를 다운로드 해 야 합 니 다.https://docs.open.alipay.com/291/105971#LDsXr
다운로드 가 완료 되면 RSA 키 를 생 성 할 수 있 습 니 다.생 성 된 키 는 공개 키 를 사용 하고 비밀 키 를 사용 합 니 다.비밀 키 를 사용 하여 스스로 저장 합 니 다.공개 키 를 사용 하려 면 알 리 페 이의 열 린 플랫폼 에 해당 하 는 알 리 페 이 공개 키 를 생 성 해 야 정상적으로 사용 할 수 있 습 니 다.
샌 드 박스 도구 중 설정 클릭
RSA 에서 생 성 된 응용 키 를 아래 텍스트 상자 에 복사 하고 설정 저장 을 누 르 십시오.
잘 보존 하 다
위 작업 이 완료 되면 코드 를 작성 할 수 있 습 니 다.
개발 도구 에 들 어가 코드 를 작성 합 니 다.
설정 클래스 를 만 들 고 설정 을 초기 화 합 니 다.
public class AlipayConfig {
// ID, APPID,
public static String app_id = "2016101200670453";
// , PKCS8 RSA2
public static String merchant_private_key = " ** **";
// , :https://openhome.alipay.com/platform/appDaily.htm APPID 。
public static String alipay_public_key = " ";
// http:// , ?id=123 , . , , ( )
public static String notify_url = "http://localhost:8080/pay/alipay-callback-notify-url";
// http:// , ?id=123 , . , . , .
public static String return_url = "http://localhost:8080/pay/alipay-callback-return-sult";
// , , RSA RSA, , RSA2
public static String sign_type = "RSA2";
//
public static String charset = "utf-8";
//
public static String gatewayUrl = "https://openapi.alipaydev.com/gateway.do";
}
Maven 좌표 가 져 오기
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>3.7.4.ALL</version>
</dependency>
설정 클래스 를 만 들 고 설정 을 초기 화 합 니 다.컨트롤 러 클래스 를 써 서 프론트 데스크 에 접근 하고 결제 인 터 페 이 스 를 호출 합 니 다.
@RequestMapping("/toPay")//
@ResponseBody// ,
public String toPay(String id,String sumMoney) throws Exception{
byte[] serialize = SerializeUtil.serialize(orderIds);
redisServer.setCacheValueForTime(uuid,serialize,1000*60*60*30);
// AlipayClient,
AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);
// ,
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
alipayRequest.setReturnUrl(AlipayConfig.return_url);
alipayRequest.setNotifyUrl(AlipayConfig.notify_url);
// ,out_trade_no: , , ,total_amount: , String , "," ( 1,000 ),subject: ,product_code: . : [https://docs.open.alipay.com/api_1/alipay.trade.page.pay](https://docs.open.alipay.com/api_1/alipay.trade.page.pay)
try {
alipayRequest.setBizContent("{\"out_trade_no\":\""+id +"\","
+ "\"total_amount\":\""+sumMoney +"\","
+ "\"subject\":\""+ " " +"\","
+ "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");
//
String result;
//
result = alipayClient.pageExecute(alipayRequest).getBody();
//System.out.println("*********************
:"+result);
return result;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
이것 은 설정 클래스 에 설 치 된 점프 경로 입 니 다.스스로 업 무 를 작성 할 수 있 습 니 다.
@RequestMapping("alipay-callback-return-sult")
public String successResult(HttpServletRequest request, HttpServletResponse response){
// request.getParameterMap()
Map<String, String[]> parameterMap = request.getParameterMap();
String[] out_trade_nos = parameterMap.get("out_trade_no");
String id = out_trade_nos[0];
//
return "redirect:/good/toPayFor";
}
@RequestMapping("alipay-callback-notify-url")
public String failResult(HttpServletRequest request, HttpServletResponse response){
Map<String, String[]> parameterMap = request.getParameterMap();
String[] out_trade_nos = parameterMap.get("out_trade_no");
String uuid = out_trade_nos[0];
orderService.updateOrderInfo(uuid);
return "redirect:/good/toPayFor";
}
항목 을 실행 하고 요청 을 보 냅 니 다.다음 경로 로 이동 하 는 것 은 성공 을 의미 합 니 다.결과 전시
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.