PAY.JP로 신용 결제 기능을 실현하는 [Java]
PAY.나는 JP 결제 대행 서비스를 제공하는 웹API를 사용해 신용카드 결제 기능을 실현해 보았다.
API를 사용하는 경우 입력한 카드 정보를 PAY로 토큰화합니다.JP에 전송하고 그가 보낸 영패를 바탕으로 PAY.JP에서 결제 대행한다고 합니다.
개발 환경은 Java/Maven입니다.
PAY.JP 계정 만들기
방문공식 사이트"신청"을 클릭하여 계정을 만듭니다.
로그인한 후 로그인하고 왼쪽 API를 사용하여 API 키를 확인합니다.
pom.xml에 추가
다음은pom입니다.xml에 추가합니다.
<dependency>
<groupId>jp.pay</groupId>
<artifactId>payjp-java</artifactId>
<version>0.4.4</version>
</dependency>
View 생성이번에는 입력금액을 카드로 결제하는 기능이 시행됐다.
test.html
<!DOCTYPE html>
<html lang="ja" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>支払い</title>
</head>
<body>
<form th:action="@{/pay}" method="post">
支払金額(円)<br>
<input type="text" name="price"><br>
カード情報<br>
<script
type="text/javascript"
src="https://checkout.pay.jp/"
class="payjp-button"
data-key="pk_test_xxxxxxx"
data-partial="true"
data-token-name="card"
></script>
<br>
<button>支払う</button>
</form>
</body>
</html>
script 옵션을 삽입하면 카드 정보를 입력하는 창을 만들 수 있습니다.
데이터-키에 방금 확인한 API 키의 공개 키를 입력합니다.이번에는 테스트 키를 사용했다.공식적인 환경을 이용하려면 신청이 필요할 것 같습니다.
이script 라벨은
<input type="hidden" name="card">
와 같은 역할을 하며 입력한 카드 정보는 영패화되어 발송됩니다.또 이번에는 데이터-token-name='카드'에 따라name='카드'로 변경됐다.기본 상태는 name = "payjp-token"입니다.
이쪽 가이드.에 입력 형식에 대한 자세한 사용자 정의 방법이 기재되어 있으니 참고하십시오.
Controller 만들기
기본적으로 공식적으로 공개된 GiitHub에 실린 코드를 복사하여 붙여넣는다.pay-jp/GitHub
Payjp.앱키에는 비밀 키를, 카지맵에는 결제 금액과 엔화, 신용카드 정보를 설정했다.
testController.java
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import jp.pay.Payjp;
import jp.pay.model.Charge;
import jp.pay.net.RequestOptions;
@Controller
@RequestMapping("")
public class testController {
@RequestMapping("/")
public String index() {
return "test";
}
/**pay.jpを通じてクレジット決済をするメソッド
* @param price 支払金額
* @param card トークン化されたカード情報
*/
@RequestMapping("/pay")
public String creditPay(int price, String card) {
Payjp.apiKey = "sk_test_xxxxxxxxxxxxx";
Map<String, Object> chargeMap = new HashMap<String, Object>();
chargeMap.put("amount", price);//支払金額をセット
chargeMap.put("currency", "jpy");//日本円をセット
chargeMap.put("card", card);//カード情報をセット
try {
Charge charge = Charge.create(chargeMap);
} catch (Exception e) {
e.printStackTrace();
}
return "complete";//決済完了画面
}
}
실행그럼, 제가 실제로 운전해 볼게요.
나는 순조롭게 운행했다.
이번에는 테스트 환경이기 때문에 카드 번호는 테스트용 번호입니다.테스트 환경에서 카드 번호의 유효성만 검사합니다.
또 아까 관리자 페이지를 보면 매출을 반영할 수 있다.
끝까지 봐주셔서 감사합니다.
첫 투고니까 잘못이 있으면 지적해 주세요!
참고 자료
pay-jp/checkout
pay-jp/GitHub
Reference
이 문제에 관하여(PAY.JP로 신용 결제 기능을 실현하는 [Java]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/szk25/items/c30a374c4855f3a3d380텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)