주의사항
- 현금영수증 API는 먼저 TOKEN 발행 API를 통해 TOKEN을 발급 받은 후, 발행된 TOKEN을 가지고 API와 통신하게 되어 있습니다.
- TOKEN 요청 전문 파라미터에 사용하는 pay2_id, pay2_key 값은 인증결제의 '연동ID', '연동 시크릿키' 값을 사용하시기 바랍니다.
- 쿠키페이는 현금영수증을 발급을 위한 "사업자번호 연동키값"(현금영수증 연동키값)을 채번합니다.(최초 1회에 한함)
- 1개의 사업자번호을 사용하실 경우에는 1개의 사업자번호 키값(현금영수증 발급 연동키값)을 채번합니다.
- 단 만약 여러사업자를 사용하실 경우에는 각각의 사업자번호별로 연동키값을 채번해야 합니다.(사업자별 각각 최초 1회에 한함)
필독
- 쿠키페이의 현금영수증 발급 연동 제휴사는 (주)링크허브/팝빌입니다.
- 쿠키페이는 팝빌과의 현금영수증 발급연동을 위해, 현금영수증 이용 사업자의 기본정보를 팝빌에 제공합니다.(사업자별 최초 1회에 한함)
- 그러므로 현금영수증 연동고객사는 팝빌,쿠키페이에 사업자번호 및 기본정보를 제공한다는 고객 약관동의 절차를 밝아주시기 바랍니다.
라이브 : https://www.cookiepayments.com [POST]
테스트 : https://sandbox.cookiepayments.com [POST]
{요청도메인}/Cashbill/regist_issue [POST]
{요청도메인}/payAuth/token [POST]
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
pay2_id | 30 | cookiepayments에서 발급받은 ID | 필수 | cookiepayments사에서 부여 |
pay2_key | 50 | cookiepayments에서 발급받은 연동키 | 필수 | cookiepayments사에서 부여 |
샘플예제
/* 토큰 발행 API */
$tokenheaders = array();
array_push($tokenheaders, "content-type: application/json; charset=utf-8");
$token_url = "{TOKEN 발행 URL}";
$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, "ApiKey: COOKIEPAY에서 발급받은 연동키");
array_push($headers, "TOKEN: TOKEN API통해 발행된 TOKEN 값");
$cookiepayments_url = "{요청도메인}/Cashbill/regist_issue";
$cashbill_data_array = array(
'API_ID' => 'COOKIEPAY에서 발급받은 가맹점연동 ID',
'MGTKEY' => '문서번호',
'CONFIRMNUM' => '국세청 승인번호',
'ORGCONFIRMNUM' => '원본 현금영수증 국세청 승인번호',
'ORGTRADEDATE' => '원본 현금영수증 거래일자',
'TRADEDATE' => '거래일자',
'TRADEDT' => '거래일시',
'TRADETYPE' => '문서형태',
'TRADEUSAGE' => '거래구분',
'TRADEOPT' => '거래유형',
'TAXATIONTYPE' => '과세여부',
'TOTALAMOUNT' => '거래금액',
'SUPPLYCOST' => '공급가액',
'TAX' => '부가세',
'SERVICEFEE' => '봉사료',
'FRANCHISECORPNUM' => '가맹점 사업자번호',
'FRANCHISETAXREGID' => '가맹점 종사업장 식별번호',
'FRANCHISECORPNAME' => '가맹점 상호',
'FRANCHISECEONAME' => '가맹점 대표자 성명',
'FRANCHISEADDR' => '가맹점 주소',
'FRANCHISETEL' => '가맹점 전화번호',
'IDENTITYNUM' => '식별번호',
'CUSTOMERNAME' => '구매자(고객) 성명',
'ITEMNAME' => '주문 상품명',
'ORDERNUMBER' => '주문번호',
'EMAIL' => '구매자(고객) 이메일',
'HP' => '구매자(고객) 휴대폰',
'SMSSENDYN' => 'SMS 전송여부',
'FAXSENDYN' => 'FAX 전송여부',
'CANCELTYPE' => '취소사유',
);
$request_data_array = array(
'CORPNUM' => '사업자번호',
'CASHBILL' => $cashbill_data_array,
'MEMO' => '현금영수증 상태 이력을 관리하기 위한 메모',
'EMAILSUBJECT' => '현금영수증 발행 안내메일 제목',
'ETC1'=> '추가필드 1',
'ETC2'=> '추가필드 2',
'ETC3'=> '추가필드 3',
'ETC4'=> '추가필드 4',
'ETC5'=> '추가필드 5',
);
$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 | 제한없음 | 쿠키페이 결제 연동 key | 필수(헤더) | 쿠키페이에서 발급받은 결제 연동 key |
TOKEN | 제한없음 | 인증 TOKEN | 필수(헤더) | TOKEN 발급 API통해 발급 TOKEN 값 |
API_ID | 20 | 쿠키페이 결제 연동 id | 필수 | 쿠키페이에서 발급받은 결제 연동 id |
CORPNUM | 10 | 사업자번호 | 필수 | 사업자번호 (하이픈 '-' 제외 10자리) |
CASHBILL | - | 객체정보 | 필수 | 현금영수증 객체정보 (아래의 표를 참고하세요) |
MEMO | 200 | 메모 | 선택 | 현금영수증 상태 이력을 관리하기 위한 메모 |
EMAILSUBJECT | 300 | 안내메일 제목 | 선택 | 현금영수증 발행 안내메일 제목 ※ 미입력시 팝빌에서 설정한 기본값 사용 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC5 | 100 | 사용자 추가 필드5 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
MGTKEY | 24 | 문서번호 | 필수 | 문서번호 └ 현금영수증 관리를 위해 파트너가 할당하는 식별번호 └ 영문 대소문자, 숫자, 특수문자('-','_')만 이용 가능 |
CONFIRMNUM | 9 | 국세청 승인번호 | X | 국세청 승인번호 └ 현금영수증 발행 시점에 자동으로 부여 |
ORGCONFIRMNUM | 9 | 원본 현금영수증 국세청 승인번호 | 조건부 | 원본 현금영수증 국세청 승인번호 └ 취소 현금영수증 작성시 필수 |
ORGTRADEDATE | 9 | 원본 현금영수증 거래일자 | 조건부 | 원본 현금영수증 거래일자 └ 취소 현금영수증 작성시 필수 |
TRADEDATE | 8 | 거래일자 | X | 현금영수증 발행 시점에 자동으로 부여 └ {tradeDT}의 yyyyMMdd ※ 거래일자는 입력 할 수 없음 |
TRADEDT | 14 | 거래일시 | 선택 | 거래일시 (형식 : yyyyMMddHHmmss) └ 전날부터 당일까지 입력가능 ※ 미입력시 기본값 발행일시 처리 |
TRADETYPE | 4 | 문서형태 | 필수 | 문서형태 : "승인거래" / "취소거래" 중 입력 └ "승인거래" 현금영수증은 [regist_issue - 즉시 발행]함수 사용하여 발행 └ "취소거래" 현금영수증은 [revoke_regist_issue - 취소 현금영수증 즉시 발행]함수 사용하여 발행 |
TRADEUSAGE | 5 | 거래구분 | 필수 | 거래구분 : "소득공제용" / "지출증빙용" 중 택 1 |
TRADEOPT | 4 | 거래유형 | 선택 | 거래유형 : "일반" / "도서공연" / "대중교통" 중 택 1 └ 미입력시 기본값 "일반" 처리 |
TAXATIONTYPE | 3 | 과세여부 | 필수 | "과세" / "비과세" 중 택 1 |
TOTALAMOUNT | 9 | 거래금액 | 필수 | 거래금액 └ 양수만 입력 |
SUPPLYCOST | 9 | 공급가액 | 필수 | 공급가액 └ 양수만 입력 |
TAX | 9 | 부가세 | 필수 | 부가세 └양수만 입력 |
SERVICEFEE | 9 | 봉사료 | 필수 | 봉사료 └ 양수만 입력 |
FRANCHISECORPNUM | 10 | 가맹점 사업자번호 | 필수 | 가맹점 사업자번호 (하이픈 '-' 제외 10자리) |
FRANCHISETAXREGID | 4 | 가맹점 종사업장 식별번호 | 선택 | 가맹점 종사업장 식별번호 └4자리 숫자값 |
FRANCHISECORPNAME | 200 | 가맹점 상호 | 필수 | 가맹점 상호 |
FRANCHISECEONAME | 100 | 가맹점 대표자 성명 | 필수 | 가맹점 대표자 성명 |
FRANCHISEADDR | 400 | 가맹점 주소 | 필수 | 가맹점 주소 |
FRANCHISETEL | 20 | 가맹점 전화번호 | 필수 | 가맹점 전화번호 |
IDENTITYNUM | 19 | 식별번호 | 필수 | 식별번호 └ {TRADEUSAGE} 값이 "소득공제용" 인 경우 └ 주민등록/휴대폰/카드번호/자진발급용 번호(010-000-1234) 입력 {TRADEUSAGE} 값이 "지출증빙용" 인 경우 └ 사업자번호/휴대폰/카드번호 입력 ※ 주민등록번호 13자리, 휴대폰번호 10~11자리, 카드번호 13~19자리, 사업자번호 10자리 입력 가능 |
CUSTOMERNAME | 70 | 구매자(고객) 성명 | 선택 | 구매자(고객) 성명 |
ITEMNAME | 70 | 주문 상품명 | 선택 | 주문 상품명 |
ORDERNUMBER | 200 | 주문번호 | 선택 | 주문번호 |
100 | 구매자(고객) 이메일 | 선택 | 구매자(고객) 이메일 | |
HP | 20 | 구매자(고객) 휴대폰 | 선택 | 구매자(고객) 휴대폰 └ {SMSSENDYN} 값이 true 인 경우 이 값으로 안내 문자 전송 |
SMSSENDYN | - | SMS 전송여부 | 선택 | SMS 전송여부 : true / false 중 택1 └ true : 전송 └ false : 미전송 ※ 미입력시 기본값 false처리 |
FAXSENDYN | - | FAX 전송여부 | 선택 | FAX 전송여부 : true / false 중 택1 └ true : 전송 └ false : 미전송 ※ 미입력시 기본값 false처리 |
CANCELTYPE | 1 | 취소사유 | 선택 | 취소사유 : null / 1 / 2 / 3 중 택 1 └ null : 일반 현금영수증 └ 1 : 거래취소 └ 2 : 오류발급취소 └ 3 : 기타 ※ 취소 현금영수증 발행시 미입력하면 기본값 1 처리 |
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
RESULTCODE | - | 결과 코드 | 필수(JSON) | 결과 코드 (성공시 "0000", 그외 에러) |
RESULTMSG | - | 결과 메시지 | 필수(JSON) | 결과 메시지 ("성공" 또는 오류 메세지) |
CODE | 50 | 응답코드 | 필수(JSON) | API 처리에 대한 응답코드 |
MESSAGE | 10 | 응답메시지 | 필수(JSON) | API 처리에 대한 응답메시지 |
CONFIRMNUM | 50 | 국세청 승인번호 | 필수(JSON) | 국세청 승인번호 └ 현금영수증 발행 시점에 자동으로 부여 |
TRADEDATE | 20 | 거래일시 | 필수(JSON) | 거래일자 (형식 : yyyyMMdd) └ 현금영수증 발행 시점에 자동으로 부여 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | |
ETC5 | 100 | 사용자 추가 필드5 | 선택 |
라이브 : https://www.cookiepayments.com [POST]
테스트 : https://sandbox.cookiepayments.com [POST]
{요청도메인}/Cashbill/revoke_regist_issue [POST]
{요청도메인}/payAuth/token [POST]
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
pay2_id | 30 | cookiepayments에서 발급받은 ID | 필수 | cookiepayments사에서 부여 |
pay2_key | 50 | cookiepayments에서 발급받은 연동키 | 필수 | cookiepayments사에서 부여 |
샘플예제
/* 토큰 발행 API */
$tokenheaders = array();
array_push($tokenheaders, "content-type: application/json; charset=utf-8");
$token_url = "{TOKEN 발행 URL}";
$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, "ApiKey: COOKIEPAY에서 발급받은 연동키");
array_push($headers, "TOKEN: TOKEN API통해 발행된 TOKEN 값");
$cookiepayments_url = "{요청도메인}/Cashbill/revoke_regist_issue";
$request_data_array = array(
'API_ID' => 'COOKIEPAY에서 발급받은 가맹점연동 ID',
'CORPNUM' => '사업자번호',
'MGTKEY' => '파트너가 할당한 문서번호',
'ORGCONFIRMNUM' => '원본 현금영수증의 국세청 승인번호',
'ORGTRADEDATE' => '원본 현금영수증의 거래일자',
'ETC1'=> '추가필드 1',
'ETC2'=> '추가필드 2',
'ETC3'=> '추가필드 3',
'ETC4'=> '추가필드 4',
'ETC5'=> '추가필드 5',
);
$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 | 제한없음 | 쿠키페이 결제 연동 key | 필수(헤더) | 쿠키페이에서 발급받은 결제 연동 key |
TOKEN | 제한없음 | 인증 TOKEN | 필수(헤더) | TOKEN 발급 API통해 발급 TOKEN 값 |
API_ID | 20 | 쿠키페이 결제 연동 id | 필수 | 쿠키페이에서 발급받은 결제 연동 id |
CORPNUM | 10 | 사업자번호 | 필수 | 사업자번호 (하이픈 '-' 제외 10자리) |
MGTKEY | - | 파트너가 할당한 문서번호 | 필수 | 파트너가 할당한 문서번호 ※ 영문, 숫자, 하이픈('-')을 이용하여 24자리 이하의 고유한 값 할당 |
ORGCONFIRMNUM | 200 | 원본 현금영수증의 국세청 승인번호 | 필수 | 원본 현금영수증의 국세청 승인번호 └ CashbillInfo의 변수 'CONFIRMNUM'를 통해 내용 확인 가능 |
ORGTRADEDATE | 50 | 원본 현금영수증의 거래일자 | 필수 | 원본 현금영수증의 거래일자 (형식 : yyyyMMdd) └ CashbillInfo의 변수 'TRADEDATE'를 통해 내용 확인 가능 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC5 | 100 | 사용자 추가 필드5 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
RESULTCODE | - | 결과 코드 | 필수(JSON) | 결과 코드 (성공시 "0000", 그외 에러) |
RESULTMSG | - | 결과 메시지 | 필수(JSON) | 결과 메시지 ("성공" 또는 오류 메세지) |
CODE | 50 | 응답코드 | 필수(JSON) | API 처리에 대한 응답코드 |
MESSAGE | 10 | 응답메시지 | 필수(JSON) | API 처리에 대한 응답메시지 |
CONFIRMNUM | 50 | 국세청 승인번호 | 필수(JSON) | 국세청 승인번호 └ 현금영수증 발행 시점에 자동으로 부여 |
TRADEDATE | 20 | 거래일자 | 필수(JSON) | 거래일자 (형식 : yyyyMMdd) └ 현금영수증 발행 시점에 자동으로 부여 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | |
ETC5 | 100 | 사용자 추가 필드5 | 선택 |
라이브 : https://www.cookiepayments.com [POST]
테스트 : https://sandbox.cookiepayments.com [POST]
{요청도메인}/Cashbill/revoke_regist_issue_part [POST]
{요청도메인}/payAuth/token [POST]
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
pay2_id | 30 | cookiepayments에서 발급받은 ID | 필수 | cookiepayments사에서 부여 |
pay2_key | 50 | cookiepayments에서 발급받은 연동키 | 필수 | cookiepayments사에서 부여 |
샘플예제
/* 토큰 발행 API */
$tokenheaders = array();
array_push($tokenheaders, "content-type: application/json; charset=utf-8");
$token_url = "{TOKEN 발행 URL}";
$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, "ApiKey: COOKIEPAY에서 발급받은 연동키");
array_push($headers, "TOKEN: TOKEN API통해 발행된 TOKEN 값");
$cookiepayments_url = "{요청도메인}/Cashbill/revoke_regist_issue_part";
$request_data_array = array(
'API_ID' => 'COOKIEPAY에서 발급받은 가맹점연동 ID',
'CORPNUM' => '사업자번호',
'MGTKEY' => '파트너가 할당한 문서번호',
'ORGCONFIRMNUM' => '원본 현금영수증의 국세청 승인번호',
'ORGTRADEDATE' => '원본 현금영수증의 거래일자',
'SMSSENDYN' => '알림문자 전송여부',
'MEMO' => '메모',
'ISPARTCANCEL' => '현금영수증 취소유형',
'CANCELTYPE' => '현금영수증 취소사유',
'SUPPLYCOST' => '공급가액',
'TAX' => '부가세',
'SERVICEFEE' => '봉사료',
'TOTALAMOUNT' => '거래금액',
'EMAILSUBJECT' => '현금영수증 발행 안내메일 제목',
'TRADEDT' => '거래일시',
'ETC1'=> '추가필드 1',
'ETC2'=> '추가필드 2',
'ETC3'=> '추가필드 3',
'ETC4'=> '추가필드 4',
'ETC5'=> '추가필드 5',
);
$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 | 제한없음 | 쿠키페이 결제 연동 key | 필수(헤더) | 쿠키페이에서 발급받은 결제 연동 key |
TOKEN | 제한없음 | 인증 TOKEN | 필수(헤더) | TOKEN 발급 API통해 발급 TOKEN 값 |
API_ID | 20 | 쿠키페이 결제 연동 id | 필수 | 쿠키페이에서 발급받은 결제 연동 id |
CORPNUM | 10 | 사업자번호 | 필수 | 사업자번호 (하이픈 '-' 제외 10자리) |
MGTKEY | - | 파트너가 할당한 문서번호 | 필수 | 파트너가 할당한 문서번호 ※ 영문, 숫자, 하이픈('-')을 이용하여 24자리 이하의 고유한 값 할당 |
ORGCONFIRMNUM | 200 | 원본 현금영수증의 국세청 승인번호 | 필수 | 원본 현금영수증의 국세청 승인번호 └ CashbillInfo의 변수 'CONFIRMNUM'를 통해 내용 확인 가능 |
ORGTRADEDATE | 50 | 원본 현금영수증의 거래일자 | 필수 | 원본 현금영수증의 거래일자 (형식 : yyyyMMdd) └ CashbillInfo의 변수 'TRADEDATE'를 통해 내용 확인 가능 |
SMSSENDYN | - | 알림문자 전송여부 | 선택 | 현금영수증 발행시 알림문자 전송여부 : true / false 중 택 1 └ true : 전송 └ false : 미전송 └ 원본 현금영수증의 구매자(고객)의 휴대폰번호 문자 전송 |
MEMO | 200 | 메모 | 선택 | 현금영수증 상태 이력을 관리하기 위한 메모 |
CANCELTYPE | 1 | 현금영수증 취소사유 | 선택 | 현금영수증 취소사유 : 1 / 2 / 3 중 택 1 └ 1 : 거래취소 └ 2 : 오류발급취소 └ 3 : 기타 ※ 미입력시 기본값 1 처리 |
SUPPLYCOST | 9 | 공급가액 | 필수 | 취소할 공급가액 |
TAX | 9 | 부가세 | 필수 | 취소할 부가세 |
SERVICEFEE | 9 | 봉사료 | 필수 | 취소할 봉사료 |
TOTALAMOUNT | 9 | 거래금액 | 필수 | 취소할 거래금액 |
EMAILSUBJECT | 300 | 현금영수증 발행 안내메일 제목 | 선택 | 현금영수증 발행 안내메일 제목 ※ 미입력시 팝빌에서 설정한 기본값 사용 |
TRADEDT | 14 | 거래일시 | 선택 | 거래일시 (형식 : yyyyMMddHHmmss) └ 전날부터 당일까지 입력가능 ※ 미입력시 기본값 발행일시 처리 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC5 | 100 | 사용자 추가 필드5 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
RESULTCODE | - | 결과 코드 | 필수(JSON) | 결과 코드 (성공시 "0000", 그외 에러) |
RESULTMSG | - | 결과 메시지 | 필수(JSON) | 결과 메시지 ("성공" 또는 오류 메세지) |
CODE | 50 | 응답코드 | 필수(JSON) | API 처리에 대한 응답코드 |
MESSAGE | 10 | 응답메시지 | 필수(JSON) | API 처리에 대한 응답메시지 |
CONFIRMNUM | 50 | 국세청 승인번호 | 필수(JSON) | 국세청 승인번호 └ 현금영수증 발행 시점에 자동으로 부여 |
TRADEDATE | 20 | 거래일자 | 필수(JSON) | 거래일자 (형식 : yyyyMMdd) └ 현금영수증 발행 시점에 자동으로 부여 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | |
ETC5 | 100 | 사용자 추가 필드5 | 선택 |
라이브 : https://www.cookiepayments.com [POST]
테스트 : https://sandbox.cookiepayments.com [POST]
{요청도메인}/Cashbill/get_info [POST]
{요청도메인}/payAuth/token [POST]
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
pay2_id | 30 | cookiepayments에서 발급받은 ID | 필수 | cookiepayments사에서 부여 |
pay2_key | 50 | cookiepayments에서 발급받은 연동키 | 필수 | cookiepayments사에서 부여 |
샘플예제
/* 토큰 발행 API */
$tokenheaders = array();
array_push($tokenheaders, "content-type: application/json; charset=utf-8");
$token_url = "{TOKEN 발행 URL}";
$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, "ApiKey: COOKIEPAY에서 발급받은 연동키");
array_push($headers, "TOKEN: TOKEN API통해 발행된 TOKEN 값");
$cookiepayments_url = "{요청도메인}/Cashbill/get_info";
$request_data_array = array(
'API_ID' => 'COOKIEPAY에서 발급받은 가맹점연동 ID',
'CORPNUM' => '사업자번호 (하이픈 '-' 제외 10자리)',
'MGTKEY' => '파트너가 할당한 문서번호',
'ETC1'=> '추가필드 1',
'ETC2'=> '추가필드 2',
'ETC3'=> '추가필드 3',
'ETC4'=> '추가필드 4',
'ETC5'=> '추가필드 5',
);
$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 | 제한없음 | 쿠키페이 결제 연동 key | 필수(헤더) | 쿠키페이에서 발급받은 결제 연동 key |
TOKEN | 제한없음 | 인증 TOKEN | 필수(헤더) | TOKEN 발급 API통해 발급 TOKEN 값 |
API_ID | 20 | 쿠키페이 결제 연동 id | 필수 | 쿠키페이에서 발급받은 결제 연동 id |
CORPNUM | 10 | 사업자번호 | 필수 | 사업자번호 (하이픈 '-' 제외 10자리) |
MGTKEY | 23 | 파트너가 할당한 문서번호 | 필수 | 파트너가 할당한 문서번호 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC5 | 100 | 사용자 추가 필드5 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
RESULTCODE | - | 결과 코드 | 필수(JSON) | 결과 코드 (성공시 "0000", 그외 에러) |
RESULTMSG | - | 결과 메시지 | 필수(JSON) | 결과 메시지 ("성공" 또는 오류 메세지) |
ITEMKEY | 18 | 식별번호 | 필수(JSON) | 현금영수증 관리 목적으로 할당한 식별번호 |
MGTKEY | 24 | 문서번호 | 필수(JSON) | 문서번호 └ 현금영수증 관리를 위해 파트너가 할당하는 식별번호 |
TRADEDATE | 8 | 거래일자 | 필수(JSON) | 거래일자 (형식 : yyyyMMdd) |
TRADEDT | 14 | 거래일시 | 필수(JSON) | 거래일시 (형식 : yyyyMMddHHmmss) |
TRADETYPE | 4 | 문서형태 | 필수(JSON) | 문서형태 : "승인거래" / "취소거래" 중 반환 |
TRADEUSAGE | 5 | 거래구분 | 필수(JSON) | 거래구분 : "소득공제용" / "지출증빙용" 중 반환 |
TRADEOPT | 4 | 거래유형 | 필수(JSON) | 거래유형 : "일반" / "도서공연" / "대중교통" 중 반환 |
TAXATIONTYPE | 3 | 과세형태 | 필수(JSON) | 과세형태 : "과세" / "비과세" 중 반환 |
TOTALAMOUNT | 9 | 거래금액 | 필수(JSON) | 거래금액 |
ISSUEDT | 14 | 발행일시 | 필수(JSON) | 발행일시 (형식 : yyyyMMddHHmmss) |
REGDT | 14 | 등록일시 | 필수(JSON) | 등록일시 (형식 : yyyyMMddHHmmss) |
STATECODE | 3 | 상태코드 | 필수(JSON) | 상태코드 └ [참고] 팝빌 상태코드 |
STATEDT | 14 | 상태 변경일시 | 필수(JSON) | 상태 변경일시 (형식 : yyyyMMddHHmmss) |
IDENTITYNUM | 19 | 식별번호 | 필수(JSON) | 식별번호 └ {TRADEUSAGE} 값이 "소득공제용" 인 경우 └ 주민등록/휴대폰/카드번호/자진발급용 번호(010-000-1234) 반환 └ {TRADEUSAGE} 값이 "지출증빙용" 인 경우 └ 사업자번호/휴대폰/카드번호 반환 |
ITEMNAME | 70 | 주문상품명 | 필수(JSON) | 주문상품명 |
CUSTOMERNAME | 70 | 구매자(고객) 성명 | 필수(JSON) | 구매자(고객) 성명 |
CONFIRMNUM | 9 | 국세청 승인번호 | 필수(JSON) | 국세청 승인번호 └ 현금영수증 발행 시점에 자동으로 부여 |
ORGCONFIRMNUM | 9 | 원본 현금영수증 국세청 승인번호 | 필수(JSON) | 원본 현금영수증 국세청 승인번호 └ {TRADETYPE} 값이 "취소거래"인 경우만 존재 |
ORGTRADEDATE | 8 | 원본 현금영수증 거래일자 | 필수(JSON) | 원본 현금영수증 거래일자 └ {TRADETYPE} 값이 "취소거래"인 경우만 존재 |
NTSSENDDT | 14 | 국세청 전송일시 | 필수(JSON) | 국세청 전송일시 (형식 : yyyyMMddHHmmss) |
NTSRESULTDT | 14 | 국세청 처리결과 수신일시 | 필수(JSON) | 국세청 처리결과 수신일시 (형식 : yyyyMMddHHmmss) |
NTSRESULTCODE | 4 | 결과코드 | 필수(JSON) | 결과코드 └ [참고] 국세청 결과코드 |
NTSRESULTMESSAGE | 30 | 국세청 처리결과 메시지 | 필수(JSON) | 국세청 처리결과 메시지 |
PRINTYN | - | 인쇄여부 | 필수(JSON) | 인쇄여부 : true / false 중 반환 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | |
ETC5 | 100 | 사용자 추가 필드5 | 선택 |
라이브 : https://www.cookiepayments.com [POST]
테스트 : https://sandbox.cookiepayments.com [POST]
{요청도메인}/Cashbill/search [POST]
{요청도메인}/payAuth/token [POST]
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
pay2_id | 30 | cookiepayments에서 발급받은 ID | 필수 | cookiepayments사에서 부여 |
pay2_key | 50 | cookiepayments에서 발급받은 연동키 | 필수 | cookiepayments사에서 부여 |
샘플예제
/* 토큰 발행 API */
$tokenheaders = array();
array_push($tokenheaders, "content-type: application/json; charset=utf-8");
$token_url = "{TOKEN 발행 URL}";
$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, "ApiKey: COOKIEPAY에서 발급받은 연동키");
array_push($headers, "TOKEN: TOKEN API통해 발행된 TOKEN 값");
$cookiepayments_url = "{요청도메인}/Cashbill/search";
$request_data_array = array(
'API_ID' => 'COOKIEPAY에서 발급받은 가맹점연동 ID',
'CORPNUM' => '사업자번호',
'DTYPE' => '조회 기준일자 유형',
'SDATE' => '조회 기간의 시작일자',
'EDATE' => '조회 기간의 종료일자',
'STATE' => '현금영수증 상태코드',
'TRADETYPE' => '현금영수증 문서형태',
'TRADEUSAGE' => '거래구분',
'TRADEOPT' => '거래유형',
'TAXATIONTYPE' => '과세형태',
'PAGE' => '목록 페이지번호',
'PERPAGE' => '페이지당 표시할 목록 개수',
'ORDER' => '목록 정렬 방향',
'QSTRING' => '현금영수증 식별번호 조회',
'FRANCHISETAXREGID' => '가맹점 종사업장번호',
'ETC1'=> '추가필드 1',
'ETC2'=> '추가필드 2',
'ETC3'=> '추가필드 3',
'ETC4'=> '추가필드 4',
'ETC5'=> '추가필드 5',
);
$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 | 제한없음 | 쿠키페이 결제 연동 key | 필수(헤더) | 쿠키페이에서 발급받은 결제 연동 key |
TOKEN | 제한없음 | 인증 TOKEN | 필수(헤더) | TOKEN 발급 API통해 발급 TOKEN 값 |
API_ID | 20 | 쿠키페이 결제 연동 id | 필수 | 쿠키페이에서 발급받은 결제 연동 id |
CORPNUM | 10 | 사업자번호 | 필수 | 사업자번호 (하이픈 '-' 제외 10자리) |
DTYPE | 1 | 조회 기준일자 유형 | 필수 | 조회 기준일자 유형 : "R" / "T" / "I" 중 택 1 └ "R" : 등록일자 └ "T" : 거래일자 └ "I" : 발행일시 |
SDATE | 8 | 조회 기간의 시작일자 | 필수 | 조회 기간의 시작일자 (형식 : yyyyMMdd) |
EDATE | 8 | 조회 기간의 종료일자 | 필수 | 조회 기간의 종료일자 (형식 : yyyyMMdd) |
STATE | Array | 현금영수증 상태코드 | 선택 | 현금영수증 상태코드 └ 상태코드 2,3번째 자리에 와일드카드(*) 사용가능, 예) "3**" ※ 미입력시 전체조회 |
TRADETYPE | Array | 현금영수증 문서형태 | 선택 | 현금영수증 문서형태 : "N" / "C" 중 선택 (다중 선택 가능) └ "N" : 일반 현금영수증 └ "C" : 취소 현금영수증 ※ 미입력시 전체조회 |
TRADEUSAGE | Array | 거래구분 | 선택 | 거래구분 : "P" / "C" 중 선택 (다중 선택 가능) └ "P" : 소득공제용 └ "C" : 지출증빙용 ※ 미입력시 전체조회 |
TAXATIONTYPE | Array | 과세형태 | 선택 | 과세형태 : "T" / "N" 중 선택 (다중 선택 가능) └ "T" : 과세 └ "N" : 비과세 ※ 미입력시 전체조회 |
PAGE | - | 목록 페이지번호 | 선택 | 목록 페이지번호 (기본값 1) |
PERPAGE | - | 페이지당 표시할 목록 개수 | 선택 | 페이지당 표시할 목록 개수 (기본값 500, 최대 1,000) |
ORDER | 1 | 목록 정렬 방향 | 선택 | {DTYPE} 값을 기준으로 하는 목록 정렬 방향 : "D" / "A" 중 택 1 └ "D" : 내림차순(기본값) └ "A" : 오름차순 |
QSTRING | - | 현금영수증 식별번호 조회 | 선택 | 현금영수증 식별번호 조회 ※ 미입력시 전체조회 |
TRADEOPT | Array | 거래유형 | 선택 | 거래유형 : "N" / "B" / "T" 중 선택 (다중 선택 가능) └ "N" : 일반 └ "B" : 도서공연 └ "T" : 대중교통 ※ 미입력시 전체조회 |
FRANCHISETAXREGID | - | 가맹점 종사업장번호 | 선택 | 가맹점 종사업장번호 └ 다수건 검색시 콤마(",")로 구분. 예) 1234,1000 ※ 미입력시 전체조회 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC5 | 100 | 사용자 추가 필드5 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
RESULTCODE | - | 결과 코드 | 필수(JSON) | 결과 코드 (성공시 "0000", 그외 에러) |
RESULTMSG | - | 결과 메시지 | 필수(JSON) | 결과 메시지 ("성공" 또는 오류 메세지) |
CODE | - | 응답코드 | 필수(JSON) | API 처리에 대한 응답코드 |
MESSAGE | - | 응답메시지 | 필수(JSON) | API 처리에 대한 응답메시지 |
TOTAL | - | 총 검색결과 건수 | 필수(JSON) | 총 검색결과 건수 |
PERPAGE | - | 페이지당 검색개수 | 필수(JSON) | 페이지당 검색개수 |
PAGENUM | - | 페이지 번호 | 필수(JSON) | 페이지 번호 |
PAGECOUNT | - | 페이지 개수 | 필수(JSON) | 페이지 개수 |
LIST | - | 목록 | 필수(JSON) | 현금영수증 상태/요약정보 (최대 1,000건) └ 함수 [get_info - 상태 확인]의 리턴값 구성과 동일 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | |
ETC5 | 100 | 사용자 추가 필드5 | 선택 |
라이브 : https://www.cookiepayments.com [POST]
테스트 : https://sandbox.cookiepayments.com [POST]
{요청도메인}/Cashbill/get_popup_url [POST]
{요청도메인}/payAuth/token [POST]
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
pay2_id | 30 | cookiepayments에서 발급받은 ID | 필수 | cookiepayments사에서 부여 |
pay2_key | 50 | cookiepayments에서 발급받은 연동키 | 필수 | cookiepayments사에서 부여 |
샘플예제
/* 토큰 발행 API */
$tokenheaders = array();
array_push($tokenheaders, "content-type: application/json; charset=utf-8");
$token_url = "{TOKEN 발행 URL}";
$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, "ApiKey: COOKIEPAY에서 발급받은 연동키");
array_push($headers, "TOKEN: TOKEN API통해 발행된 TOKEN 값");
$cookiepayments_url = "{요청도메인}/Cashbill/get_popup_url";
$request_data_array = array(
'API_ID' => 'COOKIEPAY에서 발급받은 가맹점연동 ID',
'CORPNUM' => '사업자번호',
'MGTKEY' => '파트너가 할당한 문서번호',
'ETC1'=> '추가필드 1',
'ETC2'=> '추가필드 2',
'ETC3'=> '추가필드 3',
'ETC4'=> '추가필드 4',
'ETC5'=> '추가필드 5',
);
$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 | 제한없음 | 쿠키페이 결제 연동 key | 필수(헤더) | 쿠키페이에서 발급받은 결제 연동 key |
TOKEN | 제한없음 | 인증 TOKEN | 필수(헤더) | TOKEN 발급 API통해 발급 TOKEN 값 |
API_ID | 20 | 쿠키페이 결제 연동 id | 필수 | 쿠키페이에서 발급받은 결제 연동 id |
CORPNUM | 10 | 사업자번호 | 필수 | 사업자번호 (하이픈 '-' 제외 10자리) |
MGTKEY | 24 | 파트너가 할당한 문서번호 | 필수 | 파트너가 할당한 문서번호 |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
ETC5 | 100 | 사용자 추가 필드5 | 선택 | 입력시 응답파라미터에 값을 전달합니다 |
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
RESULTCODE | - | 결과 코드 | 필수(JSON) | 결과 코드 (성공시 "0000", 그외 에러) |
RESULTMSG | - | 결과 메시지 | 필수(JSON) | 결과 메시지 ("성공" 또는 오류 메세지) |
URL | - | URL | 필수(JSON) | String - 요청에 대한 응답 URL |
ETC1 | 100 | 사용자 추가 필드1 | 선택 | |
ETC2 | 100 | 사용자 추가 필드2 | 선택 | |
ETC3 | 100 | 사용자 추가 필드3 | 선택 | |
ETC4 | 100 | 사용자 추가 필드4 | 선택 | |
ETC5 | 100 | 사용자 추가 필드5 | 선택 |