[PHP - Laravel] 팝빌 홈택스 현금영수증 조회 API 연동 가이드

[PHP - Laravel] 팝빌 홈택스 현금영수증 조회 API 연동 가이드 안녕하세요. 고객의 가치를 연결하는 비즈니스 파트너 링크허브 입니다. 본 포스팅에서는 PHP Laravel 개발환경에서 고객사들이 팝빌 홈택스 현금영수증 조회 API SDK를 쉽고 빠르게 이용할 수 있도록, 예시를 이용하여 연동 설정 방법을 안내드리겠습니다. 먼저, Composer를 이용하여 SDK 추가한 후 홈택스 현금영수증 조회 함수를 구현하는 순서로 진행하겠습니다. 팝빌 PHP Composer SDK는 PHP v7.1.3 이상의 환경에서 이용이 가능하며, API 호출과 응답의 메시지 인코딩은 "UTF-8 Character-Set"을 지원합니다. "팝빌은 링크허브에서 자체 개발하고 직접 운영하는 홈택스 현금영수증 서비스 Brand Name 입니다." 아래 설명하는 예시는 [ Laravel 5.7 | PHP v7.1.16 ] 기준으로 작성되어 있어, 이용 중이신 개발환경과 차이가 있을 수 있는 점 감안해 주시기 바랍니다. 1. 서버환경 구성 SDK 설치를 위해 PHP Composer 와 PHP (v7.1.3 이상) 이 설치 되어 있어야 합니다. $ php -v PHP 7.1.16 (cli) (built: Mar 31 2018 02:59:59) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies $ composer ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer v...

Web Programming이란?

Web Programming이란? 1. 인터넷과 웹 사이트 - 인터넷 : Inter + Network의 합성어로, 전 세계에 걸친 컴퓨터 네트워크 시스템 - 최초의 인터넷 : 미국의 아파넷(ARPAnet) - 웹 사이트 : 도메인 이름, IP 주소, 루트 경로로 이루어진 URL을 통하여 보이는 웹 페이지의 묶음 - DNS(Domain Name System) : 숫자로만 이루어진 IP 주소는 실질적으로 사용하기에 불편하기 때문에, 쉽게 외워서 사용하기 위한 인터넷 주소 2. 웹 프로그래밍 - Front-end Programming : 브라우저 또는 사용자 영역의 프로그래밍, HTML, CSS, JavaScript등을 사용 HTML 페이지의 구성(기본 구조) CSS 색상이나 크기 등 디자인적인 요소 JavaScript 기존 페이지의 내용 변경이나 움직임 등의 동적인 작업 - Back-end Programming 서버에서 실행되는 코드를 작성하는 것 Server-side Programming이라고도 하며 대부분의 언어를 사용 가능 Framework : 웹 페이지를 개발하는 과정에서의 기본 구조를 잡는 도구, Java - Spring / JS - Node.js / PHP - Laravel 3. 웹 서버와 웹 애플리케이션 서버 - 웹 서버 : 웹 서비스를 이용하기 위해서는 컴퓨터에서 웹 애플리케이션이 동작하고 있어야 하는데, 그 컴퓨터를 웹 서버라고 부름. 정적인 기능 수행(아파치, NGINX, IIS 등) - 웹 서버 프로그램 : 사용자의 요청을 정리하고 웹 애플리케이션으로 해당 요청을 전달하는 프로그램 - 웹 애플리케이션 서버 : 웹 서비스가 돌아가는 서버, 동적인 처리를 위해 만들어진 서버 - 웹 서버의 구조 4. 인프라 - 인프라 : 웹 서비스를 위해 여러 종류의 컴퓨터들이 동작하는 환경 from http://sorious77.tistory.com/58 by ccl(A) rewrite - 20...

LIKE문으로 검색하고 연관성 깊은 것부터 출력하기

