Search

Webhook URL

1. 정의

파트너로부터 들어온 결제요청을 처리하는 경우, 간혹 카드사나 은행으로부터 결제결과에 대한 리턴값이 오지 않거나, 지연되는 현상이 발생할 수 있습니다.
이러한 경우 파트너는 결제결과를 수신받을 수 없으며, 페이플 파트너 관리자↗의 내역과 파트너에서 받은 결제내역이 차이가 생기게 됩니다.
이를 예방하기 위해서 페이플에서 Webhook URL을 지원합니다.
웹훅(Webhook)이란, 한 응용 프로그램에서 어떤 이벤트가 발생했을 때 다른 응용 프로그램으로 실시간 정보를 제공하는 방법입니다.
파트너에서 요청결과 수신용 웹페이지(URL)을 설정하게 되면 페이플에서 각종 이벤트가 발생할때마다 해당 URL로 데이터를 전송하게 됩니다.
결제결과 수신 뿐만 아니라 등록된 계좌나 카드(빌링키)가 해지될 때도 웹훅 URL로 수신할 수 있습니다.
페이플 파트너 관리자를 통해 개별적으로 계좌나 카드의 등록을 해지하는 경우 웹훅으로도 내역을 확인할 수 있는 장점이 있습니다.
‼️
포트 80(8080), 443만 사용 가능합니다. (HTTPS 프로토콜 필수)

2. 프로세스 개요

3. 발송시점

Webhook URL은 다음의 시점에 발송됩니다.

3-1. 결제결과 수신

결제 시
취소 시 (파트너 관리자에서 취소 포함)
결제 수신이 지연된 거래건 수신 시
결제수단(카드/계좌) 등록 이벤트 발생시

3-2. 결제수단(카드/계좌) 해지결과 수신

페이플 파트너 관리자↗에서 직접 등록해지시
💡
파트너에서 직접 ‘등록카드 해지’ 혹은 ‘등록계좌 해지’ API를 통해 해지한 건은 웹훅URL로 수신되지 않습니다.
‼️
Webhook URL을 설정한 경우, 결제데이터의 수신은 기존에 PCD_RST_URL로 수신되는 결제데이터와 중복되어 받게 됩니다. 미수신되는 케이스를 줄이기 위해 웹훅을 사용하므로, 결제데이터 처리의 기준은 웹훅 수신 데이터를 기준으로 삼습니다.

4. Webhook URL 설정방법

페이플 파트너 관리자↗ > 기본정보 > 결제 결과 수신 URL (가맹점 미수신 결과 확인) 입력
페이플 파트너 관리자↗ > 기본정보 > 계좌(카드)해지결과 수식 URL 입력

5. 전송 규약

JSON 방식으로 데이터를 POST

6. Data Sample

🔗
각 파라미터의 자세한 설명은 파라미터(Parameter) 정의↗️에서 확인해보세요!

결제결과 수신 데이터

