2.9. MPM 거래내역 통보
2.9.1. 개요
* 주의 : 해당 MPM 거래내역 통보는 고정 Qrcode Kit의 결제에 대한 결과 통보입니다.
2.2. MPM 결제 요청
은 2.4. 결제 결과 통보
로 결과가 전달 됩니다.
MPM결제의 성공완료 및 상태 변경 시 Agent에 사전에 등록된 URL로 결제 정보를 통보 합니다.
사전에 결과를 받을 응답 URL FK로 알려주시기 바랍니다.
해당 API는 웹 URL방식으로 전달이 되어, Agent에서 웹서버(WAS)를 운영을 해야 합니다.
데이터의 검증은 사전에 전달드린 Key로 MD5 Hash 를 사용합니다.
전송 Protocol : HTTP(S)
Method : POST
Paramether name : req
DATA 형태 : JSON(SDK내에서 Pasing을 하기 때문에 고객사에서는 따로 구현할 필요가 없습니다)
2.9.2. 사용 함수
@PostMapping ( "/callback" ) // URI정보는 반드시 callback일 필요가 없습니다.
public String callback ( @RequestParam ( name = "req" , required = false ) String jsonData ){
Map < String , String > result = chinaPay . mpmCallback ( jsonData );
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 ( "terminal_id: %s" , result . get ( "terminal_id" ))); // 터미널 아이디
System . out . println ( String . format ( "pay_method: %s" , result . get ( "pay_method" ))); // 결제수단
System . out . println ( String . format ( "fk_tid: %s" , result . get ( "fk_tid" ))); // FK거래번호
System . out . println ( String . format ( "merchant_tid: %s" , result . get ( "merchant_tid" ))); // 가맹점 거래번호(FK에서 임의 생성)
System . out . println ( String . format ( "pay_stat: %s" , result . get ( "pay_stat" ))); // 결제 상태
System . out . println ( String . format ( "pay_amt: %s" , result . get ( "pay_amt" ))); // 결제 금액
System . out . println ( String . format ( "cancel_amt: %s" , result . get ( "cancel_amt" ))); // 취소 금액
System . out . println ( String . format ( "scan_type: %s" , result . get ( "scan_type" ))); // 스캔 타입
System . out . println ( String . format ( "pay_datetime: %s" , result . get ( "pay_datetime" ))); // 거래 일시
// HTML페이지에 공백 또는 탭, 줄바꿈 없이 반드시 1 또는 0만 리턴이 되어야 합니다.
if ( 고객사 처리 로직 == ture ){
return 1 ;
} else { // 실패 시
return 0 ;
}
}
2.9.3. 응답 규격
No
변수명
필수
자료형
길이
비고
1
result_code
O
String
16
응답코드(성공 : 000000, 그외실패:응답코드 참조)
2
result_msg
O
String
128
응답메시지
3
merchant_id
O
String
15
가맹점 ID
4
terminal_id
O
String
8
터미널 ID
5
pay_method
O
String
20
결제 수단
6
fk_tid
O
String
20
FK 거래 ID
7
org_fk_tid
X
String
20
FK 원거래 ID (취소 응답 필수)
8
merchant_tid
X
String
30
가맹점 거래번호(FK에서 임의 생성), 현재는 사용하지 않음
9
pay_stat
X
String
50
결제 상태
10
pay_amt
O
Number
16
결제 금액
11
cancel_amt
X
Number
16
취소 금액
12
scan_type
O
String
10
스캔 타입
13
pay_datetime
O
String
10
거래 일시(yyyyMMddHHmmss)
2.9.4. 리턴
// HTML페이지에 공백 또는 탭, 줄바꿈 없이 반드시 1 또는 0만 리턴이 되어야 합니다.
// Java Spring
if ( 고객사 처리 로직 == ture ){
return 1 ;
} else { // 실패 시
return 0 ;
}
// JSP
if ( 고객사 처리 로직 == ture ){
response . write ( "1" );
} else { // 실패 시
response . write ( "0" );
}