Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
1 contributor

Users who have contributed to this file

926 lines (868 sloc) 35 KB

페이플 - 계좌 간편결제, 정기결제

페이플 계좌간편결제는 최초 1회 계좌등록 후 비밀번호만으로 결제 가능한 서비스입니다.
ARS 인증만으로 계좌등록과 결제가 완료되기 때문에 별도 앱설치, 보안카드, 공인인증서 등이 필요없습니다.
그리고 페이플은 계좌간편결제 뿐 아니라 정기구독 서비스를 위한 계좌정기결제, PG의 실시간계좌이체를 대체하는 단건결제 서비스도 제공하고 있습니다.




결제서비스별 흐름도

각 결제서비스의 흐름도입니다. 동일한 조건으로 모든 결제서비스를 이용할 수 있습니다.
Alt text




공통 정의사항

  • 인코딩 : UTF-8
  • SSL 보안통신 필수
  • 메세지 포맷 : JSON



샘플 페이지

참고 가능한 샘플 페이지 폴더입니다.


가맹점 인증

  • Payple 서비스를 이용하기 위해서는 가맹점 계약을 통한 인증이 필요하지만 계약 전 테스트 계정을 통해 개발진행이 가능합니다. 계약 완료 후 Payple 에서 가맹점에 아래의 키를 발급합니다.
    • cst_id (가맹점 식별을 위한 가맹점 ID)
    • custKey (API 통신전문 변조를 방지하기 위한 비밀키)


호출정보

구분 테스트 운영
URL https://testcpay.payple.kr/php/auth.php https://cpay.payple.kr/php/auth.php
ID cst_id : test cst_id : 가맹점 운영 ID
KEY custKey : abcd1234567890 custKey : ID 매칭 Key
비고 - 인증은 진행되지만 출금은 되지 않습니다.
- 최소금액 1,000원 이상으로 테스트 해주세요.
- 실제 출금이 되며, 최소금액 1,000원부터 출금 가능합니다. 수수료도 발생합니다.
- AWS(아마존웹서비스)에서 AUTH0004 오류 발생 시 가맹점 서버도메인의 REFERER 추가가 필요할 수 있습니다.
- 카페24, 가비아 등 서버호스팅 이용 시 호스팅사에 페이플 URL(테스트, 운영) 방화벽 오픈을 요청하셔야 할 수 있습니다.

호출예시

  • 계좌등록 간편결제 - Request
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
<!-- AWS 이용 가맹점인 경우 REFERER 추가 -->
Referer: http://가맹점 도메인 
<!-- End : AWS 이용 가맹점인 경우 REFERER 추가 -->
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_SIMPLE_FLAG": "Y"
}
  • 계좌등록 간편결제 - Response
{
  "result": "success",
  "result_msg": "사용자 인증완료",
  "cst_id": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09",
  "custKey": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09",
  "AuthKey": "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "return_url": "https://cpay.payple.kr/php/SimplePayAct.php?ACT_=PAYM",
  "cPayHost": "https://cpay.payple.kr",
  "cPayUrl": "/php/SimplePayAct.php?ACT_=PAYM"
}
  • 단건결제 - Request
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
<!-- AWS 이용 가맹점인 경우 REFERER 추가 -->
Referer: http://가맹점 도메인 
<!-- End : AWS 이용 가맹점인 경우 REFERER 추가 -->
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890"
}
  • 단건결제 - Response
{
  "result": "success",
  "result_msg": "사용자 인증완료",
  "cst_id": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09",
  "custKey": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09",
  "AuthKey": "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "return_url": "https://cpay.payple.kr/php/PayAct.php?ACT_=PAYM",
  "cPayHost": "https://cpay.payple.kr",
  "cPayUrl": "/php/SimplePayAct.php?ACT_=PAYM"
}
  • 정기결제 - Request
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
<!-- AWS 이용 가맹점인 경우 REFERER 추가 -->
Referer: http://가맹점 도메인 
<!-- End : AWS 이용 가맹점인 경우 REFERER 추가 -->
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_REGULER_FLAG": "Y"
}
  • 정기결제 - Response
{
  "result": "success",
  "result_msg": "사용자 인증완료",
  "cst_id": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09",
  "custKey": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09",
  "AuthKey": "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "return_url": "https://cpay.payple.kr/php/RePayAct.php?ACT_=PAYM",
  "cPayHost": "https://cpay.payple.kr",
  "cPayUrl": "/php/SimplePayAct.php?ACT_=PAYM"
}
  • 링크결제 - Request
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
<!-- AWS 이용 가맹점인 경우 REFERER 추가 -->
Referer: http://가맹점 도메인 
<!-- End : AWS 이용 가맹점인 경우 REFERER 추가 -->
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_PAY_WORK": "LINKREG"
}
  • 링크결제 - Response
{
  "result": "success",
  "result_msg": "사용자 인증완료",
  "cst_id": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09",
  "custKey": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09",
  "AuthKey": "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "PCD_PAY_HOST": "https://testcpay.payple.kr",
  "PCD_PAY_URL": "/php/link/api/LinkRegAct.php?ACT_=LINKREG",
  "return_url": "https://cpay.payple.kr/php/link/api/LinkRegAct.php?ACT_=LINKREG"
}
  • 현금영수증 발행 - Request
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
<!-- AWS 이용 가맹점인 경우 REFERER 추가 -->
Referer: http://가맹점 도메인 
<!-- End : AWS 이용 가맹점인 경우 REFERER 추가 -->
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_PAY_WORK": "TSREG"
}
  • 현금영수증 발행 - Response
{
  "result": "success|error",
  "result_msg": "사용자 인증완료",
  "cst_id": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09",
  "custKey": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09",
  "AuthKey": "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "PCD_PAY_HOST": "https://testcpay.payple.kr",
  "PCD_PAY_URL": "/php/taxsave/api/tsAct.php?ACT_=TSREG",
  "return_url": "https://cpay.payple.kr/php/taxsave/api/tsAct.php?ACT_=TSREG"
}
  • 현금영수증 취소 - Request
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
<!-- AWS 이용 가맹점인 경우 REFERER 추가 -->
Referer: http://가맹점 도메인 
<!-- End : AWS 이용 가맹점인 경우 REFERER 추가 -->
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_PAY_WORK": "TSCANCEL"
}
  • 현금영수증 취소 - Response
{
  "result": "success|error",
  "result_msg": "사용자 인증완료",
  "cst_id": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09",
  "custKey": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09",
  "AuthKey": "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "PCD_PAY_HOST": "https://testcpay.payple.kr",
  "PCD_PAY_URL": "/php/taxsave/api/tsAct.php?ACT_=TSCANCEL",
  "return_url": "https://cpay.payple.kr/php/taxsave/api/tsAct.php?ACT_=TSCANCEL"
}
  • 기 등록계좌 해지 - Request
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
<!-- AWS 이용 가맹점인 경우 REFERER 추가 -->
Referer: http://가맹점 도메인 
<!-- End : AWS 이용 가맹점인 경우 REFERER 추가 -->
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_PAY_WORK": "PUSERDEL"
}
  • 기 등록계좌 해지 - Response
{
  "result": "success",
  "result_msg": "사용자 인증완료",
  "cst_id": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09",
  "custKey": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09",
  "AuthKey": "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "PCD_PAY_HOST": "https://testcpay.payple.kr",
  "PCD_PAY_URL": "/php/cPayUser/api/cPayUserAct.php?ACT_=PUSERDEL",
  "return_url": "https://cpay.payple.kr/php/cPayUser/api/cPayUserAct.php?ACT_=PUSERDEL"
}