카드 결제결과 수신 데이터
Response sample
{ "PCD_PAY_RST" => "결제결과 (success | error | close)", "PCD_PAY_CODE" => "결제결과 리턴 코드", "PCD_PAY_MSG" => "결제결과 리턴 메시지", "PCD_PAY_TYPE" => "결제수단 (card)", "PCD_CARD_VER" => "카드 세부 결제방식", "PCD_PAY_WORK" => "결제방식", "PCD_AUTH_KEY" => "파트너 인증 토큰 값", "PCD_PAY_REQKEY" => "(CERT방식) 최종 결제요청 승인키", "PCD_PAY_HOST" => "파트너 인증 후 본 요청시 필요한 페이플 도메인 주소", "PCD_PAY_URL" => "파트너 인증 후 본 요청시 필요한 페이플 도메인 주소", "PCD_PAY_COFURL" => "(CERT방식) 최종 결제요청 URL", "PCD_PAYER_ID" => "카드(계좌)등록 후 리턴받은 빌링키", "PCD_PAYER_NO" => "회원번호", "PCD_PAYER_NAME" => "결제고객의 이름", "PCD_PAYER_HP" => "결제고객의 휴대전화번호", "PCD_PAYER_EMAIL" => "결제고객의 이메일주소", "PCD_PAY_YEAR" => "월 중복결제 년", "PCD_PAY_MONTH" => "월 중복결제 월", "PCD_PAY_OID" => "주문번호", "PCD_PAY_GOODS" => "상품명", "PCD_PAY_AMOUNT" => "결제 요청금액", "PCD_PAY_DISCOUNT" => "페이플 이벤트 할인금액", "PCD_PAY_AMOUNT_REAL" => "실 결제금액", "PCD_PAY_TOTAL" => "결제금액의 총합계", "PCD_PAY_TAXTOTAL" => "과세금액", "PCD_PAY_ISTAX" => "과세여부", "PCD_PAY_CARDNAME" => "카드사", "PCD_PAY_CARDNUM" => "카드번호", "PCD_PAY_CARDQUOTA" => "카드 할부 개월 수", "PCD_PAY_CARDTRADENUM" => "카드승인 거래 키", "PCD_PAY_CARDAUTHNO" => "카드거래 승인번호", "PCD_PAY_CARDRECEIPT" => "신용카드 매출전표 URL", "PCD_PAY_TIME" => "결제완료 시간", "PCD_REGULER_FLAG" => "월 중복결제 방지 사용여부", "PCD_SIMPLE_FLAG" => "페이플 간편결제 방식 선택여부", "PCD_RST_URL" => "결제(요청)결과 RETURN URL / 결제창 호출방식" }
Plain Text
계좌 결제결과 수신 데이터
Response sample
{ "PCD_PAY_RST" => "결제결과 (success | error | close)", "PCD_PAY_CODE" => "결제결과 리턴 코드", "PCD_PAY_MSG" => "결제결과 리턴 메시지", "PCD_PAY_TYPE" => "결제수단 (transfer)", "PCD_CARD_VER" => "카드 세부 결제방식", "PCD_PAY_WORK" => "결제방식", "PCD_AUTH_KEY" => "파트너 인증 토큰 값", "PCD_PAY_REQKEY" => "(CERT방식) 최종 결제요청 승인키", "PCD_PAY_HOST" => "파트너 인증 후 본 요청시 필요한 페이플 도메인 주소", "PCD_PAY_URL" => "파트너 인증 후 본 요청시 필요한 페이플 도메인 주소", "PCD_PAY_COFURL" => "(CERT방식) 최종 결제요청 URL", "PCD_PAYER_ID" => "계좌(카드)등록 후 리턴받은 빌링키", "PCD_PAYER_NO" => "회원번호", "PCD_PAYER_NAME" => "결제고객의 이름", "PCD_PAYER_HP" => "결제고객의 휴대전화번호", "PCD_PAYER_EMAIL" => "결제고객의 이메일주소", "PCD_PAY_BANKACCTYPE" => "고객 종류 (personal | corporate)", "PCD_PAY_YEAR" => "월 중복결제 년", "PCD_PAY_MONTH" => "월 중복결제 월", "PCD_PAY_OID" => "주문번호", "PCD_PAY_GOODS" => "상품명", "PCD_PAY_AMOUNT" => "결제 요청금액", "PCD_PAY_DISCOUNT" => "페이플 이벤트 할인금액", "PCD_PAY_AMOUNT_REAL" => "실 결제금액", "PCD_PAY_TOTAL" => "결제금액의 총합계", "PCD_PAY_TAXTOTAL" => "과세금액", "PCD_PAY_BANK" => "결제 계좌 은행 코드번호", "PCD_PAY_BANKNAME" => "결제 계좌 은행명", "PCD_PAY_BANKNUM" => "계좌번호", "PCD_PAY_ISTAX" => "과세여부", "PCD_PAY_TIME" => "결제완료 시간", "PCD_REGULER_FLAG" => "월 중복결제 방지 사용여부", "PCD_TAXSAVE_FLAG" => "현금영수증 발행창 사용여부", "PCD_TAXSAVE_RST" => "현금영수증 발행결과", "PCD_TAXSAVE_MGTNUM" => "현금영수증 발행된 국세청 발행번호", "PCD_RST_URL" => "결제(요청)결과 RETURN URL / 결제창 호출방식", }
Plain Text
결제취소 수신 데이터
Response sample
{ "PCD_PAY_RST" => "결제결과 (success | error | close)", "PCD_PAY_MSG" => "결제결과 리턴 메시지", "PCD_CST_ID" : "파트너 ID", "PCD_PAY_OID" => "주문번호", "PCD_PAY_TYPE" : "결제수단 (transfer | card)", "PCD_PAYER_NO" => "회원번호", "PCD_PAYER_ID" : "계좌(카드) 등록시 리턴받은 빌링키", "PCD_PAY_YEAR" => "월 중복결제 년", "PCD_PAY_MONTH" => "월 중복결제 월", "PCD_PAY_GOODS" => "상품명", "PCD_PAY_TOTAL" => "결제금액의 총합계", "PCD_REGULER_FLAG" => "월 중복결제 방지 사용여부", "PCD_REFUND_TOTAL" => "취소 요청금액", "PCD_REFUND_TIME" => "취소 완료시간", "PCD_PAYCANCEL_FLAG" => "결제취소 API 사용여부 (Y)", }
Plain Text

