본 개발가이드는 팝빌에서 제공하는 전자세금계산서 API, 전자명세서 API, 현금영수증 API, 문자 API, 팩스 API, 휴폐업조회 API를 쉽고 빠르게 시스템에 연동할 수 있도록, 전자세금계산서 API 예제를 통해 ‘SDK 이용방법’과 ‘상업용 환경설정’ 방법을 상세히 안내드립니다.
-
PHP V5.x 또는 V4.x 개발환경 지원
-
API 호출과 응답에 사용되는 메시지 인코딩 방식은 “UTF-8 Character-Set” 적용
1. 이용방법 안내
개발환경 구성을 위해서는 통신환경 구성을 위한 PHP 모듈 추가’와 API 인증에 사용되는 ‘인증정보 설정’ 과정을 모두 완료해야 정상적으로 링크허브 API 상품을 이용할 수 있습니다. 다음의 설명을 참조하시기 바랍니다.
PHP 모듈추가 – cURL, OpenSSL
‘php -m’ 커맨드를 사용하여 설치되어 있는 PHP 모듈을 확인하고 다음과 같이 curl 모듈이 리스트에 추가되어 있지 않다면 curl 모듈 추가과정을 진행합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ php -m [PHP Modules] ctype mysql overload pcre posix session standard tokenizer xml [Zend Modules] |
PHP 설치시 사용한 원본소스 폴더의 /ext/curl/ 폴더로 이동하여 다음의 과정을 진행합니다. php 설치에 사용한 원본소스가 없다면 개발환경과 같은 버전의 소스를 다운로드 합니다.
1 2 3 4 5 6 7 8 9 |
$ cd /php-install-source-folder/ext/curl/ ../curl] $ phpize ../curl] $ cd moduels ../curl/modules] $ ls ------------------------ curl.so ------------------------ |
위의 과정에서 생성된 curl.so 파일을 확장모듈 라이브러리 폴더로 복사합니다. 확장모듈 라이브러리 폴더의 경로는 개발환경의 설정에 따라 다를수 있습니다.
1 2 3 4 |
../curl/modules] $ mkdir /usr/lib/php/modules/ ../curl/modules] $ cp curl.so /usr/lib/php/modules/ |
확장모듈의 경로를 설정하기 위해 다음과 같이 php 설정파일(php.ini)을 수정합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ vi /etc/php.ini // "php.ini"의 extension_dir, extension 값을 다음과 같이 수정. ------------------------------- extension_dir "/usr/lib/php/modules/" extension = curl.so ------------------------------- $ php -m // 모듈 리스트에서 curl 모듈 추가여부 확인. // 위 과정을 진행한 이후 모듈이 추가 되지 않은 경우 php.ini파일의 경로가 //php.info()의 Configure File Path의 경로와 동일한 경로인지 확인. |
인증정보 설정
SDK 샘플소스를 다운로드한 후 “common.php” 파일에 링크아이디(LinkID)와 비밀키(SecretKey)를 각각 링크허브 가입시 발급받은 링크아이디와 비밀키로 수정하면 인증정보 설정이 완료됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php require_once '../Popbill/PopbillTaxinvoice.php'; //링크 아이디 $LinkID = 'TESTER'; //발급받은 비밀키. 유출에 주의하시기 바랍니다. $SecretKey = 'jkjiPCCWfjb9yItA2CMxemSQDVEyBxZg0iymxZvaWKc='; $TaxinvoiceService = new TaxinvoiceService($LinkID,$SecretKey); //테스트모드로 설정되면 test.popbill.com으로 연결됩니다. //작업을 완료한 후에는 테스트모드설정을 해제하여 사용합니다. ex)아래 라인 주석처리하거나, false처리. $TaxinvoiceService->IsTest(true); ?> |
▼ [참고] 인증관련 에러별 트러블 슈팅(Trouble Shooting)
1. 에러코드 : -99010004, “유효한 요청 시간이 아닙니다.” [바로가기]
2. 에러코드 : -99010007, “권한요청 정보의 서명이 일치하지 않습니다.” [바로가기]
2. 상업용 환경설정
예제폴더에 포함되어 있는 “common.php” 파일의 IsTest 변수값을 “false” 로 기재하거나 주석으로 처리하면 상업용 연동환경 설정이 완료됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php require_once '../Popbill/PopbillTaxinvoice.php'; //연동 아이디 $LinkID = 'TESTER'; //발급받은 비밀키. 유출에 주의하시기 바랍니다. $SecretKey = 'jkjiPCCWfjb9yItA2CMxemSQDVEyBxZg0iymxZvaWKc='; $TaxinvoiceService = new TaxinvoiceService($LinkID,$SecretKey); //테스트모드로 설정되면 test.popbill.com으로 연결됩니다. //작업을 완료한 후에는 테스트모드설정을 해제하여 사용합니다. ex)아래 라인 주석처리하거나, false처리. $TaxinvoiceService->IsTest(false); ?> |
※ 테스트용에서 설정한 인증정보(링크아이디/비밀키)는 상업용에서도 동일하게 사용되므로 별도의 수정 불필요
상업용 연동환경 설정을 완료 후 팝빌 홈페이지(https://www.popbill.com)에 연동회원가입을 해야합니다. 연동회원가입에 관한 자세한 사항은 아래의 링크를 참조하시기 바랍니다.
[참고] 팝빌 상업용 연동회원 가입절차 안내 [http://www.popbill.com] [바로가기]
▼ [참고] 언어별 SDK 개발가이드
- Java – SpringMVC SDK 개발가이드
- Java – JSP SDK 개발가이드
- C#.NET SDK 개발가이드
- VB.NET SDK 개발가이드
- ASP.NET SDK 개발가이드
- PHP SDK 개발가이드
- ASP SDK 개발가이드
- Python SDK 개발가이드
- Python – Django SDK 개발가이드
- Node.js SDK 개발가이드
- Ruby – Rails SDK 개발가이드
- Delphi SDK 개발가이드
- Visual Basic SDK 개발가이드
- PowerBuilder SDK 개발가이드
- VBA SDK 개발가이드
고객님들의 편의를 위하여 이메일, 전화 등 다양한 채널을 열어놓고 있으니 언제든지 연락주시기 바랍니다.
링크허브 개발팀 정요한 과장 / T.1600-9854 / D. 070-4304-2991/ E. code@linkhub.co.kr