결제요청

1. 최초결제 - 공통

  • 페이플은 자바스크립트만을 이용해 모든 결제절차를 진행합니다.

    Alt text

  • 간편결제, 정기결제에서 최초결제없이 계좌등록만 하기 위해서는 obj.PCD_PAY_WORK = 'AUTH' 로 세팅하시면 됩니다.

    Alt text

  • 아래 소스코드를 가맹점 주문페이지에 추가합니다.
  • 자세한 내용은 order_confirm.html 샘플을 참고하시면 됩니다.
<!-- payple js 호출. 테스트/운영 선택 -->
<script src="https://testcpay.payple.kr/js/cpay.payple.1.0.1.js"></script> <!-- 테스트 -->
<script src="https://cpay.payple.kr/js/cpay.payple.1.0.1.js"></script> <!-- 운영 -->

<!-- 가맹점 주문페이지 '결제하기' 버튼 액션 -->
<script>	
$(document).ready( function () {       
    $('#payAction').on('click', function (event) {
        
        var pay_work = "PAY";
        var payple_payer_id = "d0toSS9sT084bVJSNThScnFXQm9Gdz09";     
        var buyer_no = "2335";
        var buyer_name = "홍길동";
        var buyer_hp = "01012345678";
        var buyer_email = "dev@payple.kr";
        var buy_goods = "휴대폰";
        var buy_total = "1000";
        var order_num = "test0553941001540967923";
        var is_reguler = "N";
        var pay_year = "";
        var pay_month = "";
        var is_taxsave = "N";
        
        var obj = new Object();
        
        obj.PCD_CPAY_VER = "1.0.1";
        obj.PCD_PAY_TYPE = 'transfer';
        obj.PCD_PAY_WORK = pay_work;
        obj.PCD_PAYER_AUTHTYPE = 'pwd';
        /* (필수) 가맹점 인증요청 파일 (Node.JS : auth => [app.js] app.post('/pg/auth', ...) */
        obj.payple_auth_file = '/pg/auth'; // 절대경로 포함 파일명 (예: /절대경로/payple_auth_file)
	/* End : 가맹점 인증요청 파일 */
	
        /* 결과를 콜백 함수로 받고자 하는 경우 함수 설정 추가 */
        obj.callbackFunction = getResult;  // getResult : 콜백 함수명
        /* End : 결과를 콜백 함수로 받고자 하는 경우 함수 설정 추가 */
        
	/* 결과를 콜백 함수가 아닌 URL로 받고자 하는 경우 */
        obj.PCD_RST_URL = '/order_result.html';
        /* End : 결과를 콜백 함수가 아닌 URL로 받고자 하는 경우 */
	
        /*
         * 1. 간편결제
         */
        //-- PCD_PAYER_ID 는 소스상에 표시하지 마시고 반드시 Server Side Script 를 이용하여 불러오시기 바랍니다. --//
        obj.PCD_PAYER_ID = payple_payer_id;           
        //-------------------------------------------------------------------------------------//          
        obj.PCD_PAYER_NO = buyer_no;  
        obj.PCD_PAYER_EMAIL = buyer_email;
        obj.PCD_PAY_GOODS = buy_goods;
        obj.PCD_PAY_TOTAL = buy_total;
        obj.PCD_PAY_OID = order_num;     
        obj.PCD_REGULER_FLAG = is_reguler;
        obj.PCD_PAY_YEAR = pay_year; 
        obj.PCD_PAY_MONTH = pay_month;
        obj.PCD_TAXSAVE_FLAG = is_taxsave; 
        obj.PCD_SIMPLE_FLAG = 'Y'; 
	/*
         * End : 1. 간편결제
         */
        
        /*
         * 2. 단건결제
         */
        obj.PCD_PAYER_NO = buyer_no;
        obj.PCD_PAYER_NAME = buyer_name;
        obj.PCD_PAYER_HP = buyer_hp;
        obj.PCD_PAYER_EMAIL = buyer_email;
        obj.PCD_PAY_GOODS = buy_goods; 
        obj.PCD_PAY_TOTAL = buy_total;
        obj.PCD_PAY_OID = order_num; 
        obj.PCD_REGULER_FLAG = is_reguler;
        obj.PCD_PAY_YEAR = pay_year;       
        obj.PCD_PAY_MONTH = pay_month;
        obj.PCD_TAXSAVE_FLAG = is_taxsave;        
	/*
         * End : 2. 단건결제 
         */
	
        PaypleCpayAuthCheck(obj);
            
        event.preventDefault();     
    });   
});
</script>
파라미터 ID 설명 필수 비고
PCD_CPAY_VER 결제창 버전 O
PCD_PAY_TYPE 결제수단 O
PCD_PAY_WORK 결제요청 방식 O - AUTH : 계좌등록만 진행
- CERT : 가맹점 최종승인 후 계좌등록+결제 진행
- PAY : 가맹점 최종승인없이 계좌등록+결제 진행
PCD_PAYER_AUTHTYPE 간편결제 인증방식 - - PCD_SIMPLE_FLAG : 'Y' 일때 필수
- pwd : 결제비밀번호
PCD_RST_URL 결제(요청)결과 RETURN URL O - 결제결과를 콜백 함수가 아닌 URL로 수신할 경우만 해당
- 모바일에서 팝업방식은 상대경로, 다이렉트 방식은 절대경로로 설정
PCD_PAYER_ID 결제 키 O 해당 키를 통해 결제요청
PCD_PAYER_NO 가맹점의 결제고객 고유번호 O maxlength=10
PCD_PAYER_NAME 결제고객 이름 -
PCD_PAYER_HP 결제고객 휴대폰번호 -
PCD_PAYER_EMAIL 결제고객 이메일 -
PCD_PAY_GOODS 상품명 O
PCD_PAY_TOTAL 결제금액 O
PCD_PAY_OID 주문번호 - 미입력시 임의생성
PCD_REGULER_FLAG 정기결제 여부 -
PCD_PAY_YEAR 정기결제 적용연도 - PCD_REGULER_FLAG : 'Y' 일때 필수
PCD_PAY_MONTH 정기결제 적용월 - PCD_REGULER_FLAG : 'Y' 일때 필수
PCD_TAXSAVE_FLAG 현금영수증 발행 여부
O Y=발행 / N=미발행
PCD_SIMPLE_FLAG 간편결제 여부 -



