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 고객 휴대폰번호 필수
BUYEREMAIL 50 고객 E-MAIL 필수 고객 이메일 발송 타입을 EMAIL
BILL_NO 20 청구서 고유 번호 선택 청구서 고유 번호
└ 청구서 고유번호 입력시
└ 같은 청구서 주소로 재발송 가능합니다.
MEMO 100 발송타입 선택 비고 혹은 메시지
REQ_TYPE 10 발송타입 선택 발송타입 SMS: sms발송, EMAIL: email발송, KAKAO: KAKAO발송, 빈값이면 URL 결제창만 생성
ETC1 100 추가 필드1 선택
ETC2 100 추가 필드2 선택

결제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 발송 결제정보 확인

결제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 필수(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) 가상계좌 이용 시 리턴 값