[PHP] 팝빌 홈택스 전자세금계산서 조회 SDK 튜토리얼

PHP 개발환경에서 팝빌 PHP SDK를 적용하여 홈택스 전자세금계산서 수집요청(RequestJob) 함수를 구현하는 예시입니다.

1. Popbill SDK 추가 팝빌 php SDK 튜토리얼

① 팝빌 연동자료실에서 PHP SDK 예제코드 다운로드 후 압축을 해제합니다.

② 압축해제한 SDK 예제코드에 포함된 Popbill/ 폴더를 웹사이트 Root Directory 경로에 복사합니다.

③ 홈택스 전자세금계산서 조회 서비스 연동환경 설정을 위해 프로젝트 Root Directory에 common.php 파일을 생성하고 아래의 코드를 참고하여 인증정보를 설정합니다.

연동신청시 발급받은 인증정보로 링크아이디(LinkID)와 비밀키(SecretKey) 값을 변경이 필요합니다.
Window 계열 OS 환경에서 APM을 통해 개발환경을 구성한 경우 LINKHUB_COMM_MODE 상수의 값을 "STREAM"으로 변경합니다.

<?php
  require_once './Popbill/PopbillHTTaxinvoice.php';

  // 링크 아이디
  $LinkID = 'TESTER';

  // 발급받은 비밀키. 유출에 주의하시기 바랍니다.
  $SecretKey = 'SwWxqU+0TErBXy/9TVjIPEnI0VTUMMSQZtJf3Ed8q3I=';

  // 통신방식 기본은 CURL , curl 사용에 문제가 있을경우 STREAM 사용가능.
  // STREAM 사용시에는 php.ini 파일의 allow_url_fopen = on 으로 설정해야함.
  define('LINKHUB_COMM_MODE','CURL');

  $HTTaxinvoiceService = new HTTaxinvoiceService($LinkID, $SecretKey);

  // 연동환경 설정값, 개발용(true), 상업용(false)
  $HTTaxinvoiceService->IsTest(true);

  // 인증토큰에 대한 IP제한기능 사용여부, 권장(true)
  $HTTaxinvoiceService->IPRestrictOnOff(true);

  // 팝빌 API 서비스 고정 IP 사용여부(GA), 기본값(false)
  $HTTaxinvoiceService->UseStaticIP(false);

  // 로컬서버 시간 사용 여부 true(기본값) - 사용, false(미사용)
  $HTTaxinvoiceService->UseLocalTimeYN(true);
?>

2. 홈택스 전자세금계산서 수집요청(RequestJob) 함수 구현

① 프로젝트 Root Directory에 함수 호출을 처리하는 "RequestJob.php" 파일을 생성하고, 아래의 코드를 참조하여 코드를 추가합니다.

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Popbill HTTaxinvoice Response</title>
  </head>
<?php

    include 'common.php';

    // 팝빌회원 사업자번호, '-'제외 10자리
    $testCorpNum = '1234567890';

    // 전자세금계산서 유형, SELL-매출, BUY-매입, TRUSTEE-위수탁
    $TIKeyType = KeyType::SELL;

    // 수집일자유형, W-작성일자, I-발행일자, S-전송일자
    $DType = 'S';

    // 시작일자, 형식(yyyyMMdd)
    $SDate = '20190801';

    // 종료일자, 형식(yyyyMMdd)
    $EDate = '20190831';

    try {
        $jobID = $HTTaxinvoiceService->RequestJob($testCorpNum, $TIKeyType, $DType, $SDate, $EDate);
    }
    catch(PopbillException $pe) {
        $code = $pe->getCode();
        $message = $pe->getMessage();
    }
?>
  <body>
    <div id="content">
    <p class="heading1">Response</p>
    <br/>
      <fieldset class="fieldset1">
      <legend>수집 요청</legend>
        <ul>
        <?php
        if ( isset($code) ) {
        ?>
          <li>Response.code : <?php echo $code ?> </li>
          <li>Response.message : <?php echo $message ?></li>
        <?php
        } else {
        ?>
          <li>jobID(작업아이디) : <?php echo $jobID ?></li>
        <?php
        }
        ?>
        </ul>
      </fieldset>
    </div>
  </body>
</html>

② 웹브라우저 페이지를 호출하여 함수호출 결과를 확인합니다.

팝빌 PHP SDK 홈택스 전자세금계산서 조회 Example

기술지원센터

팝빌 기술지원은 유선, 메일, 원격지원 등 다양한 채널을 통해 제공됩니다.

T. 1600-9854   E. code@linkhub.co.kr

연동문의