2.5. 취소 요청
2.5.1. 개요
거래가 발생한 후 일정 기간 동안 구매자나 판매자의 사유로 취소가 필요할 경우 해당 API를 통하여 취소를 요청 할 수 있다.
취소금액은 총 결제금액을 초과할 수 없다.
취소는 결제 요청 후 90일 이내의 거래 건에 대해서만 취소가 가능하며, 부분 취소도 가능하다.
2.5.2. 사용 함수
Map<String, String> data = new HashMap<>();
data.put("merchant_id", merchant_id); // 가맹점 ID
data.put("merchant_tid", merchant_tid); // 가맹점 거래 ID
data.put("pay_method", "WECHAT"); // 결제 수단
data.put("org_merchant_tid", org_merchant_tid); // 원거래 가맹점 거래 ID
data.put("org_pay_date", org_pay_date); // 원거래 일자(YYYYMMDD)
data.put("org_pay_amt", org_pay_amt); // 원거래 금액
data.put("cancel_req_amt", cancel_req_amt); // 취소 요청 금액
Map<String, String> result = chinaPay.payCancel(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("org_merchant_tid: %s", result.get("org_merchant_tid"))); // 원거래 가맹점 거래 ID
System.out.println(String.format("fk_tid: %s", result.get("fk_tid"))); // FK 거래 ID
System.out.println(String.format("pay_method: %s", result.get("pay_method"))); // 결제 수단
System.out.println(String.format("cancel_date: %s", result.get("cancel_date"))); // 취소 일자
System.out.println(String.format("cancel_amt: %s", result.get("cancel_amt"))); // 취소 금액
2.5.3. 요청 규격
No |
변수명 |
필수 |
자료형 |
길이 |
비고 |
1 |
merchant_id |
O |
String |
15 |
가맹점 ID |
2 |
merchant_tid |
O |
String |
30 |
가맹점 거래 ID |
3 |
pay_method |
O |
String |
20 |
결제 수단 |
4 |
org_merchant_tid |
O |
String |
30 |
원거래 가맹점 거래 ID |
5 |
org_pay_date |
O |
String |
8 |
원거래 일자 |
6 |
org_pay_amt |
O |
Number |
16 |
원거래 금액 |
7 |
cancel_req_amt |
O |
Number |
16 |
취소 요청 금액 |
2.5.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 |
org_merchant_tid |
O |
String |
30 |
원거래 가맹점 거래 ID |
6 |
fk_tid |
X |
String |
30 |
FK 거래 ID |
7 |
pay_method |
O |
String |
20 |
결제 수단 |
8 |
cancel_date |
O |
String |
8 |
취소 일자 |
9 |
cancel_amt |
X |
Number |
16 |
취소 금액 |
상태코드(trans_stat)
No |
trans_stat |
설명 |
1 |
SUCCESS |
성공 (MpmCallBack 시 결제성공) |
2 |
REFUND |
취소 완료 |
3 |
REVOKED |
취소 완료 |
4 |
PAYERROR |
결제 실패 |
5 |
USERPAYING |
결제 진행 중 |
6 |
NOTPAY |
결제 진행 중(사용자 비밀번호 요청 전) |