1-1. 결제생성 후 승인(PCD_PAY_WORK : CERT)

  • 가맹점의 최종 승인 후에 결제를 진행하며 REST Request 방식으로 진행합니다.
  • Request 예시
<!-- 결제 승인요청 --> 
POST /php/PayConfirmAct.php?ACT_=PAYM HTTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
Cache-Control: no-cache
{
  "PCD_CST_ID": "test",	// 또는 인코딩된 "PCD_CST_ID": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09"
  "PCD_CUST_KEY": "abcd1234567890", // 또는 인코딩된 "PCD_CUST_KEY": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09"	
  "PCD_AUTH_KEY": "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d", 
  "PCD_PAY_REQKEY": "RmFBWWFBTWNS9qNTgzU2xdd2XRNHR2",					
  "PCD_PAYER_ID": "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09"
}
  • Request 파라미터 설명
파라미터 ID 설명 필수 비고
PCD_CST_ID 가맹점 ID O
PCD_CUST_KEY 가맹점 식별을 위한 비밀키 O
PCD_AUTH_KEY 결제요청을 위한 Transaction 키 O
PCD_PAY_REQKEY 최종 승인요청용 키 O
PCD_PAYER_ID 결제고객 고유 ID O



1-2. 즉시 승인(PCD_PAY_WORK : PAY)

  • 가맹점의 최종 승인없이 즉시 결제를 진행하며 별도 Request 는 없습니다.




