결제정보 검증
아래 검증 절차를 적용하지 않아 발생하는 결제정보 위변조 관련 사고에 대해서는 NHN KCP에서 책임 질 수 없습니다.반드시 결제 연동 시 검증 절차를 확인하세요.
파라미터 설정
가맹점에서는 결제정보 검증을 위해 실제 처리할 결제수단과 결제금액을 승인 요청 시 아래 변수에 맞게 전달하세요.
- 결제금액 검증 파라미터 : ordr_mony (실제 결제요청 금액)
- 결제수단 검증 파라미터 : pay_type
| 신용카드 | PACA |
| 계좌이체 | PABK |
| 가상계좌 | PAVC |
| 휴대폰 | PAMC |
| 포인트 | PAPT |
| 상품권 | PATK |
- 주문번호 검증 파라미터 : ordr_no (실제 결제요청 주문번호)
소스 적용 방법
pp_cli 라이브러리 통신 모듈
pp_ax_hub 또는 pp_cli_hub 페이지를 수정합니다. (JSP 샘플 예시)
JSP 샘플 외 다른 언어 처리에 대해서는 개발지원센터 문의하기로 문의하세요.
if ( req_tx.equals( "pay" ) ) { c_PayPlus.mf_set_enc_data( f_get_parm( request.getParameter( "enc_data" ) ), f_get_parm( request.getParameter( "enc_info" ) ) ); /* ordr_data에 결제 유효성 검증 */ int ordr_data_set_no; ordr_data_set_no = c_PayPlus.mf_add_set( "ordr_data" ); c_PayPlus.mf_set_us( ordr_data_set_no, "ordr_mony", "1004" ); // 실제 결제될 금액이 1004원이라면 결제금액 유효성 검증 c_PayPlus.mf_set_us( ordr_data_set_no, "pay_type", "PACA" ); // 실제 결제할 수단이 신용카드라면 PACA로 설정하여 결제수단 유효성 검증 //c_PayPlus.mf_set_us( ordr_data_set_no, "ordr_no", "TEST123456789" ); // 실제 처리할 주문번호가 TEST123456789라면 주문번호 검증 } /* ordr_no의 경우 결제창으로 전달하는 주문번호와 실제 승인 요청 때 처리하는 주문번호가 동일해야 하는 경우 검증 처리하세요. 다른 경우 주문번호 검증은 하지 마세요. */
결제창에서 처리한 결제요청 금액과 ordr_mony 값이 다를 경우,
응답코드 : 8059, 응답메시지 : 포맷에러(지불정보-공통:결제금액 불일치)
결제창에서 처리한 결제수단 및 주문번호 값이 다를 경우,
응답코드 : 8350, 응답메시지 : 결제정보 검증 불일치가 응답됩니다.
API 통신 모듈
kcp_api_page에서 결제 API 요청 파라미터에 검증 값을 추가합니다.
json_req.put("tran_cd", tran_cd); json_req.put("site_cd", site_cd); json_req.put("kcp_cert_info", kcp_cert_info); json_req.put("enc_data", enc_data); json_req.put("enc_info", enc_info); json_req.put("ordr_mony", "1004"); // 실제 결제될 금액이 1004원이라면 결제금액 유효성 검증 json_req.put("pay_type", "PACA"); // 실제 결제할 수단이 신용카드라면 PACA로 설정하여 결제수단 유효성 검증 //json_req.put("ordr_no", "TEST123456789"); // 실제 처리할 주문번호가 TEST123456789라면 주문번호 검증 /* ordr_no의 경우 결제창으로 전달하는 주문번호와 실제 승인 요청 때 처리하는 주문번호가 동일해야 하는 경우 검증 처리하세요. 다른 경우 주문번호 검증은 하지 마세요. */
결제창에서 처리한 결제요청 금액과 ordr_mony 값이 다를 경우,
응답코드 : S006, 응답메시지 : 거래금액 불일치 발생
결제창에서 처리한 결제수단 및 주문번호 값이 다를 경우,
응답코드 : 8350, 응답메시지 : 결제정보 검증 불일치가 응답됩니다.
결제금액과 결제수단은 필수로 적용하세요. ordr_no(주문번호)도 검증에 사용하는 것을 권장합니다.