카드 비인증결제(Non-UI)
카드 비인증결제는 URL 과 TOKEN을 발급 받은 후 결제요청을 하시면 됩니다.
2. 카드 비인증결제 과정
1. 발급받은 키와 코드를 사용해 헤더와 데이터를 채워 넥스페이로 전송한다.
2. 전송받은 값을 검증 후 , URL와 토큰을 리턴해준다.
전송값에 오류가 있을경우 오류코드와 메시지만 전송됩니다.
3. 전달받은 URL에 매뉴얼을 참고하여 파라미터 항목을 JSON방식으로 전송한다.
전송값에 오류가 있을경우 오류코드와 메시지만 전송됩니다.
4. PG사로 결제요청 데이터 전송
5. 결제결과값 리턴
성공한 경우 매뉴얼에 정의된 항목이 전송됩니다.
실패한 경우 오류코드와 메시지만 전송됩니다.
2. 전송받은 값을 검증 후 , URL와 토큰을 리턴해준다.
전송값에 오류가 있을경우 오류코드와 메시지만 전송됩니다.
3. 전달받은 URL에 매뉴얼을 참고하여 파라미터 항목을 JSON방식으로 전송한다.
전송값에 오류가 있을경우 오류코드와 메시지만 전송됩니다.
4. PG사로 결제요청 데이터 전송
5. 결제결과값 리턴
성공한 경우 매뉴얼에 정의된 항목이 전송됩니다.
실패한 경우 오류코드와 메시지만 전송됩니다.
API 연동 과정
결제연동 URL
개발서버 : http://develop.nex.magnexpay.com/nexpay/Api [POST]
운영서버 : https://nex-pay.co.kr/nexpay/Api [POST]
운영서버 : https://nex-pay.co.kr/nexpay/Api [POST]
2.1 결제연동 URL 요청 전문
구분 | 항목명 | 길이 | 내용 | 비고 |
---|---|---|---|---|
필수 (헤더) |
Authorization | 상점 고유 결제 연동 키 | 넥스페이 발급 Key 값 | |
필수 (Json) |
USERID | 10 | 가맹점ID | 넥스페이 발급 아이디 |
필수 (Json) |
Type | 10 | 결제구분 | CARD = 카드결제 CASH = 현금영수증발행 |
결제연동 URL 요청 예제 (PHP) [코드열기/접기]
$key = ""; //넥스페이에 발급 문의바랍니다.
$USERID = ""; //셀러코드 넥스페이에 문의바랍니다.
$url = "http://develop.nex.magnexpay.com/nexpay/Api"; //개발서버
//결제URL 요청항목
$ready_array = array (
'USERID' => $USERID
,'Type' => "CARD"
, 'CANCELREQ' => "" // 취소 = Y , 승인 = ""
);
$ready_data = json_encode($ready_array);
$header_data = array(
'Content-Type: application/json; charset=utf-8',
"Authorization: " . $key
);
$urlResponse = APICurlFnc($url, $header_data, $ready_data );
echo print_r($urlResponse['response']);
echo $urlResponse["response"][0]["code"];
echo $urlResponse["response"][0]["msg"];
echo $urlResponse["response"][0]["ReturnURL"];
echo $urlResponse["response"][0]["TOKEN"];
function APICurlFnc($url, $header_data, $data ){
$ch = curl_init($url);
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => $header_data,
CURLOPT_POSTFIELDS => $data,
CURLOPT_SSL_VERIFYHOST => '0',
CURLOPT_SSL_VERIFYPEER => '0'
));
$response = curl_exec($ch);
//ECHO $response;
$sResponse = json_decode($response , true);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
//echo $status_code;exit;
$error = curl_error($ch);
curl_close ($ch);
//print_r($sResponse);
//코드값 리턴
$sResponse["response"][0]["status_code"] = $status_code;
//print_r($sResponse);
//echo $status_code;exit;
return $sResponse;
}
결제연동 URL 요청 예제 (CURL) [코드열기/접기]
Terminal Commend
curl -i
-X POST
-H "Content-Type: application/json"
-H "Authorization: 상점 결제연동 키"
-d "{ \"USERID\": \"가맹점ID\", \"Type\": \"CARD\"}"
http://develop.nex.magnexpay.com/nexpay/Api
Postman.exe
2.2 결제연동 URL 응답 전문
$key = ""; //넥스페이에 발급 문의바랍니다.
$USERID = ""; //셀러코드 넥스페이에 문의바랍니다.
$url = "http://develop.nex.magnexpay.com/nexpay/Api"; //개발서버
//결제URL 요청항목
$ready_array = array (
'USERID' => $USERID
,'Type' => "CARD"
, 'CANCELREQ' => "" // 취소 = Y , 승인 = ""
);
$ready_data = json_encode($ready_array);
$header_data = array(
'Content-Type: application/json; charset=utf-8',
"Authorization: " . $key
);
$urlResponse = APICurlFnc($url, $header_data, $ready_data );
echo print_r($urlResponse['response']);
echo $urlResponse["response"][0]["code"];
echo $urlResponse["response"][0]["msg"];
echo $urlResponse["response"][0]["ReturnURL"];
echo $urlResponse["response"][0]["TOKEN"];
function APICurlFnc($url, $header_data, $data ){
$ch = curl_init($url);
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => $header_data,
CURLOPT_POSTFIELDS => $data,
CURLOPT_SSL_VERIFYHOST => '0',
CURLOPT_SSL_VERIFYPEER => '0'
));
$response = curl_exec($ch);
//ECHO $response;
$sResponse = json_decode($response , true);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
//echo $status_code;exit;
$error = curl_error($ch);
curl_close ($ch);
//print_r($sResponse);
//코드값 리턴
$sResponse["response"][0]["status_code"] = $status_code;
//print_r($sResponse);
//echo $status_code;exit;
return $sResponse;
}
Terminal Commend
curl -i
-X POST
-H "Content-Type: application/json"
-H "Authorization: 상점 결제연동 키"
-d "{ \"USERID\": \"가맹점ID\", \"Type\": \"CARD\"}"
http://develop.nex.magnexpay.com/nexpay/Api
Postman.exe
2.2 결제연동 URL 응답 전문
구분 | 항목명 | 길이 | 내용 | 비고 |
---|---|---|---|---|
필수 | code | 4 | 응답코드 | 넥스페이 또는 PG사 오류코드 0000 = 정상 , 그외 msg 참조 |
필수 | msg | 100 | 응답메시지 | 넥스페이 또는 PG사 오류메시지 |
선택 성공시 |
ReturnURL | 리턴URL | 결제요청 URL | |
선택 성공시 |
TOKEN | 토큰 | 결제요청 토큰 |
2.3 결제연동 요청 전문
결제연동 요청 URL
결제연동 URL 응답 전문 ReturnURL [POST]
구분 | 항목명 | 길이 | 내용 | 비고 |
---|---|---|---|---|
필수 (헤더) |
Authorization | 상점 고유 결제 연동 키 | 넥스페이 발급 Key 값 | |
필수 (헤더) |
TOKEN | 요청에 대한 유효한 키 | 결제연동 URL응답 전문 리턴 값 | |
필수 (Json) |
USERID | 10 | 가맹점ID | 넥스페이 발급 아이디 |
필수 (Json) |
PAYMETHOD | 10 | 결제수단 | CARD-SUGI = 카드 비인증결제 |
필수 (Json) |
p_price | 10 | 결제금액 | |
필수 (Json) |
card_num | 16 | 카드번호 | |
필수 (Json) |
card_useable | 16 | 카드유효기간 | 년월(YYMM) |
필수 (Json) |
installment | 2 | 할부개월 | 일시불 = 00 2개월 = 02 (00~12) |
선택 (Json) |
CARD_AUTH | 10 | 카드명의자 주민/사업자번호 | *카유비생결제 선택사항 주민번호 = YYMMDD 형식 사업자번호 = 10자리 |
선택 (Json) |
PASSWD | 2 | 카드 비밀번호 | *카유비생결제 선택사항 앞 2자리 |
선택 (Json) |
p_product_name | 30 | 상품명 |
결제연동 요청 예제 (PHP) [코드열기/접기]
$key = ""; //넥스페이에 발급 문의바랍니다.
$USERID = ""; //셀러코드 넥스페이에 문의바랍니다.
//결제요청항목
$request_array = array (
'USERID' => $USERID,
'PAYMETHOD' => strval($PAYMETHOD),
'p_price' => strval($p_price),
'card_num' => strval($card_num),
'card_useable' => strval($card_useable),
'installment' => strval($installment),
'CARD_AUTH' => strval($CARD_AUTH),
'PASSWD' => strval($PASSWD),
'p_product_name' => strval($p_product_name)
);
//echo print_r($request_array);
//exit;
$apiRequest_data = json_encode($request_array);
$header_data = array(
'Content-Type: application/json; charset=utf-8',
"Authorization: " . $key
);
array_push($header_data, "TOKEN: " . $urlResponse["response"][0]["TOKEN"]);
$urlResponse2 = APICurlFnc($urlResponse["response"][0]["ReturnURL"], $header_data, $apiRequest_data );
echo print_r($urlResponse2);
function APICurlFnc($url, $header_data, $data ){
$ch = curl_init($url);
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => $header_data,
CURLOPT_POSTFIELDS => $data,
CURLOPT_SSL_VERIFYHOST => '0',
CURLOPT_SSL_VERIFYPEER => '0'
));
$response = curl_exec($ch);
//ECHO $response;
$sResponse = json_decode($response , true);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
//echo $status_code;exit;
$error = curl_error($ch);
curl_close ($ch);
//print_r($sResponse);
//코드값 리턴
$sResponse["response"][0]["status_code"] = $status_code;
//print_r($sResponse);
//echo $status_code;exit;
return $sResponse;
}
결제연동 요청 예제 (CURL) [코드열기/접기]
Terminal Commend
curl -i
-X POST
-H "Content-Type: application/json"
-H "Authorization: 상점 결제연동 키"
-H "TOKEN: 요청에 대한 유효한 키"
-d "{ \"USERID\": \"가맹점ID\", \"PAYMETHOD\": \"CARD-SUGI\", \"p_price\": \"1004\" , \"card_num\": \"\" , \"card_useable\": \"\" , \"installment\": \"00\" }"
http://결제연동 URL 응답 전문 ReturnURL
Postman.exe
2.4 결제연동 응답 전문
$key = ""; //넥스페이에 발급 문의바랍니다.
$USERID = ""; //셀러코드 넥스페이에 문의바랍니다.
//결제요청항목
$request_array = array (
'USERID' => $USERID,
'PAYMETHOD' => strval($PAYMETHOD),
'p_price' => strval($p_price),
'card_num' => strval($card_num),
'card_useable' => strval($card_useable),
'installment' => strval($installment),
'CARD_AUTH' => strval($CARD_AUTH),
'PASSWD' => strval($PASSWD),
'p_product_name' => strval($p_product_name)
);
//echo print_r($request_array);
//exit;
$apiRequest_data = json_encode($request_array);
$header_data = array(
'Content-Type: application/json; charset=utf-8',
"Authorization: " . $key
);
array_push($header_data, "TOKEN: " . $urlResponse["response"][0]["TOKEN"]);
$urlResponse2 = APICurlFnc($urlResponse["response"][0]["ReturnURL"], $header_data, $apiRequest_data );
echo print_r($urlResponse2);
function APICurlFnc($url, $header_data, $data ){
$ch = curl_init($url);
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => $header_data,
CURLOPT_POSTFIELDS => $data,
CURLOPT_SSL_VERIFYHOST => '0',
CURLOPT_SSL_VERIFYPEER => '0'
));
$response = curl_exec($ch);
//ECHO $response;
$sResponse = json_decode($response , true);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
//echo $status_code;exit;
$error = curl_error($ch);
curl_close ($ch);
//print_r($sResponse);
//코드값 리턴
$sResponse["response"][0]["status_code"] = $status_code;
//print_r($sResponse);
//echo $status_code;exit;
return $sResponse;
}
Terminal Commend
curl -i
-X POST
-H "Content-Type: application/json"
-H "Authorization: 상점 결제연동 키"
-H "TOKEN: 요청에 대한 유효한 키"
-d "{ \"USERID\": \"가맹점ID\", \"PAYMETHOD\": \"CARD-SUGI\", \"p_price\": \"1004\" , \"card_num\": \"\" , \"card_useable\": \"\" , \"installment\": \"00\" }"
http://결제연동 URL 응답 전문 ReturnURL
Postman.exe
2.4 결제연동 응답 전문
구분 | 항목명 | 길이 | 내용 | 비고 |
---|---|---|---|---|
필수 | code | 4 | 응답코드 | 넥스페이 또는 PG사 오류코드 0000 = 정상 , 그외 msg 참조 |
필수 | msg | 100 | 응답메시지 | 넥스페이 또는 PG사 오류메시지 |
선택 성공시 |
p_date | 14 | 결제일시 | YYYYMMDDhh24miss |
선택 성공시 |
card_company | 30 | 카드사 | |
선택 성공시 |
a_number | 30 | 승인번호 | |
선택 성공시 |
trade_number | 30 | 거래번호 | |
선택 성공시 |
order_number | 30 | 주문번호 | |
선택 성공시 |
p_price | 10 | 결제금액 | |
선택 성공시 |
p_goods | 10 | 물품금액 | |
선택 성공시 |
p_surtax | 10 | 부가세 |