2. 이후결제 - 계좌등록 간편결제(PCD_PAYER_AUTHTYPE : pwd)

  • 최초 1회 이후결제를 위해서는 1. 최초결제 - 공통과 동일한 스크립트를 사용합니다.
  • 사용자는 기존에 등록한 계좌정보 확인 후 비밀번호 입력 단계로 진행합니다.
  • 비밀번호를 입력하면 결제가 완료되며, 마지막 현금영수증 발행 화면으로 이동합니다. Alt text Alt text Alt text




3. 이후결제 - 단건결제

  • 단건결제도 최초 1회 이후결제를 위해서는 1. 최초결제 - 공통과 동일한 스크립트를 사용합니다.
  • 사용자는 매번 결제정보를 입력해야하며, 최초결제 시 ARS 인증, 이후결제 시에는 SMS 인증으로 결제를 진행합니다.




4. 이후결제 - 정기결제

  • 정기결제는 최초 1회 이후 결제 시 별도 UI가 필요없기 때문에 REST Request 방식으로 진행합니다.
  • Request 예시
<!-- 가맹점 인증 -->
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_REGULER_FLAG": "Y"
}

<!-- 결제요청  -->
POST /php/RePayAct.php?ACT_=PAYM HTTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
Cache-Control: no-cache
{
   "PCD_CST_ID": "test",	// 또는 인코딩된 "PCD_CST_ID": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09"
   "PCD_CUST_KEY": "abcd1234567890", // 또는 인코딩된 "PCD_CUST_KEY": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09"
   "PCD_AUTH_KEY": "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
   "PCD_PAY_TYPE": "transfer",							
   "PCD_PAYER_NO": "2324",
   "PCD_PAYER_ID": "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",
   "PCD_PAY_GOODS": "정기구독",
   "PCD_PAY_YEAR": "2018",	
   "PCD_PAY_MONTH": "04",	
   "PCD_PAY_TOTAL": "1000",
   "PCD_PAY_OID": "test201804000001",
   "PCD_TAXSAVE_FLAG": "Y",
   "PCD_TAXSAVE_TRADE": "personal",
   "PCD_TAXSAVE_IDNUM": "01022224444",
   "PCD_REGULER_FLAG": "Y",
   "PCD_PAYER_EMAIL": "dev@payple.kr"
}
파라미터 ID 설명 필수 비고
PCD_CST_ID 가맹점 ID O
PCD_CUST_KEY 가맹점 식별을 위한 비밀키 O
PCD_AUTH_KEY 결제요청을 위한 Transaction 키 O
PCD_PAY_TYPE 결제수단 O
PCD_PAYER_NO 가맹점의 결제고객 고유번호 O
PCD_PAYER_ID 결제 키 O 해당 키를 통해 결제요청
PCD_PAY_GOODS 상품명 O
PCD_PAY_YEAR 과금연도 O
PCD_PAY_MONTH 과금월 O
PCD_PAY_TOTAL 결제금액 O
PCD_PAY_OID 주문번호 O
PCD_TAXSAVE_FLAG 현금영수증 발행 여부 O Y=발행 / N=미발행
PCD_TAXSAVE_TRADE 현금영수증 발행 타입 - personal=소득공제 / company=지출증빙
PCD_TAXSAVE_IDNUM 현금영수증 발행 번호 - 휴대폰번호, 사업자번호
PCD_REGULER_FLAG 정기결제 여부 O
PCD_PAYER_EMAIL 결제고객 이메일 O
  • Response 예시
{
  "PCD_PAY_RST" => "success|error",
  "PCD_PAY_MSG" => "완료|실패..",
  "PCD_PAY_OID" => "test201804000001",
  "PCD_PAY_TYPE" => "transfer",
  "PCD_PAYER_NO" => "2324",
  "PCD_PAYER_ID" => "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",
  "PCD_PAY_GOODS" => "정기구독",
  "PCD_PAY_TOTAL" => 1000,
  "PCD_PAY_TIME" => "20180423130201",
  "PCD_REGULER_FLAG" => "Y",
  "PCD_PAY_YEAR" => 2018,
  "PCD_PAY_MONTH" => 04,
  "PCD_TAXSAVE_RST" => "Y",
  "PCD_PAYER_EMAIL" => "dev@payple.kr"
}
  • Response 파라미터 설명
파라미터 ID 설명 예시
PCD_PAY_RST 정기결제 요청 결과 success / error
PCD_PAY_MSG 링크생성 요청 결과 메세지 출금이체완료 / 실패
PCD_PAY_OID 주문번호 test201804000001
PCD_PAY_TYPE 결제수단 transfer
PCD_PAYER_NO 가맹점의 결제고객 고유번호 2324
PCD_PAY_GOODS 상품명 정기구독
PCD_PAY_TOTAL 결제금액 1000
PCD_PAY_TIME 결제시간 20180423130201
PCD_REGULER_FLAG 정기결제 여부 Y / N
PCD_PAY_YEAR 과금연도
(정기결제)
2018
PCD_PAY_MONTH 과금월
(정기결제)
08
PCD_TAXSAVE_RST 현금영수증 발행 결과 Y / N
PCD_PAYER_EMAIL 결제고객 이메일 dev@payple.kr




