2.1. CPM 결제 요청
2.1.1. 개요
고객(결제자)의 Barcode 또는 Qrcode를 POS의 스캐너 또는 가맹점앱을 통해 Scan하여 결제를 요청합니다.
일부 결제 수단에서는 사용자에게 비밀번호를 입력 받을 수 있어서, 결과를 정상적으로 받더라도 “결제 상태 조회” API를 통해 결제 상태를 확인해야 하는 경우도 발생할 수 있습니다.(예. 중국결제 중 WECHAT결제)
- 절차1 : 가맹점과 사용자가 결제금액 확인
- 절차2 : 사용자가 가맹점에게 QRCode를 제시한다.
- 절차3 : 가맹점은 스캐너를 사용하여, 사용자의 QRCode를 스캔하여, FK에 전송하고, 결과를 기다린다.
2.1.2. 사용 함수 및 예제
Map<String, String> data = new HashMap<>();
data.put("merchant_id", merchant_id); // 가맹점 ID
data.put("client_ip", "127.0.0.1"); // 전송 IP
data.put("merchant_tid", merchant_tid); // 가맹점 거래 ID
data.put("pay_method", "WECHAT"); // 결제 수단
data.put("currency", "KRW"); // 통화
data.put("req_amt", "100"); // 요청 금액
data.put("req_datetime", datetime); // 요청 일시
data.put("barcode", barcode); // 바코드(또는 QRCode)
Map<String, String> result = chinaPay.cpmPay(data);
System.out.println(String.format("result_code : %s", result.get("result_code"))); // 응답 코드
System.out.println(String.format("result_msg : %s", result.get("result_msg"))); // 응답 메시지
System.out.println(String.format("merchant_id: %s", result.get("merchant_id"))); // 가맹점 ID
System.out.println(String.format("merchant_tid: %s", result.get("merchant_tid"))); // 가맹점 거래 ID
System.out.println(String.format("fk_tid: %s", result.get("fk_tid"))); // FK 거래 ID
System.out.println(String.format("pay_amt: %s", result.get("pay_amt"))); // 결제 금액
System.out.println(String.format("pay_auth_code: %s", result.get("pay_auth_code"))); // 결제 승인 코드
System.out.println(String.format("pay_datetime: %s", result.get("pay_datetime"))); // 결제 일시
2.1.3. 요청 규격
No |
변수명 |
필수 |
자료형 |
길이 |
비고 |
1 |
merchant_id |
O |
String |
15 |
가맹점 ID |
2 |
client_ip |
O |
String |
20 |
전송 IP |
3 |
merchant_tid |
O |
String |
30 |
가맹점 거래 ID |
4 |
pay_method |
O |
String |
20 |
결제 수단 |
5 |
currency |
O |
String |
3 |
통화 |
6 |
req_amt |
O |
Number |
16 |
요청 금액 |
7 |
req_datetime |
O |
String |
14 |
요청 일시 |
8 |
barcode |
O |
String |
128 |
바코드(또는 QRCode) |
2.1.4. 응답 규격
No |
변수명 |
필수 |
자료형 |
길이 |
비고 |
1 |
result_code |
O |
String |
16 |
응답 코드 |
2 |
result_msg |
O |
String |
128 |
응답 메시지 |
3 |
merchant_id |
O |
String |
15 |
가맹점 ID |
4 |
merchant_tid |
O |
String |
30 |
가맹점 거래 ID |
5 |
fk_tid |
O |
String |
30 |
FK 거래 ID |
6 |
pay_amt |
O |
Number |
16 |
결제 금액 |
7 |
pay_auth_code |
O |
String |
8 |
결제 승인 번호 |
8 |
pay_datetime |
X |
String |
14 |
결제 일시 |