LIKE문으로 검색하고 연관성 깊은 것부터 출력하기 환경 Lalavel PHP mySql 문제 보통 유사한 결과값을 찾을 때 like문을 사용하면 쉽게 찾을 수 있다. *데이터베이스* SLECT * FROM user WHERE name LIKE '%이름%' *Laravel* $query = $this->select('*') ->where('name', 'LIKE', '%이름%'); 하지만 이러한 데이터가 있을 때 연관성이 깊은 순서대로 출력하고 싶은데 어떻게 해야할까 검색을 하다가 발견했다! 데이터 출력하고 싶은 순서 이름1 이름 이름 이름1 1이름 1이름 바로 ORDER BY CASE THEN을 사용하는 것이다! 해결 *데이터베이스* SELECT * FROM user WHERE name LIKE '%이름%' ORDER BY CASE WHEN name = '이름' THEN 0 WHEN name = '이름%' THEN 1 WHEN name = '%이름%' THEN 2 WHEN name = '%이름' THEN 3 ELSE 4 END *Laravel* $query = $this->select('*') ->where('name', 'LIKE', '%이름%') ->orderBy(DB::raw(' CASE WHEN name="이름" THEN 0 WHEN name="이름%" THEN 1 WHEN name="%이름%" THEN 2 WHEN name="%이름" THEN 3 ELSE 4 END )); 이렇게하면 원하는 유사한 결과값을 정렬된 상태로 가져올 수 있다 ☺️ from http://become-a-deve...

Remove Laravel bootstrap cache config.php uploaded to AWS

Remove Laravel bootstrap cache config.php uploaded to AWS AWS 테스트 서버에 코드를 배포했다. 하지만 수정된 코드만 배포된 게 아니라 laravel.log와 bootstrap/cache/config.php까지 같이 배포되었다. 소스트리를 사용해서 확인해봐도 코드 파일들만 테스트 브랜치에 merge되어 있었는데... 어떻게 저게 올라갔지... .gitignore에 명시해놔도 이상하게 올라간다.? 이미 저 파일들이 테스트 서버로 올라간 이상 테스트 서버에 ssh로 접속해서 rm -rf로 디렉토리를 지워봤자 또 다른 에러들이 나게 된다. 라라벨이 동작할 때 bootstrap을 통해 준비하는데 로컬 경로들 때문에 테스트 서버 상에서는 경로를 못찾아서 나는 에러들이었다. 방법은 AWS 테스트 서버를 정상 상태로 재배포(롤백)한 다음 로컬에 있는 브랜치에서 올라가지 말아야 할 파일들을 제거하는 것이다. Laravel 프로젝트의 bootstrap/cache 디렉토리의 config.php를 제거하고 laravel.log도 제거한 뒤 다시 배포했다. 그 결과 성공. 초반에는 어떻게 해야할 지 몰라서 소스 트리에서 파일이 잘못 올라갔나 한참을 봤다. 새로 브랜치를 만들고 코드를 다시 적용해서 올려야하나 생각했는데, 코드를 하나도 작성하지 않은 경우에도 동일 문제가 있었다. 여기서 힌트를 얻어서 테스트 서버에서 에러가 나올 때 특정 파일에 대한 경로가 있었는데 그 경로를 바탕으로 로컬 프로젝트에서 올라가면 안되는 파일들을 찾아낼 수 있었다. 참 쓸데 없는 삽질이었다. php artisan cache:clear를 해도 config.php는 제거되지 않는다. 그냥 지워야한다. from http://oneshottenkill.tistory.com/623 by ccl(A) rewrite - 2020-03-11 02:20:38

디버그바 설치

디버그바 설치 1. 컴포저 설치 composer require barryvdh/laravel-debugbar --dev 2. .env 3. 디버그바 설치화면 from http://anko3899.tistory.com/420 by ccl(A) rewrite - 2020-03-11 01:54:37

laravel modal crud list

laravel modal crud list 1. index (데이터가져오기) https://www.youtube.com/watch?v=7Pl5T5jf3Kk&list;=PLRheCL1cXHrsVMqY-ZFuEaHIjPB7xcnli 2. store (데이터 삽입) https://www.youtube.com/watch?v=YxTErC4a7sA&list;=PLRheCL1cXHrsVMqY-ZFuEaHIjPB7xcnli 3. edit updata (업데이트_ https://www.youtube.com/watch?v=V7v8zWexpQ4&t;=923s 4. delete (삭제) https://www.youtube.com/watch?v=I-B9TvjukLg&list;=PLRheCL1cXHrsVMqY-ZFuEaHIjPB7xcnli from http://anko3899.tistory.com/427 by ccl(A) rewrite - 2020-03-11 01:20:38

파이썬에서 서버로 데이터 전송(post 방식)

파이썬에서 서버로 데이터 전송(post 방식) 환경 Ubuntu php laravel python 파이썬에서 php 서버로 데이터 전송 후 서버에서 데이터베이스로 삽입 또는 수정하는 작업을 진행하려고 한다. 검색을 하면 파이썬에서 서버로 전송하는 방법은 많이 나오는데 서버에서 어떻게 값을 받는지에 대한 게시글은 찾기 힘들다ㅠ 또 나는 전송할게 그냥 dict나 list가 아니라 dict list로 되어있는 데이터인데 이런경우 또한 찾기 힘들다ㅠㅠㅠ 많은 시행착오 끝에 해결!!!ㅠㅠㅠ python data = [{"data":1, "data1":2}, {"data":3, "data1":4}] data = json.dumps(data) headers = {'Content-Type': 'application/json', 'Accept': 'application/json'} res = requests.post(url, params={'result':data}, verify=False , headers=headers) print(res.text) # 서버에서 전송하는 return 값 출력 print(res.status_code) #서버 상태값 ex)200, 500... server(php 기준) Input::get("result") json.dumps 할때 숫자가 들어가있을 경우 오류가 발생할 수 있다. int64 not json serializable 나는 이런 오류가 발생했는데 이게 발생했을 경우 숫자 값을 넣을때 그냥 넣지 말고 int(숫자) 이렇게 넣자! from http://become-a-developer.tistory.com/52 by ccl(A) rewrite - 2020-03-11 01:07:38