5. 링크결제 - 링크생성

  • 링크결제의 링크생성은 별도 UI 없이 REST Request 방식으로 진행됩니다.
  • Request 예시
<!-- 가맹점 인증 -->
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_PAY_WORK": "LINKREG"
}

<!-- 링크생성 요청  -->
POST PCD_PAY_URL HTTP/1.1
Host: PCD_PAY_HOST
Content-Type: application/json
Cache-Control: no-cache
{
  "PCD_CST_ID": "test",	// 또는 인코딩된 "PCD_CST_ID": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09"
  "PCD_CUST_KEY": "abcd1234567890", // 또는 인코딩된 "PCD_CUST_KEY": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09"
  "PCD_AUTH_KEY" : "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "PCD_PAY_WORK" : "LINKREG",
  "PCD_PAY_TYPE" : "transfer",
  "PCD_PAY_GOODS" : "테스트상품",
  "PCD_PAY_TOTAL" : 150000,
  "PCD_REGULER_FLAG" : "Y",
  "PCD_PAY_YEAR" : 2018,
  "PCD_PAY_MONTH" : 11,
  "PCD_TAXSAVE_FLAG" : "Y"
}
  • Request 파라미터 설명
파라미터 ID 설명 필수 비고
PCD_CST_ID 가맹점 ID O
PCD_CUST_KEY 가맹점 식별을 위한 비밀키 O
PCD_AUTH_KEY 결제요청을 위한 Transaction 키 O
PCD_PAY_WORK 업무구분 O 링크결제
PCD_PAY_TYPE 결제수단 O 계좌출금
PCD_PAY_GOODS 상품명 O
PCD_PAY_TOTAL 결제금액 O
PCD_REGULER_FLAG 정기결제 여부 - Y=정기결제 / N=단건결제
PCD_PAY_YEAR 정기결제 과금연도 - PCD_REGULER_FLAG : 'Y' 일때 필수
PCD_PAY_MONTH 정기결제 과금월 - PCD_REGULER_FLAG : 'Y' 일때 필수
PCD_TAXSAVE_FLAG 현금영수증 발행 여부 O Y=발행 / N=미발행
  • Response 예시
{
  "PCD_LINK_RST" => "success|error",
  "PCD_LINK_MSG" => "링크생성완료|실패..",
  "PCD_PAY_TYPE" => "transfer",
  "PCD_PAY_GOODS" => "테스트상품",
  "PCD_PAY_TOTAL" => 150000,
  "PCD_REGULER_FLAG" => "Y",
  "PCD_PAY_YEAR" => 2018,
  "PCD_PAY_MONTH" => 11,
  "PCD_TAXSAVE_RST" => "Y"
}
  • Response 파라미터 설명
파라미터 ID 설명 예시
PCD_LINK_RST 링크생성 요청 결과 success / error
PCD_LINK_MSG 링크생성 요청 결과 메세지 링크생성완료 / 실패
PCD_PAY_TYPE 결제수단 계좌출금
PCD_PAY_GOODS 상품명 링크결제 상품
PCD_PAY_TOTAL 결제금액 1000
PCD_REGULER_FLAG 정기결제 여부 Y / N
PCD_PAY_YEAR 과금연도
(정기결제)
2018
PCD_PAY_MONTH 과금월
(정기결제)
08
PCD_TAXSAVE_RST 현금영수증 발행 결과 Y / N




6. 현금영수증 - 발행

  • 현금영수증 발행 REST API 입니다.
  • Request 예시
<!-- 가맹점 인증 -->
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_PAY_WORK": "TSREG"
}

<!-- 현금영수증 발행요청  -->
POST PCD_PAY_URL HTTP/1.1
Host: PCD_PAY_HOST
Content-Type: application/json
Cache-Control: no-cache
{
  "PCD_CST_ID": "test",	// 또는 인코딩된 "PCD_CST_ID": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09"
  "PCD_CUST_KEY": "abcd1234567890", // 또는 인코딩된 "PCD_CUST_KEY": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09"
  "PCD_AUTH_KEY" : "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "PCD_PAYER_ID" : "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",
  "PCD_PAY_OID" : "test201804000001",
  "PCD_REGULER_FLAG" : "Y",
  "PCD_TAXSAVE_TRADEUSE" : "personal",
  "PCD_TAXSAVE_IDENTINUM" : "01023456789",
}
파라미터 ID 설명 필수 비고
PCD_CST_ID 가맹점 ID O
PCD_CUST_KEY 가맹점 식별을 위한 비밀키 O
PCD_AUTH_KEY 결제요청을 위한 Transaction 키 O
PCD_PAYER_ID 결제 키 O 해당 키를 통해 결제요청
PCD_PAY_OID 주문번호 O
PCD_REGULER_FLAG 정기결제 여부 -
PCD_TAXSAVE_TRADEUSE 현금영수증 발행 구분 - personal=소득공제 / company=지출증빙
미입력시 결제내역 정보 이용
PCD_TAXSAVE_IDENTINUM 현금영수증 발행대상 번호 - 휴대폰번호, 사업자번호
미입력시 결제내역 정보 이용
  • Response 예시
{
  "PCD_PAY_RST" => "success",
  "PCD_PAY_MSG" => "현금영수증 발행 완료",
  "PCD_PAYER_ID" => "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",
  "PCD_PAY_OID" => "test201804000001",
  "PCD_REGULER_FLAG" => "Y",
  "PCD_TAXSAVE_AMOUNT" => 15000,
  "PCD_TAXSAVE_MGTNUM" => "test15424392310644"
}
  • Response 파라미터 설명
