배송정보 등록 요청은 먼저 TOKEN 발행 API를 통해 TOKEN을 발급 받은 후 발행된 TOKEN을 가지고 결제취소 API와 통신하게 되어 있습니다.
에스크로 결제 > 배송정보 등록 단계
인증결제(계좌이체 에스크로 결제이후) 배송정보를 등록하는 단계입니다.
라이브 : https://www.cookiepayments.com [POST]
테스트 : https://sandbox.cookiepayments.com [POST]
{요청도메인}/payAuth/token [POST]
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
pay2_id | 30 | cookiepayments에서 발급받은 ID | 필수 | cookiepayments사에서 부여 |
pay2_key | 50 | cookiepayments에서 발급받은 연동키 | 필수 | cookiepayments사에서 부여 |
{요청도메인}/escro/delivery_add [POST]
샘플예제
/* 토큰 발급 API */
curl -H "Content-Type: application/json" \
-d '{
"pay2_id": "cookiepayments에서 발급받은 ID",
"pay2_key": "cookiepayments에서 발급받은 연동키"
}' \
-X POST "{요청도메인}/payAuth/token"
/* 비인증결제 API */
curl -H "Content-Type: application/json" \
-H "ApiKey: COOKIEPAY에서 발급받은 연동키" \
-H "TOKEN: TOKEN API통해 발행된 TOKEN 값" \
-d '{
"API_ID": "COOKIEPAY에서 발급받은 가맹점연동 ID",
"TID": "PG 거래 고유번호",
"PRODUCTCODE": "상품코드",
"AMOUNT": "결제금액",
"RECEIVERNAME": "실수령자",
"RECEIVERDATE": "실수령일(YYYYMMDD)",
"RECEIVERELATION": "실수령자와의 관계 (ex:본인)",
"PARCELNAME": "택배사명",
"WAYBILLNO":"운송장번호",
"DELIVERYADDR":"배송지주소"
}' \
-X POST "{요청도메인}/escro/delivery_add"
/* 토큰 발행 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, "ApiKey: COOKIEPAY에서 발급받은 연동키");
array_push($headers, "TOKEN: TOKEN API통해 발행된 TOKEN 값");
$cookiepayments_url = "{요청도메인}/escro/delivery_add";
$request_data_array = array(
'API_ID' => 'COOKIEPAY에서 발급받은 가맹점연동 ID',
'TID'=> 'PG 거래 고유번호',
'AMOUNT'=> '결제금액',
'RECEIVERNAME'=> '실수령자',
'RECEIVERDATE'=> '실수령일(YYYYMMDD)',
'RECEIVERELATION'=> '실수령자와의 관계 (ex:본인)',
'PARCELNAME'=>'택배사명',
'WAYBILLNO'=>'운송장번호',
'DELIVERYADDR'=> '배송지주소',
);
$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 |
TID | 20 | PG 거래 고유번호 | 필수 | PG사 결제 거래고유번호 (전표출력 및 결제취소에 사용됩니다) |
AMOUNT | 10 | 결제 금액 | 필수 | 숫자만 사용합니다 |
RECEIVERNAME | 50 | 실수령자 | 필수 | 실제 수령자 이름 |
RECEIVERDATE | 50 | 실수령일 | 필수 | 실수령일 (YYYYMMDD) |
RECEIVERELATION | 50 | 실수령자와의 관계 | 필수 | 실수령자와의 관계 (ex:본인) |
PARCELNAME | 30 | 택배사명 | 필수 | 택배사명 |
WAYBILLNO | 50 | 운송장번호 | 필수 | 운송장번호 |
DELIVERYADDR | 100 | 배송지주소 | 필수 | 배송지 주소 |
항목명 | 길이 | 내용 | 구분 | 비고 |
---|---|---|---|---|
RESULTCODE | 4 | 결과 코드 | 필수(JSON) | PG사 응답 코드 (성공시 "0000", 그외 에러) |
RESULTMSG | 100 | 결과 메시지 | 필수(JSON) | PG사 응답 메시지 ("성공" 또는 오류 메세지) |