CookiePay API 매뉴얼

카카오청구서 API

카카오청구서 발송 사용 시 주의사항

카카오청구서 발행한 URL는 결제완료 이후에는 재사용 할 수 없습니다(1회만 사용)

카카오청구서 발송 요청전문

기본도메인(요청도메인)
라이브 : https://www.cookiepayments.com [POST] 
테스트 : https://sandbox.cookiepayments.com [POST] 
URL
{요청도메인}/urlpay/kakao [POST]
CURL

샘플 예제

curl -H "Content-Type: application/json" \
     -H "ApiKey": "COOKIEPAY에서 발급받은 연동키" \
     -d '{ "API_ID": "COOKIEPAY에서 발급받은 가맹점연동 ID", \
           "PRODUCTNAME": "상품명", \
           "AMOUNT": "결제금액", \
           "BUYERNAME": "고객명", \
           "BUYERHP": "고객 휴대폰번호", \
           "BUYEREMAIL":"고객 E-MAIL", \      
        }' \
    -X POST "{요청도메인}/urlpay/kakao"
PHP

샘플 예제

$headers = array(); 

array_push($headers, "content-type: application/json; charset=utf-8");
array_push($headers, "ApiKey: COOKIEPAY에서 발급받은 연동키 ");

$cookiepayments_url = "{요청도메인}/urlpay/kakao";

$request_data_array = array(
    'API_ID' => 'COOKIEPAY에서 발급받은 가맹점연동 ID',
    'PRODUCTNAME'=> '상품명',
    'AMOUNT'=> '결제금액',
    'BUYERNAME'=> '고객명',
    'BUYERHP'=> '고객 휴대폰번호',
    'BUYEREMAIL'=> '고객 E-MAIL',
);

$cookiepayments_json = json_encode($request_data_array, TRUE);

$ch = curl_init(); // curl 초기화

curl_setopt($ch,CURLOPT_URL, $cookiepayments_url);
curl_setopt($ch,CURLOPT_POST, false);
curl_setopt($ch,CURLOPT_POSTFIELDS, $cookiepayments_json);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3);
curl_setopt($ch,CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);

var_dump($response);
요청 전문 파라미터
항목명 길이 내용 구분 비고
ApiKey 제한없음 COOKIEPAY PG설정 연동 key 필수
(헤더)
COOKIEPAY에서 부여
API_ID 20 COOKIEPAY에서 발급받은 ID 필수 COOKIEPAY에서 부여
PRODUCTNAME 40 상품명 필수 & 문자를 입력하시면 오류 발생
AMOUNT 10 결제금액 필수 문자 및 특수문자 허용 불가
BUYERNAME 20 고객명 필수
BUYERHP 11 고객 휴대폰번호 필수
TAXYN 1 과세/비과세 선택 Y:과세, N:비과세 - default : 과세
BILL_NO 20 청구서 고유 번호 선택 청구서 고유 번호
└ 청구서 고유번호 입력시
└ 같은 청구서 주소로 알림톡 재발송 가능합니다.
REASON_FOR_BILL 60 청구 사유 선택 청구 사유
MEMO 100 발송타입 선택 비고 혹은 메시지
MEMO 100 발송타입 선택 비고 혹은 메시지
ETC1 100 추가 필드1 선택
ETC2 100 추가 필드2 선택

카카오청구서 발송 응답전문

응답 전문 파라미터
항목명 길이 내용 구분 비고
RESULTCODE 4 응답코드 필수 응답코드 정상 : 0000, 그외 에러
RESULTMSG 100 응답메시지 필수 응답메시지
URLKEY 20 생성된 결제창 URL KEY 필수 결제창 생성된 KEY 값
PAYURL 50 생성된 결제창 URL 주소 필수 고객에서 전송된 결제 창 URL 주소
BILL_NO 20 청구서 고유 번호 선택 청구서 고유 번호
ETC1 100 추가 필드1 선택
ETC2 100 추가 필드2 선택

카카오청구서 발송 결제정보 확인

카카오청구서 발송 결제정보 확인

카카오청구서 URL 결제 생성 후 고객이 결제를 하였는지 확인 하는 API 입니다. 고객님이 결제를 정상적으로 하였다면 결제 데이터를 리턴해주며, 결제가 실행 안된 경우에는 결제가 이루어지지 않았다는 데이터를 리턴해줍니다.