파라미터 ID 설명 예시
PCD_PAY_RST 현금영수증 발행 결과 success / error
PCD_PAY_MSG 현금영수증 발행 결과 메세지 현금영수증 발행 완료 / 실패
PCD_PAYER_ID 결제 키 NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09
PCD_PAY_OID 주문번호 test201804000001
PCD_REGULER_FLAG 정기결제 여부 Y / N
PCD_TAXSAVE_AMOUNT 현금영수증 발행 금액 15000
PCD_TAXSAVE_MGTNUM 국세청 발행 번호 test15424392310644




7. 현금영수증 - 취소

  • 현금영수증 취소 REST API 입니다.
  • Request 예시
<!-- 가맹점 인증 -->
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_PAY_WORK": "TSCANCEL"
}

<!-- 현금영수증 취소요청  -->
POST PCD_PAY_URL HTTP/1.1
Host: PCD_PAY_HOST
Content-Type: application/json
Cache-Control: no-cache
{
  "PCD_CST_ID": "test",	// 또는 인코딩된 "PCD_CST_ID": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09"
  "PCD_CUST_KEY": "abcd1234567890", // 또는 인코딩된 "PCD_CUST_KEY": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09"
  "PCD_AUTH_KEY" : "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "PCD_PAYER_ID" : "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",
  "PCD_PAY_OID" : "test201804000001",
  "PCD_REGULER_FLAG" : "Y"
}
파라미터 ID 설명 필수 비고
PCD_CST_ID 가맹점 ID O
PCD_CUST_KEY 가맹점 식별을 위한 비밀키 O
PCD_AUTH_KEY 결제요청을 위한 Transaction 키 O
PCD_PAYER_ID 결제 키 O 해당 키를 통해 결제요청
PCD_PAY_OID 주문번호 O
PCD_REGULER_FLAG 정기결제 여부 -
  • Response 예시
{
  "PCD_PAY_RST" => "success",
  "PCD_PAY_MSG" => "현금영수증 발행취소 완료",
  "PCD_PAYER_ID" => "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",
  "PCD_PAY_OID" => "test201804000001",
  "PCD_REGULER_FLAG" => "Y",
  "PCD_TAXSAVE_AMOUNT" => 15000,
  "PCD_TAXSAVE_MGTNUM" => "test15424392310644"
}
  • Response 파라미터 설명
파라미터 ID 설명 예시
PCD_PAY_RST 현금영수증 발행 결과 success / error
PCD_PAY_MSG 현금영수증 발행 결과 메세지 현금영수증 발행취소 완료 / 실패
PCD_PAYER_ID 결제 키 NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09
PCD_PAY_OID 주문번호 test201804000001
PCD_REGULER_FLAG 정기결제 여부 Y / N
PCD_TAXSAVE_AMOUNT 현금영수증 발행 금액 15000
PCD_TAXSAVE_MGTNUM 국세청 발행 번호 test15424392310644




8. 기 등록계좌 해지

  • 결제 후 은행에 등록된 계좌를 해지하는 REST API 입니다.
  • 해지된 사용자가 다시 결제할 때는 ARS 인증을 진행하고 계좌를 재등록합니다.
  • Request 예시
<!-- 가맹점 인증 -->
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_PAY_WORK": "PUSERDEL"
}

<!-- 계좌 해지요청  -->
POST PCD_PAY_URL HTTP/1.1
Host: PCD_PAY_HOST
Content-Type: application/json
Cache-Control: no-cache
{
  "PCD_CST_ID": "test",	// 또는 인코딩된 "PCD_CST_ID": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09"
  "PCD_CUST_KEY": "abcd1234567890", // 또는 인코딩된 "PCD_CUST_KEY": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09"
  "PCD_AUTH_KEY" : "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
  "PCD_PAYER_ID" : "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",					
  "PCD_PAYER_NO" : "2324"
}
파라미터 ID 설명 필수 비고
PCD_CST_ID 가맹점 ID O
PCD_CUST_KEY 가맹점 식별을 위한 비밀키 O
PCD_AUTH_KEY 결제요청을 위한 Transaction 키 O
PCD_PAYER_ID 결제 키 O 해당 키를 통해 결제요청
PCD_PAYER_NO 가맹점의 결제고객 고유번호 -
  • Response 예시
{
  "PCD_PAY_RST" => "success",
  "PCD_PAY_MSG" => "계좌해지완료",
  "PCD_PAY_TYPE" => "transfer",
  "PCD_PAY_WORK" => "PUSERDEL",
  "PCD_PAYER_ID" => "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",
  "PCD_PAYER_NO" => "2324"
}
  • Response 파라미터 설명