카드/계좌 등록 수신 데이터

카드 등록 수신 데이터
Response sample
{ "PCD_PAY_RST": "등록결과 (success | error | close)", "PCD_PAY_CODE": "등록결과 리턴 코드", "PCD_PAY_MSG": "등록결과 리턴 메시지", "PCD_PAY_WORK": "결제방식 (등록: AUTH)", "PCD_AUTH_KEY": "파트너 인증 토큰 값", "PCD_PAY_TYPE": "등록한 결제수단 (card)", "PCD_PAYER_AUTHTYPE": "비밀번호 결제 인증방식", "PCD_PAYER_NO": "회원번호", "PCD_PAYER_ID": "카드 등록 후 리턴받은 빌링키", "PCD_PAYER_NAME": "고객의 이름", "PCD_PAYER_HP": "고객의 휴대전화번호", "PCD_PAY_CARDNAME": "카드사", "PCD_PAY_CARDNUM": "카드번호", "PCD_RST_URL": "결제(요청)결과 RETURN URL / 결제창 호출방식" }
Plain Text
계좌 등록 수신 데이터
Response sample
{ "PCD_PAY_RST": "등록결과 (success | error | close)", "PCD_PAY_CODE": "등록결과 리턴 코드", "PCD_PAY_MSG": "등록결과 리턴 메시지", "PCD_PAY_WORK": "결제방식 (등록: AUTH)", "PCD_AUTH_KEY": "파트너 인증 토큰 값", "PCD_PAY_TYPE": "등록한 결제수단 (transfer)", "PCD_PAYER_NO": "회원번호", "PCD_PAYER_ID": "계좌 등록 후 리턴받은 빌링키", "PCD_PAYER_NAME": "고객의 이름", "PCD_PAYER_HP": "고객의 휴대전화번호", "PCD_RST_URL": "결제(요청)결과 RETURN URL / 결제창 호출방식", "PCD_PAY_BANKACCTYPE": "고객 종류 (personal | corporate)", "PCD_PAY_BANK" => "결제 계좌 은행 코드번호", "PCD_PAY_BANKNAME" => "결제 계좌 은행명", "PCD_PAY_BANKNUM" => "계좌번호" }
Plain Text

카드/계좌 해지 수신 데이터

카드 해지 수신 데이터
Response sample
{ "PCD_CST_ID": "파트너 ID", "PCD_PAY_WORK": "API 요청 종류 (해지 : PUSERDEL)", "PCD_PAY_RST": "해지결과 (success | error | close)", "PCD_PAY_MSG": "해지결과 리턴 코드", "PCD_PAY_TYPE": "해지한 결제수단 (card)", "PCD_PAYER_ID": "카드 등록 후 리턴받은 빌링키", "PCD_PAYER_NAME": "고객의 이름", "PCD_PAYER_HP": "고객의 휴대전화번호" }
Plain Text
계좌 해지 수신 데이터
Response sample
{ "PCD_CST_ID": "파트너 ID", "PCD_PAY_WORK": "API 요청 종류 (해지 : PUSERDEL)", "PCD_PAY_RST": "해지결과 (success | error | close)", "PCD_PAY_MSG": "해지결과 리턴 코드", "PCD_PAY_TYPE": "해지한 결제수단 (transfer)", "PCD_PAYER_ID": "계좌 등록 후 리턴받은 빌링키", "PCD_PAYER_NAME": "고객의 이름", "PCD_PAYER_HP": "고객의 휴대전화번호" }
Plain Text
TOP