TOKEN 발행 URL
{요청도메인}/payAuth/token [POST]
TOKEN 요청 전문 파라미터
항목명 길이 내용 구문 비고
pay2_id 30 cookiepayments에서 발급받은 ID 필수 cookiepayments사에서 부여
pay2_key 50 cookiepayments에서 발급받은 연동키 필수 cookiepayments사에서 부여
카카오청구서 발송 결제정보 확인 URL
{요청도메인}/api/urlcert [POST]
카카오청구서 발송 결제정보 확인 요청 전문 파라미터
항목명 길이 내용 구문 비고
URLKEY 50 생성된 결제창 URL KEY 필수 URL결제창 생성 키
CURL
/* 토큰 발급 API */
curl -H "Content-Type: application/json" \
     -d '{"pay2_id": "cookiepayments에서 발급받은 ID", \
          "pay2_key": "cookiepayments에서 발급받은 연동키" \
         }' \
     -X POST "{요청도메인}/payAuth/token"

/* 발급 받은 TOKEN으로 결제 취소 API 통신 */
curl -H "Content-Type: application/json" \
     -H "TOKEN: TOKEN API통해 발행된 TOKEN 값" \
     -d '{"URLKEY": "생성된 결제창 URL KEY"}' \
     -X POST "{요청도메인}/api/urlcert"
PHP
/* 토큰 발행 API */
$tokenheaders = array();

array_push($tokenheaders, "content-type: application/json; charset=utf-8");

$token_url = "{요청도메인}/payAuth/token";

$token_request_data = array(
    'pay2_id' => 'cookiepayments에서 발급받은 ID',
    'pay2_key'=> 'cookiepayments에서 발급받은 연동키',
);

$req_json = json_encode($token_request_data, TRUE);

$ch = curl_init(); // curl 초기화

curl_setopt($ch,CURLOPT_URL, $token_url);
curl_setopt($ch,CURLOPT_POST, false);
curl_setopt($ch,CURLOPT_POSTFIELDS, $req_json);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3);
curl_setopt($ch,CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_HTTPHEADER, $tokenheaders);
$RES_STR = curl_exec($ch);
curl_close($ch);
$RES_STR = json_decode($RES_STR,TRUE);
/* 여기 까지 */

if($RES_STR['RTN_CD'] == '0000'){

    $headers = array(); 
    array_push($headers, "content-type: application/json; charset=utf-8");
    array_push($headers, "TOKEN: TOKEN API통해 발행된 TOKEN 값");

    $cookiepayments_url = "{요청도메인}/api/urlcert";

    $request_data_array = array(
        'URLKEY' => '생성된 결제창 URL KEY',

    );

    $cookiepayments_json = json_encode($request_data_array, TRUE);

    $ch = curl_init(); // curl 초기화

    curl_setopt($ch,CURLOPT_URL, $cookiepayments_url);
    curl_setopt($ch,CURLOPT_POST, false);
    curl_setopt($ch,CURLOPT_POSTFIELDS, $cookiepayments_json);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3);
    curl_setopt($ch,CURLOPT_TIMEOUT, 20);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $response = curl_exec($ch);
    curl_close($ch);

    var_dump($response);
}
카카오청구서 발송 결제정보 응답 전문 파라미터
항목명 길이 내용 구분 비고
RESULTCODE 4 PG 사 응답코드 필수(json) 정상 : 0000, 그외 에러 EA01: 결제 미진행 에러코드
RESULTMSG 100 PG 사 응답메시지 필수(json)
ORDERNO 50 주문번호 필수(json) 결제한 주문번호
AMOUNT 10 결제 된 금액 필수(json) 문자 및 특수문자 허용 불가
BUYERNAME 20 고객명 필수(json)
BUYEREMAIL 50 고객 E-MAIL 선택(json)
PRODUCTNAME 40 상품명 필수(json) & 문자를 입력하시면 오류 발생
PRODUCTCODE 10 상품코드 필수(json)
PAYMETHOD 20 결제수단 필수(json) CARD(카드),BANK(계좌이체),VACCT(가상계좌),MOBILE(휴대폰) default: CARD
BANK(계좌이체), VACCT(가상계좌), MOBILE(휴대폰)
결제는 PG사 등록 시 사용신청을 하셔야합니다.
BUYERID 20 고객 ID 필수(json)
TID 50 PG 거래 고유번호 필수(json) 전표출력 및 결제취소에 반드시 필요한 값
ACCEPTNO 10 승인번호 필수(json)
ACCEPTDATE 20 승인일시 필수(json)
CANCELDATE 20 취소날짜 필수(json)
CANCELMSG 50 취소메시지 필수(json)
ACCOUNTNO 50 가상계좌번호 (JSON) 가상계좌 이용 시 리턴 값
RECEIVERNAME 50 예금주성명 (JSON) 가상계좌 이용 시 리턴 값
DEPOSITENDDATE 50 계좌사용만료일 (JSON) 가상계좌 이용 시 리턴 값
CARDNAME 50 은행명 (JSON) 가상계좌 이용 시 리턴 값
CARDCODE 50 은행코드 (JSON) 가상계좌 이용 시 리턴 값