파라미터 ID 설명 예시
PCD_PAY_RST 계좌해지 요청 결과 success / error
PCD_PAY_MSG 계좌해지 요청 결과 메세지 계좌해지완료 / 실패
PCD_PAY_TYPE 결제수단 transfer
PCD_PAY_WORK 업무구분 PUSERDEL (계좌해지)
PCD_PAYER_ID 결제 키 NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09
PCD_PAYER_NO 가맹점의 결제고객 고유번호 2324




결제결과 수신

결제결과를 콜백 함수로 수신하는 경우에는 아래 절차가 필요없습니다.

  • 콜백 함수를 이용하지 않는 경우에는 아래 소스코드를 가맹점 결제완료 페이지에 추가하고 가맹점 환경에 맞는 개발언어로 수정해주세요.
  • 자세한 내용은 order_result.html 샘플을 참고하시면 됩니다.
<?
$PCD_PAY_RST = (isset($_POST['PCD_PAY_RST'])) ? $_POST['PCD_PAY_RST'] : ""; 
$PCD_PAY_MSG = (isset($_POST['PCD_PAY_MSG'])) ? $_POST['PCD_PAY_MSG'] : ""; 
$PCD_AUTH_KEY = (isset($_POST['PCD_AUTH_KEY'])) ? $_POST['PCD_AUTH_KEY'] : "";
$PCD_PAY_REQKEY = (isset($_POST['PCD_PAY_REQKEY'])) ? $_POST['PCD_PAY_REQKEY'] : "";
$PCD_PAY_COFURL = (isset($_POST['PCD_PAY_COFURL'])) ? $_POST['PCD_PAY_COFURL'] : "";
$PCD_PAY_OID = (isset($_POST['PCD_PAY_OID'])) ? $_POST['PCD_PAY_OID'] : "";         
$PCD_PAY_TYPE = (isset($_POST['PCD_PAY_TYPE'])) ? $_POST['PCD_PAY_TYPE'] : "";      
$PCD_PAY_WORK = (isset($_POST['PCD_PAY_WORK'])) ? $_POST['PCD_PAY_WORK'] : "";      
$PCD_PAYER_ID = (isset($_POST['PCD_PAYER_ID'])) ? $_POST['PCD_PAYER_ID'] : "";      
$PCD_PAYER_NO = (isset($_POST['PCD_PAYER_NO'])) ? $_POST['PCD_PAYER_NO'] : "";      
$PCD_REGULER_FLAG = (isset($_POST['PCD_REGULER_FLAG'])) ? $_POST['PCD_REGULER_FLAG'] : "";
$PCD_PAY_YEAR = (isset($_POST['PCD_PAY_YEAR'])) ? $_POST['PCD_PAY_YEAR'] : ""; 
$PCD_PAY_MONTH = (isset($_POST['PCD_PAY_MONTH'])) ? $_POST['PCD_PAY_MONTH'] : "";
$PCD_PAY_GOODS = (isset($_POST['PCD_PAY_GOODS'])) ? $_POST['PCD_PAY_GOODS'] : "";
$PCD_PAY_TOTAL = (isset($_POST['PCD_PAY_TOTAL'])) ? $_POST['PCD_PAY_TOTAL'] : "";
$PCD_PAY_TIME = (isset($_POST['PCD_PAY_TIME'])) ? $_POST['PCD_PAY_TIME'] : "";         
$PCD_TAXSAVE_RST = (isset($_POST['PCD_TAXSAVE_RST'])) ? $_POST['PCD_TAXSAVE_RST'] : "";   
?>
  • 파라미터 설명
파라미터 ID 설명 예시
PCD_PAY_RST 결제요청 결과 success / error
PCD_PAY_MSG 결제요청 결과 메세지 출금이체완료 / 실패 등
PCD_AUTH_KEY 결제요청을 위한 Transaction 키 a688ccb3...
PCD_PAY_REQKEY 결제생성후 승인을 위한 키 RmFBWWFBTWNS9qNTgzU2xdd2XRNHR2
PCD_PAY_COFURL 결제생성, 승인후 리턴 URL https://cpay.payple.kr/php/PayConfirmAct.php
PCD_PAY_OID 주문번호 test201804000001
PCD_PAY_TYPE 결제수단
PCD_PAY_WORK 결제요청방식 CERT / PAY
PCD_PAYER_ID 결제 키 NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09
PCD_PAYER_NO 결제고객 고유번호 1234
PCD_REGULER_FLAG 정기결제 여부 Y / N
PCD_PAY_YEAR 과금연도
(정기결제)
2018
PCD_PAY_MONTH 과금월
(정기결제)
08
PCD_PAY_GOODS 상품명 정기구독
PCD_PAY_TOTAL 결제금액 1000
PCD_PAY_TIME 결제완료 시간 20180110152911
PCD_TAXSAVE_RST 현금영수증 발행 결과 Y / N




결제결과 조회

  • 해당 REST API를 통해 가맹점에서는 언제든 결제결과를 수신 가능합니다.
  • Request 예시
POST /php/auth.php HTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
Cache-Control: no-cache
{
  "cst_id": "test",
  "custKey": "abcd1234567890",
  "PCD_PAYCHK_FLAG": "Y"
}

