CookiePay API 매뉴얼

결제URL 발송 API

결제URL 발송 사용 시 주의사항

결제요청한 URL는 결제완료 이후에는 재사용 할 수 없습니다(1회만 사용)
발송수단 : SMS,이메일,카카오 (1개만 선택)

결제URL 발송 요청전문

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

샘플 예제

curl -H "Content-Type: application/json" \
     -H "ApiKey": "COOKIEPAY에서 발급받은 연동키" \
     -d '{ "API_ID": "COOKIEPAY에서 발급받은 가맹점연동 ID", \
           "PRODUCTNAME": "상품명", \
           "AMOUNT": "결제금액", \
           "BUYERNAME": "고객명", \
           "BUYERHP": "고객 휴대폰번호", \
           "BUYEREMAIL":"고객 E-MAIL", \
           "REQ_TYPE":"발송타입", \

        }' \
    -X POST "{요청도메인}/urlpay/request"
PHP

샘플 예제

$headers = array(); 

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

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

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

$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:비과세
BUYEREMAIL 50 고객 E-MAIL EMAIL:필수
KAKAO,SMS:선택
REQ_TYPE : EMAIL 사용시 > 청구서를 발송할 이메일 주소
BILL_NO 20 청구서 고유 번호 선택 청구서 고유 번호
└ 청구서 고유번호 입력시
└ 같은 청구서 주소로 재발송 가능합니다.
MEMO 100 발송타입 선택 비고 혹은 메시지
REQ_TYPE 10 발송타입 선택 발송타입 SMS: sms발송, EMAIL: email발송
KAKAO: KAKAO발송, 빈값이면 URL 결제창만 생성
ETC1 100 추가 필드1 선택 결제URL 통지전문으로 리턴 받으실수 있습니다.
ETC2 100 추가 필드2 선택 결제URL 통지전문으로 리턴 받으실수 있습니다.

결제URL 발송 응답전문

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

결제URL 통지 전문

통지 전문 파라미터

통지 전문(Noti)은 JSON POST 형식으로 전송됩니다.

결제URL 통지 전문(Noti)은 결제승인 파라미터에 대하여 쿠키페이먼트에서 고객사로 Server To Server로 전송됩니다.
개발한 통지 URL 입력방법 : 쿠키페이먼츠 접속 후 > API 연동 메뉴 > PG사 조회 및 연동 설정 > PG 연동 버튼 클릭 > 통지 URL 입력란에 입력 후 설정 저장하시면 됩니다.

결제승인 전문 파라미터
항목명 길이 내용 구분 비고
API_ID 20 쿠키페이 결제 연동 id 필수(json) 쿠키페이에서 발급받은 결제 연동 id
ORDERNO 50 주문번호 필수(json) 주문번호
AMOUNT 10 결제 된 금액 필수(json)
TID 20 PG 거래 고유번호 필수(json) PG사 결제 거래고유번호 (전표출력 및 결제취소에 사용됩니다)
BUYEREMAIL 50 구매자 이메일 선택(json)
BUYERNAME 20 구매자 이름 필수(json)
USERID 20 고객 ID 선택(json) 고객아이디
PRODUCTCODE 10 상품 코드 필수(json)
PRODUCTNAME 40 상품명 필수(json)
ACCEPT_DATE 10 승인일시 필수(json) PG사 결제 승인일시
ACCEPT_NO 10 승인번호 필수(json) PG사 결제 승인번호
CARDCODE 10 카드 코드 필수(json) 사용 카드 카드번호/가상계좌 시 입금할 은행코드
CARDNAME 10 카드사명 필수(json) 사용 카드사명/가상계좌시 입금할 은행명
CARDNO 20 카드번호 필수(json) 예) **000111
QUOTA 2 할부기간 필수(json) 카드 할부결제시 할부기간 (00:일시불, 01:1개월)
ACCOUNTNO 10 입금할 계좌번호 필수(json) 가상계좌 시 입금할 계좌번호
RECEIVERNAME 10 입금할 예금주 필수(json) 가상계좌 시 입금할 예금주
DEPOSITENDDATE 10 입금마감일 필수(json) 가상계좌 시 입금마감일
DEPOSITNAME 30 입금자 선택(json) 가상계좌 > 입금자명 (지원 PG사 : 모빌페이, 이지페이, 토스페이)
SMS_INPUT 30 청구서 URLKEY 값 선택(json) 청구서 생성시 리턴받은 URLKEY 값
ETC1 100 사용자 추가 필드1 선택 결제 요청시 입력한 값 (결제URL 발송요청시 입력한값)
ETC2 100 사용자 추가 필드2 선택 결제 요청시 입력한 값 (결제URL 발송요청시 입력한값)
ETC3 100 사용자 추가 필드3 선택 결제 요청시 입력한 값
ETC4 100 사용자 추가 필드4 선택 결제 요청시 입력한 값
ETC5 100 사용자 추가 필드5 선택 결제 요청시 입력한 값

결제URL 발송 결제정보 확인

결제URL 발송 결제정보 확인

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

TOKEN 발행 URL
{요청도메인}/payAuth/token [POST]
TOKEN 요청 전문 파라미터
항목명 길이 내용 구문 비고
pay2_id 30 cookiepayments에서 발급받은 ID 필수 cookiepayments사에서 부여
pay2_key 50 cookiepayments에서 발급받은 연동키 필수 cookiepayments사에서 부여
결제URL 발송 결제정보 확인 URL
{요청도메인}/api/urlcert [POST]
결제URL 발송 결제정보 확인 요청 전문 파라미터
항목명 길이 내용 구문 비고
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);
}
결제URL 발송 결제정보 응답 전문 파라미터
항목명 길이 내용 구분 비고
RESULTCODE 4 PG 사 응답코드 필수(json) 정상 : 0000, 그외 에러 EA01: 결제 미진행 에러코드
RESULTMSG 100 PG 사 응답메시지 필수(json)
ORDERNO 50 주문번호 필수(json) 결제한 주문번호
AMOUNT 10 결제 된 금액 필수(json) 문자 및 특수문자 허용 불가
BUYERNAME 20 고객명 필수(json)
BUYEREMAIL 50 고객 E-MAIL EMAIL:필수
KAKAO,SMS:선택 (json)
REQ_TYPE : EMAIL 사용시 > 청구서를 발송할 이메일 주소
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) 가상계좌 이용 시 리턴 값