POST /php/PayChkAct.php HTTTP/1.1
Host: testcpay.payple.kr
Content-Type: application/json
Cache-Control: no-cache
{
   "PCD_CST_ID": "test",	// 또는 인코딩된 "PCD_CST_ID": "UFVNNVZpZk4reWo5UFRualUwcGV4dz09"
   "PCD_CUST_KEY": "abcd1234567890", // 또는 인코딩된 "PCD_CUST_KEY": "T3JzRkp5L1FTcEFDa1FQdHo5Um1UZz09"
   "PCD_AUTH_KEY": "a688ccb3555c25cd722483f03e23065c3d0251701ad6da895eb2d830bc06e34d",
   "PCD_PAYCHK_FLAG": "Y",
   "PCD_PAY_TYPE": "transfer",
   "PCD_REGULER_FLAG": "Y",							
   "PCD_PAY_YEAR": "2018",	
   "PCD_PAY_MONTH": "04",	
   "PCD_PAY_OID": "test201804000001",
   "PCD_PAY_DATE": 20180502
}
  • Request 파라미터 설명
파라미터 ID 설명 필수 비고
PCD_CST_ID 가맹점 ID O
PCD_CUST_KEY 가맹점 식별을 위한 비밀키 O
PCD_AUTH_KEY 결제요청을 위한 Transaction 키 O
PCD_PAYCHK_FLAG 결과조회 여부 O
PCD_PAY_TYPE 결제수단 O
PCD_REGULER_FLAG 정기결제 여부 - 정기결제
PCD_PAY_YEAR 정기결제 과금연도 - 정기결제
PCD_PAY_MONTH 정기결제 과금월 - 정기결제
PCD_PAY_OID 주문번호 O
PCD_PAY_DATE 결제요청일자(YYYYMMDD) O
  • Response 예시
{
   "PCD_PAY_RST": "success",
   "PCD_PAY_MSG": "출금이체완료",
   "PCD_PAY_OID": "test201804000001",
   "PCD_PAY_TYPE": "transfer",
   "PCD_PAYER_NO": "1234",
   "PCD_PAYER_ID" => "NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09",
   "PCD_PAY_YEAR" => "2018",
   "PCD_PAY_MONTH" => "05",
   "PCD_PAY_GOODS": "간편상품",
   "PCD_PAY_TOTAL": "1000",
   "PCD_PAY_TIME" => "20180423130201",
   "PCD_TAXSAVE_RST": "Y",
   "PCD_REGULER_FLAG": "Y"
}
  • Response 파라미터 설명
파라미터 ID 설명 예시
PCD_PAY_RST 결제요청 결과 success / error
PCD_PAY_MSG 결제요청 결과 메세지 출금이체완료 / 실패 등
PCD_PAY_OID 주문번호 test201804000001
PCD_PAY_TYPE 결제수단
PCD_PAYER_NO 결제고객 고유번호 1234
PCD_PAYER_ID 결제 키 NS9qNTgzU2xRNHR2RmFBWWFBTWk5UT09
PCD_PAY_YEAR 과금연도
(정기결제)
2018
PCD_PAY_MONTH 과금월
(정기결제)
08
PCD_PAY_GOODS 상품명 정기구독
PCD_PAY_TOTAL 결제금액 1000
PCD_PAY_BANK 결제 은행코드 081
PCD_PAY_BANKNUM 결제 계좌번호 2881204040404
PCD_PAY_TIME 결제완료 시간 20180110152911
PCD_TAXSAVE_RST 현금영수증 발행 결과 Y / N
PCD_REGULER_FLAG 정기결제 여부 Y / N




서비스가능 은행 및 점검시간

은행명 코드 평일, 토요일 공휴일
국민은행 004 23:30 ~ 00:30 23:30 ~ 00:30
농협 011 23:30 ~ 00:30 23:30 ~ 00:30
신한은행 088 23:30 ~ 00:30 23:30 ~ 00:30
우리은행 020 23:30 ~ 00:30 23:30 ~ 00:30
기업은행 003 23:30 ~ 00:30 23:30 ~ 00:30
KEB하나은행 081 23:30 ~ 00:30 23:30 ~ 00:30
우체국 071 23:30 ~ 00:30 23:30 ~ 00:30
새마을금고 045 23:30 ~ 00:30 23:30 ~ 00:30
대구은행 031 23:30 ~ 00:30 23:30 ~ 00:30
광주은행 034 23:30 ~ 00:30 23:30 ~ 00:30
경남은행 039 23:30 ~ 06:00 23:30 ~ 06:00
산업은행 002 00:00 ~ 03:00 00:00 ~ 03:00
신협 048 22:00 ~ 08:00 22:00 ~ 08:00
수협 007 23:30 ~ 00:30 23:30 ~ 00:30
부산은행 032 23:30 ~ 00:30 23:30 ~ 00:30

우리은행 오픈되었습니다.('19년 04월)




문의

  • 기술문의 : dev@payple.kr 을 통해 보다 자세한 문의가 가능합니다.
  • 가입문의 : 페이플 웹사이트 가입문의하기 를 통하시면 가장 빠르게 안내 받으실 수 있습니다.
You can’t perform that action at this time.