페이레터 결제 소개
서비스 안내
몇 번을 고민해도, 당신의 파트너는 페이레터입니다!
페이레터는 온라인 상점의 재화/서비스 판매를 위한 전자결제 대행 서비스를 제공합니다.
국내외 보안인증 획득을 통한 안전성 검증, 다양한 결제수단,
안정적인 거래 처리 능력을 바탕으로 편리한 결제 서비스를 제공하기 위해 노력하고 있습니다.
| 1. 전세계 25개국, 260개 가맹점에서 페이레터 서비스 이용 중 |
| 2. 글로벌 신용카드 데이터 보안 인증 PCI-DSS, 국내 정보 보안표준 ISMS 인증 획득으로 안전한 결제환경 제공 |
| 3. 국내 1위 E-Commerce, 음원 서비스, VOD 서비스 등의 거래를 통해 검증된 거래 처리 능력 |
| 4. 튼튼한 재무 구조로 안정적 서비스 제공 및 대금 정산 가능 |
| 5. 경쟁사 대비 월등한 콜센터 고객 응대율(98.7%) |
결제수단 및 부가서비스
| 금융 | 간편결제 | 통신 | 상품권 | 선불카드 | 부가서비스 |
|---|---|---|---|---|---|
| 신용카드 인터넷뱅킹 가상계좌 |
토스(TOSS) 카카오페이 페이코 SSG페이 계좌 간편결제(체크페이) 네이버페이 삼성페이 애플페이 |
휴대폰 결제 | 문화상품권 컬쳐랜드상품권 스마트문상 도서문화상품권 |
틴캐시 편의점캐시 에그머니 교통카드(티머니, 캐시비) 교통카드(이즐) |
본인확인 |
가입절차
| 신규 가입문의 : 영업팀 장민수 (02-6191-3744 / msjang@payletter.com) |
|---|
| 1. 온라인 가입 |
| 2. 가입심사 진행 이용불가업종 보기 |
| 3. 보증보험 가입 - 문의 : 서울보증보험 서초지점 [(주)개런티인슈] / 02-3486-0021, 02-3487-0035 |
| 4. 계약서 및 구비서류 제출 계약서
보기 |
| 5. 결제수단별 심사 진행 - 신용카드/간편결제/휴대폰 : 약 2주 소요 - 인터넷뱅킹 : 약 1~2일 소요 - 상품권/선불카드 : 약 3~5일 소요 |
| 6. 등록비 납부 및 가입 완료 |
구비서류
| 구분 | 법인사업자 | 개인사업자 |
|---|---|---|
| 계약서류 | 1. 페이레터 통합결제서비스 이용계약서 2부 2. 개인정보 수집 이용 및 활용 동의서 1부 |
|
| 구비서류 | 1. 사업자등록증 사본 1부 2. 법인 인감증명서 원본 1부(3개월 이내 발급분) 3. 입금계좌 사본 1부(법인명의) 4. 사용인감계 1부(계약서에 사용인감 날인 시) 5. 지급이행 보증보험증권 원본 1부 |
1. 사업자등록증 사본 1부 2. 대표자 인감증명서 원본 1부(3개월 이내 발급분) 3. 입금계좌 사본 1부(대표자 또는 사업자명의) 4. 지급이행 보증보험증권 원본 1부 |
연동 전 확인사항
API HTTPS 프로토콜
지원하는 HTTPS 프로토콜
페이레터 API HTTPS는 TLS 1.2 이상 지원합니다.
방화벽
결제완료 Callback 을 수신하기 위하여 inbound IP를 추가해 주시기 바랍니다.
테스트 : 211.115.120.167
라이브 : 211.115.72.37, 211.115.72.38, 211.115.120.37, 211.115.120.38
API Authorization
가맹점 계약이 완료되면 API Key가 발급됩니다. 가맹점 계약 안내
API Key는 가맹점 관리자 페이지 에서 확인하실 수 있습니다.
API Key는 결제(PAYMENT) / 조회(SEARCH) 용 두 가지 Key가 발급됩니다.
HttpRequestHeader Authorization 항목에 다음과 같이 API Key를 보내 주시기 바랍니다.
Authorization: PLKEY {가맹점_apikey}
API Endpoint URL
| 환경 | 주소 |
|---|---|
| 테스트 | https://testpgapi.payletter.com/ |
| 라이브 | https://pgapi.payletter.com/ |
테스트 환경에서는 callback_url 호출 시 80, 443만 허용하고 있어 이 외 포트 이용 시 방화벽 등록이 필요합니다.
등록 가능한 공용 IP 및 Port 정보를 기술지원 메일(poqdev@payletter.com)로 등록 요청하시길 바랍니다.
테스트 환경 가맹점 정보
가입 전에 테스트 환경에서 미리 구성된 API Key로 연동 테스트가 가능합니다.
| Parameter | Value |
|---|---|
| 가맹점 아이디 | pay_test |
| API Key (PAYMENT) | MTFBNTAzNTEwNDAxQUIyMjlCQzgwNTg1MkU4MkZENDA= |
| API Key (SEARCH) | MUI3MjM0RUExQTgyRDA1ODZGRDUyOEM4OTY2QTVCN0Y= |
결제수단별 옵션
| 결제수단 | 자동결제 | 결제취소 | 부분 취소 | 취소가능기간 | 최소 승인가능금액 |
|---|---|---|---|---|---|
| 신용카드 | O | O | O | D+180 | 100원 |
| 인터넷뱅킹 | X | O | O | 결제 당일 | 1000원 |
| 가상계좌 | X | X | X | 취소불가 | 500원 |
| 토스(TOSS) | X | O | O | D+180 | 1원 |
| 카카오페이 | O | O | O | D+180 | 100원 |
| 페이코 | O | O | O | D+180 | 100원 |
| SSG페이 | X | O | O | D+180 | 100원 |
| 네이버페이 | X | O | O | D+180 | 100원 |
| 삼성페이 | X | O | O | D+180 | 100원 |
| 애플페이 | X | O | X | D+180 | 1원 |
| 계좌 간편결제(체크페이) | O | O | X | D+30 | 1000원 |
| 휴대폰 | O | O | O | 결제 당월 | 10원 |
| 문화상품권 | X | O | X | D+24 | 5000원 |
| 컬쳐랜드상품권 | X | O | O | D+24 | 1원 |
| 스마트문상 | X | O | X | D+24 | 1원 |
| 도서문화상품권 | X | O | O | D+24 | 1원 |
| 틴캐시 | X | O | X | D+24 | 10원 |
| 편의점캐시 | X | O | X | D+24 | 10원 |
| 에그머니 | X | O | X | D+24 | 10원 |
| 교통카드결제(티머니/캐시비) | X | O | O | D+24 | 10원 |
| 교통카드결제(이즐) | X | O | X | D+24 | 10원 |
결제수단별 참고사항
결제수단
| 1. 네이버페이의 경우 Callback URL로 결제 결과 전달 시 사용자가 선택한 결제수단에 따라 pgcode가 다르게 전달됩니다. (네이버페이 : navercard or naverpoint) |
| 2. 모바일 티머니 결제 시 티머니 모듈이 필요합니다. (구글 플레이스토어에서 (주)티모넷의 충전결제모듈, 모바일티머니 어플 다운로드 후 결제 가능) |
| 3. 모바일 이즐 결제 시 이즐 모듈이 필요합니다. (구글 플레이스토어에서 주식회사 이동의즐거움의 모바일이즐 어플 다운로드 후 결제 가능) |
| 4. SSG페이 회원으로 등록되지 않은 휴대폰번호의 경우 결제 페이지에서 호출 시 오류가 발생합니다. |
| 5. SSG페이, 삼성페이, 토스(Toss) 결제 요청 시 파라메터 중 "service_name"이 필수값입니다. |
| 6. 애플페이 사용 가능 카드 : 현대카드 ○ iOS 11.3이상, MacOS 10.12.6이상, Safari 11.1이상에서 사용 가능 ○ iPhone, iPad : Safari이외의 브라우저도 사용은 가능하나 Safari 브라우저 사용 권장 ○ MacBock : Safari 브라우저에서만 사용 가능 ○ wifi만 사용 가능한 iPad는 전자지갑에 현대카드 등록시 현대카드 고객센터에 연락하여 등록 가능.(유저문의시 안내) |
| 7. iframe 환경에서는 일부 결제 수단이 정상적으로 작동하지 않을 수 있습니다. 원활한 결제 진행을 위해 iframe 사용을 가급적 자제해 주시기 바랍니다. |
테스트 결제
| 1. 신용카드 테스트의 경우 밴(신용카드)사 통신은 하지 않습니다. |
| 2. 카카오페이, 휴대폰결제, SSG페이의 경우 테스트 환경에서 실제로 결제가 발생합니다. (결제 당일 밤에 자동으로 결제 취소되오니 참고하시기 바랍니다.) |
| 3. 가상계좌 테스트는 채번단계까지만 가능합니다. 실제 입금 시, 취소가 불가한 점 참고하시기 바랍니다. (실제 입금테스트가 필요하신 경우 별도 문의하시기 바랍니다.) |
| 4. 애플페이 테스트의 경우 밴(신용카드)사 통신은 하지 않습니다.(실결제 되지 않음) |
| 5. 인터넷뱅킹/상품권/선불카드의 테스트가 필요하신 경우 별도 문의하시기 바랍니다. |
| 6. 테스트 환경의 경우 신용카드 자동결제 휴대폰 인증 시 인증번호가 문자로 발송되지 않습니다. (임의의 번호 입력 후 진행 가능) |
기술지원
poqdev@payletter.com
결제 관련 문의 시에는 연동 환경, 가맹점 아이디, 주문번호, 거래시간, token 등
상세 정보를 보내주시면 보다 빠른 응대가 가능합니다.
결제 API
API 목록
| URL | METHOD | KEY TYPE | 기능 |
|---|---|---|---|
| v1.0/payments/request | POST | PAYMENT | 결제 요청 |
| v1.0/payments/request | POST | PAYMENT | 최초 자동결제 요청 |
| v1.0/payments/autopay | POST | PAYMENT | 자동결제 승인 |
| v1.0/payments/cancel | POST | PAYMENT | 결제 취소 |
| v1.0/payments/cancel/partial | POST | PAYMENT | 부분 취소 |
| v1.0/cashreceipt/issue/{tid} | POST | PAYMENT | 현금영수증발급 |
| v1.0/payments/transaction/list | GET | SEARCH | 결제 내역 조회 |
| v1.0/payments/partner/transaction/list | GET | SEARCH | 파트너 결제 내역 조회 |
| v1.0/payments/status | POST | PAYMENT | 거래 상태 조회 |
| v1.0/receipt/info/{tid} | GET | SEARCH | 거래 내역 확인서 |
결제 프로세스
API 샘플소스
페이레터 API 샘플 소스는 ASP, ASP.NET, JSP, PHP 언어를 제공하고 있습니다.
| 언어 | 샘플소스 |
|---|---|
| ASP | 다운로드 |
| ASP.NET | 다운로드 |
| JSP | 다운로드 |
| PHP | 다운로드 |
| Node.js | 다운로드 |
결제 요청
요청
POST /v1.0/payments/request HTTP/1.1
Host: testpgapi.payletter.com
Authorization: PLKEY MTFBNTAzNTEwNDAxQUIyMjlCQzgwNTg1MkU4MkZENDA=
Content-Type: application/json
{
"pgcode" : "mobile",
"user_id":"test_user_id",
"user_name":"테스터",
"service_name":"페이레터",
"client_id":"pay_test",
"order_no":"1234567890",
"amount":1000,
"taxfree_amount": 100,
"tax_amount": 20,
"product_name":"테스트상품",
"email_flag":"Y",
"email_addr":"payletter@payletter.com",
"autopay_flag":"N",
"receipt_flag":"Y",
"custom_parameter":"this is custom parameter",
"return_url":"https://testpg.payletter.com/result",
"callback_url":"https://testpg.payletter.com/callback",
"cancel_url":"https://testpg.payletter.com/cancel"
}
Key Type
PAYMENT
HTTP Request
POST v1.0/payments/request
Request Parameters
| Parameter | Default | Type | Size | Description |
|---|---|---|---|---|
| pgcode | 필수 | string | 20 | 결제수단 코드 첨부 참조 |
| client_id | 필수 | string | 20 | 가맹점 아이디 |
| service_name | string | 20 | 결제 서비스명 (ssg페이, 삼성페이, 토스는 필수) | |
| user_id | 필수 | string | 50 | 가맹점 결제자(회원) 아이디(email, 영문 및 숫자 가능) |
| user_name | string | 20 | 가맹점 결제자(회원) 이름 | |
| order_no | string | 50 | 가맹점 주문번호 (영문 및 숫자 형식만 사용) | |
| amount | 필수 | number | 결제금액 예외) 문화상품권 (pgcode : voucher) 인 경우, 5000/10000/50000 외의 값 입력불가 |
|
| taxfree_amount | number | 비과세 금액 적용은 amount값과 동일값으로 처리 복합 과세 금액 적용은 amount(전체 금액), taxfree_amount(비과세 금액)으로 처리 |
||
| tax_amount | number | 부가세 금액(세팅하지 않는 경우 (결제금액 - 비과세 금액)/11 : 소수점이하 반올림으로 자동 계산) | ||
| product_name | 필수 | string | 100 | 결제 상품(컨텐츠)명 (<, > ,캐리지 리턴(\n) 등의 제어문자 사용불가) |
| email_flag | string | 1 | 결제내역 메일 수신 여부 (Y:사용, N:미사용) | |
| email_addr | string | 100 | 결제내역 메일 수신 주소 (*email_flag를 "Y"로 세팅한 경우에만 사용) |
|
| autopay_flag | string | 1 | 자동결제 여부 | |
| receipt_flag | string | 1 | 현금영수증 입력 창 노출 여부 (Y:사용, N:미사용) (*현금영수증 계약이 되어 있는 경우에만 사용 가능) |
|
| keyin_flag | string | 1 | 신용카드 수기결제 여부 (*별도 계약이 되어 있는 경우에만 사용 가능) |
|
| custom_parameter | string | 1024 | 가맹점이 전송하는 임의의 값 ex) 고객정보, 주문정보, 기타 필요한 정보를 세팅하면 결제 결과로 다시 리턴 |
|
| return_url | 필수 | string | 256 | 결제 완료 후 연결할 웹 페이지 URL |
| callback_url | 필수 | string | 256 | 결제 성공 결과를 수신할 callback URL (가맹점 결제 성공 처리) |
| cancel_url | string | 256 | 취소 버튼 클릭시 연결할 웹 페이지 URL 일부 결제 수단은 cancel_url로 이동하지 않음 (네이버페이, 삼성페이 등) |
|
| inapp_flag | string | 1 | In-app 사용 여부 (Y:사용, N:미사용) | |
| app_return_url | string | 256 | In-app 에서 ISP / KFTC(계좌이체)결제시 연결할 웹 페이지 URL (예:IOS - 앱 Address://, 안드로이드 - 앱 Address://ISPSuccess) |
|
| app_cancel_url | string | 256 | In-app 에서 ISP / KFTC(계좌이체)결제 취소(중단)시 연결할 웹 페이지 URL (예:IOS - 앱 Address://, 안드로이드 - 앱 Address://ISPCancel) |
|
| expire_date | string | 8 | 가상계좌 채번시 만료일 설정(YYYYMMDD) | |
| expire_time | string | 4 | 가상계좌 채번시 만료시각 설정(HHMM) | |
| disposable_cup_deposit | number | 일회용 컵 보증금(*특정 결제 수단 사용 가능, 부분 취소 불가) *특정 결제 수단 : 신용카드, 네이버페이, 카카오페이, 토스(TOSS), SSG페이, 교통카드결제 (티머니/캐시비), 휴대폰 |
||
| company_name_flag | string | 1 | 카드사 인증창 내 가맹점명 노출 여부 (Y:노출, N: Payletter 노출, 신용카드만 사용가능) |
[인앱 결제 연동]
공통사항
인앱 결제 연동 시 모바일 웹뷰(WebView)로 당사 결제창을 구현하고 카드사 및 기관별 결제를 위해
외부 앱을 호출할 수 있도록 처리하여야 문제없이 결제가 진행됩니다. 외부 앱 호출을 위해
앱 스킴이 추가되어야 하니 첨부 파일에서 모바일 OS에 따른 앱 스킴 값을 확인하시기 바랍니다.
●Android
외부 앱 이동 시 WebViewClient의 shouldOverrideUrlLoading() 함수 사용
1) 재정의한 shouldOverrideUrlLoading() 함수 내 @Override을 추가하지 않으면 net::ERR_UNKNOWN_URL_SCHEME
오류가 발생할 수 있음
2) 앱 설치여부 확인을 위해 startActivity() 호출 전에 패키지 정보를 조회하는 경우 설치 여부 확인 로직을
제거하고 바로 startActivity()을 호출
3) startActivity() 호출 시 ActivityNotFoundException(Message : No Activity found to handle Intent)이
발생한 경우 앱이 설치되지 않은 것으로 간주하고 앱 설치를 위해 마켓으로 이동하도록 처리
Android 11 (API 30) 에서 개발 시 유의사항
구글 보안정책에 따라서 앱의 targetSdkVersion을 30 이상으로 설정하게 되면 아래 사항을 필수로 조치해야 합니다.
1) AndroidManifest.xml 파일에 usesCleartextTraffic 속성을 true로 설정하여 net::ERR_CLEARTEXT_NOT_PERMITTED 오류 방지
2) 앱 내에서 다른 패키지 상태 확인을 위해 AndroidManifest.xml 의 queries 요소에 패키지 정의하여 가시성 확보
3) 카드사 및 백신의 패키지명은 첨부 파일을 참고하시길 바랍니다.
●ios
REST API를 통해 결제 페이지의 URL을 받으신 후 결제창을 WEBVIEW 방식을 통해 여는 방법을 사용하시면 됩니다.
웹뷰에서의 외부 앱 호출을 위해 info.plist 에 필요한 앱 스킴(App Scheme)을 등록해야 합니다.
info.plist에 앱 스킴(App Scheme)을 나열해두면 외부 앱 실행을 묻는 창이 뜨면서 자동으로 처리됩니다.
1) ios 9.0 버전 이상에서는 보안정책 강화로 LSApplicationQueriesSchemes 항목을 추가했습니다.
URL scheme을 사용해서 외부 앱을 열 경우, 화이트리스트에 등록된 scheme만 열 수 있게 하여
보안을 강화하기 위함입니다. 카드사/기관 앱을 열려면 화이트리스트 (허용 목록, info.plist)를 추가
해야 합니다.
2) ios 6.0 버전 이상에서 사파리(Safari)의 쿠키 기본설정이 항상 설정시에만 세션 유지가 가능하게 바뀌어
세션 만료 오류가 발생할 수 있습니다. 쿠키를 항상 허용으로 설정해주세요.
Response Parameters
성공시
HTTP 1.1 200 OK
{
"token" : 153438847514600001,
"online_url": "https://testpg.payletter.com/pgsvc/hub.asp?location=online&token=153438847514601",
"mobile_url": "https://testpg.payletter.com/pgsvc/hub.asp?location=mobile&token=153438847514601"
}
실패시
HTTP 1.1 401 Unauthorized
{
"code": 998,
"message": "Authentication token is missing or incorrect"
}
성공시
| Parameter | Type | Description |
|---|---|---|
| token | number | 결제 인증 토큰 |
| online_url | string | PC 환경 결제 창 호출 URL |
| mobile_url | string | Mobile 환경 결제 창 호출 URL |
실패시
| Parameter | Type | Description |
|---|---|---|
| code | number | 에러 코드 |
| message | string | 에러 메시지 |
결제 연동
결제요청 API Response로 리턴된 URL을 사용하여 결제창을 호출합니다.
사용자가 결제를 진행하면 결제요청에서 전달하신 return_url 과 callback_url (결제 성공 시만)로 결제 결과가 반환됩니다.
return_url 과 callback_url에서의 프로세스는 아래 설명을 참고하시기 바랍니다.
* 토스, 체크페이, 가상계좌는 반드시 callback_url을 연동하셔야 합니다.
Return URL
결제 결과는 Request의 POST 파라메터로 전송됩니다.
성공시
| Parameter | Type | 설명 |
|---|---|---|
| code | string | 결과 |
| message | string | 메시지 |
| user_id | string | 가맹점 결제자(회원) 아이디 |
| user_name | string | 가맹점 결제자(회원) 이름 |
| order_no | string | 가맹점 주문번호 |
| service_name | string | 결제 서비스명 |
| product_name | string | 결제 상품(컨텐츠)명 |
| custom_parameter | string | 결제요청시 가맹점에서 전송한 값 |
| tid | string | 결제고유번호 |
| cid | string | 승인번호 |
| amount | number | 결제요청 금액 |
| taxfree_amount | number | 비과세 금액 |
| tax_amount | number | 부가세 금액(세팅하지 않는 경우 (결제금액 - 비과세 금액)/11 : 소수점이하 반올림으로 자동 계산) |
| pay_info | string | 결제 부가정보 |
| pgcode | string | 결제요청한 pg명 |
| billkey | string | 자동결제 재결제용 키 |
| domestic_flag | string | 국내 / 해외 신용카드 구분 (Y : 해외, N : 국내) |
| transaction_date | string | 거래일시(YYYY-MM-DD HH:MM:SS) |
| install_month | number | 할부개월수 |
| card_info | string | 마스킹(중간6자리) 카드번호 (일반결제 (신용카드, 페이코) / 자동결제(신용카드, 페이코) 에만 전달) |
| payhash | string | 파라메터 검증을 위한 sha256 hash 값 Sha256(user_id +amount + tid +결제용 API Key) (자동결제) 결제 금액 없이 요청 시 Sha256(user_id+billkey+결제용 API Key) * 일부 결제 수단은 전달되지 않습니다.(가상계좌 등) |
| disposable_cup_deposit | number | 결제요청한 일회용 컵 보증금 |
| 가상계좌 | ||
| account_no | string | 가상계좌 번호 |
| account_name | string | 가상계좌 입금자명 |
| account_holder | string | 가상계좌 예금주명 |
| bank_code | string | 가상계좌 은행 코드 |
| bank_name | string | 가상계좌 은행명 |
| issue_tid | string | 가상계좌 채번 승인번호 |
| expire_date | string | 가상계좌 입금만료일 (ex: 20210808) |
| expire_time | string | 가상계좌 만료시각 (ex: 1130) |
| 현금영수증 | ||
| cash_receipt_code | string | 실패 코드 |
| cash_receipt_message | string | 실패 메시지 |
| cash_receipt_type | string | 거래자구분(01:소득공제용, 02:사업자지출증빙용) |
| cash_receipt_issue_type | string | 현금영수증 발행 구분(1:구매자발급, 2:자체발급) |
| cash_receipt_cid | string | 현금영수증 승인번호 |
| cash_receipt_payer_sid | string | 신분확인 번호(휴대폰번호, 사업자번호) |
| cash_receipt_deal_no | string | 현금영수증 발급시 전달받은 주문번호 |
실패시
| Parameter | Type | 설명 |
|---|---|---|
| code | string | 결과 |
| message | string | 메시지 |
| user_id | string | 가맹점 결제자(회원) 아이디 |
| order_no | string | 가맹점 주문번호 |
| service_name | string | 결제 서비스명 |
| product_name | string | 결제 상품(컨텐츠)명 |
| custom_parameter | string | 결제요청시 가맹점에서 전송한 값 |
Callback URL
{
"user_id":"test_user_id",
"user_name":"테스트",
"amount":1000,
"tax_amount":20,
"taxfree_amount":100,
"tid":"tpay_test-201808162396515",
"cid":"20180816150336996237",
"order_no":"1234567890",
"service_name":"페이레터",
"product_name":"테스트상품",
"custom_parameter":"this is custom parameter",
"transaction_date":"2018-08-16 15:03:52",
"pay_info":"0101234567",
"pgcode":"mobile",
"domestic_flag":"",
"billkey":"",
"card_info" : "457973******1234",
"payhash" : "9E078A29E6435959A07ED2E8415789234D18250434BAF2C185C2EF3012C77E92",
"disposable_cup_deposit" : 0,
"method_info" : "",
"coupon_amount" : 0,
"receipt_possible_amount" : 0,
"cash_receipt":
{
"code":"결과",
"message":"메시지",
"cid":"현금영수증 승인번호",
"deal_no":"현금영수증 발급시 주문번호",
"issue_type":"현금영수증 발행 구분",
"payer_sid":"신분확인 번호",
"type":"거래자구분"
}
}
결제가 성공한 경우에만 결제 결과가 json형태로 제공되며,
ReturnUrl의 데이터와 함께 추가로 전달 되는 Callback Url의 내용은 아래와 같은 형태로 제공됩니다.
| Parameter | Type | 설명 |
|---|---|---|
| method_info | string | 복합결제 (예: 신용카드+ (충전)포인트) 시 메인 결제 수단 (적용결제 수단: 네이버페이, 카카오페이, SSG페이, 페이코, 토스) 예) navercard : card navermoney : money kakaocard : card kakaomoney : money ssgpaycms : cms ssgpaycard : card ssgpaymoney : money tosscard : card tosspoint : money payco : 결제 후 타입에 따라 지정 |
| coupon_amount | number | 쿠폰 금액 (페이코만 적용) |
| receipt_possible_amount | number | SSG페이, 네이버페이에서 충전형 포인트에 대한 현금영수증 발급가능 금액 |
| cash_receipt | object | |
| └ code | string | 결과 |
| └ message | string | 메시지 |
| └ cid | string | 현금영수증 승인번호 |
| └ deal_no | string | 현금영수증 발급시 주문번호 |
| └ issue_type | string | 현금영수증 발행 구분 |
| └ payer_sid | string | 신분확인 번호 |
| └ type | string | 거래자구분 |
전달받은 Callback URL 을 통해서 결과값을 받아서 가맹점에 맞는 충전, 구매 등의 로직을 수행하도록 합니다.
Callback URL에서 처리 완료 후 성공시 아래 json 문자 열을 출력해 주시기 바랍니다.
{"code":0, "message":"실패시 실패 사유"}
code 는 성공시 0, 실패시 0이 아닌 다른 값을 전달해 주시면 됩니다.
code 가 0이 아닌 경우에는 통보가 실패한 것으로 간주되어 5분마다 최대 20번까지 재 전송됩니다.
발송 내역은 가맹점 관리자 사이트(https://manager.payletter.com)에 로그인 후
조회/취소->노티실패내역조회 메뉴에서 확인이 가능합니다.
Return Url / CallBack Url로 전달된 파라메터는 위/변조 방지를 위하여
sha256 hash 값을 생성한 후 전달된 payhash 와 비교 검증을 수행하시기 바랍니다.
[return_url과 callback_url 처리 방식 안내][return_url] return_url은 페이지 이동 방식으로 동작하기 때문에 결제자의 단말 환경이나 네트워크 상태의 영향을 받을 수 있습니다. 따라서, 다음과 같은 상황이 발생할 수 있습니다. - return_url 수신 전에 결제자가 결제 창을 종료하거나 새로고침할 가능성이 있음 - 네트워크 환경에 따라 return_url 전송이 원활하지 않을 수 있음 이에 따라 결제 완료 후 가맹점의 재화 지급 및 주요 비즈니스 로직은 callback_url을 통해 처리할 것을 권장드립니다. [callback_url] 결제가 성공한 경우에만 결제 결과가 전송됩니다. 가맹점과 페이레터 간 거래 불일치 가능성을 최소화할 수 있습니다. 서버 간 통신(Server-to-Server) 방식으로 이루어지므로 네트워크 문제나 단말 환경의 영향을 받지 않아 보다 안정적인 데이터 수신이 가능합니다. [처리 권장 사항] callback_url과 return_url은 각각 독립적인 로직으로 처리하는 것이 안정적입니다. callback_url이 먼저 처리되지만, 네트워크 환경에 따라 수신 순서는 변동될 수 있으므로 두 URL을 개별적으로 처리하시길 권장드립니다. |
자동결제
자동결제는 1회 결제 이후 가맹점에서 원하는 시점에 결제 요청 및 처리 되는 방식입니다.
1.자동결제 등록 요청
자동결제는 결제요청 API (v1.0/payments/request)로 요청할 수 있고 autopay_flag 파라메터로
자동결제 요청 여부를 설정합니다.
2.자동결제 빌키(billkey) 발급
자동결제 승인 용도의 빌키(billkey)가 발급됩니다.
3.자동결제 승인 요청
가맹점에서 자동결제 승인이 필요한 시점에 빌키(billkey)로 자동결제 API (v1.0/payments/autopay)를
통해 승인 요청을 할 수 있습니다.
테스트 가맹점 정보
자동결제 테스트는 아래의 가맹점 아이디 및 API Key로 테스트 가능합니다
| Parameter | Value |
|---|---|
| 가맹점 아이디 | auto_test |
| API Key (PAYMENT) | NDBBREM2RjhEMENBQ0ZGODZDNkEyNEQxQUIxRTY5QUE= |
| API Key (SEARCH) | QjBCMjZBNUNBMEMzRDVDNzY2NkQ2OTU3QzFEQkM2QkY= |
[결제 금액 없이 요청]
결제 없이 자동결제 등록을 원할 경우 amount에 ‘0원’으로 결제 요청을 할 수 있습니다.
자동결제 빌키까지만 발급되고, 빌키를 이용해 자동결제 승인 요청을 할 수 있습니다.
실결제가 발생하지 않아 callback_url로 결제 데이터를 전송하지 않습니다.
파라메터 검증을 위한 sha256 hash 값은 Sha256(user_id+billkey+결제용 API Key) 입니다.
당사의 내부 설정 후 연동 가능하므로 영업 담당자와 별도의 상의가 필요합니다
테스트 가맹점 정보
결제 금액 없이 요청 테스트는 아래의 가맹점 아이디 및 API Key로 테스트 가능합니다.
| Parameter | Value |
|---|---|
| 가맹점 아이디 | auto_test1 |
| API Key (PAYMENT) | NUMzRDJFQzVERkRBNTQzQjY1MkUzMTQ3NThFREU2Mzg= |
| API Key (SEARCH) | QUI4MUEyOEYxQTZFMTAxQjE4NjY3M0I5MjBDMzk1OEM= |
자동결제 승인
자동결제 요청 시 전달받은 빌키(billkey)를 설정하여 2회차 이후 부터 승인 요청을 할 수 있습니다.
[휴대폰 자동결제 승인 정책]
1.매월 동일한 금액 및 일자에 결제 요청이 발생해야 정상적으로 결제가 처리됩니다.
2.첫 결제 후 1개월(약 30일) 이후에 재결제 요청이 가능합니다.
3.전월에 결제 내역이 없다면 자동결제를 신청 할 수 없습니다.
요청
POST /v1.0/payments/autopay HTTP/1.1
Host: testpgapi.payletter.com
Authorization: PLKEY MTFBNTAzNTEwNDAxQUIyMjlCQzgwNTg1MkU4MkZENDA=
Content-Type: application/json
{
"pgcode" : "mobile",
"client_id":"pay_test",
"service_name":"페이레터",
"user_id":"test_user_id",
"user_name":"테스터",
"order_no":"1234567890",
"amount":1000,
"taxfree_amount": 100,
"tax_amount": 20,
"product_name":"테스트상품",
"billkey":"tbpay_test201801012359590002",
"ip_addr":"127.0.0.1"
}
Key Type
PAYMENT
HTTP Request
POST v1.0/payments/autopay
Request Parameters
| Parameter | Default | Type | Size | Description |
|---|---|---|---|---|
| pgcode | 필수 | string | 20 | 결제수단 코드(첨부7.1) |
| client_id | 필수 | string | 20 | 가맹점 아이디 |
| service_name | string | 20 | 결제 서비스명 | |
| user_id | 필수 | string | 50 | 가맹점 결제자(회원) 아이디(email, 영문 및 숫자 가능) |
| user_name | string | 20 | 가맹점 결제자(회원) 이름 | |
| order_no | string | 50 | 가맹점 주문번호 (영문 및 숫자 형식만 사용) | |
| amount | 필수 | number | 결제 금액 | |
| taxfree_amount | number | 비과세 금액 | ||
| tax_amount | number | 부가세 금액(세팅하지 않는 경우 (결제금액 - 비과세 금액)/11 : 소수점 이하 반올림으로 자동 계산) | ||
| product_name | 필수 | string | 100 | 결제 상품(컨텐츠)명 (<, > ,캐리지 리턴(\n) 등의 제어문자 사용불가) |
| billkey | 필수 | string | 40 | 자동결제 재결제용 키(자동결제 첫 회차 응답 파라메터) |
| ip_addr | 필수 | string | 30 | 요청 아이피 |
| disposable_cup_deposit | number | 일회용 컵 보증금(*특정 결제 수단 사용 가능, 부분 취소 불가) *특정 결제 수단 : 신용카드, 카카오페이 |
Response Parameters
성공시
HTTP 1.1 200 OK
{
"tid" :"tpay_test201801012359590003",
"cid":"123456",
"amount":1000,
"billkey":"tbpay_test201801012359590002",
"transaction_date":"2018-01-01 23:59:59"
}
실패시
HTTP 1.1 401 Unauthorized
{
"code": 998,
"message": "Authentication token is missing or incorrect"
}
성공시
| Parameter | Type | Description |
|---|---|---|
| tid | string | 결제 고유 번호 |
| cid | string | 승인번호 |
| amount | number | 결제 금액 |
| billkey | string | 자동결제 재결제용 키 |
| transaction_date | string | 거래 일시(yyyy-MM-dd hh:mm:ss) |
실패시
| Parameter | Type | Description |
|---|---|---|
| code | number | 에러 코드 |
| message | string | 에러 메시지 |
결제 취소
요청
POST /v1.0/payments/cancel HTTP/1.1
Host: testpgapi.payletter.com
Authorization: PLKEY MTFBNTAzNTEwNDAxQUIyMjlCQzgwNTg1MkU4MkZENDA=
Content-Type: application/json
{
"pgcode" : "mobile",
"client_id":"pay_test",
"user_id":"test_user_id",
"tid":"tpay_test2018010123595900001",
"ip_addr":"127.0.0.1"
}
Key Type
PAYMENT
HTTP Request
POST v1.0/payments/cancel
Request Parameters
| Parameter | Default | Type | Size | Description |
|---|---|---|---|---|
| pgcode | string | 20 | 결제수단 코드 첨부 참조 | |
| client_id | 필수 | string | 20 | 가맹점 아이디 |
| user_id | 필수 | string | 50 | 가맹점 결제자(회원) 아이디(email, 영문 및 숫자 가능) |
| tid | 필수 | string | 40 | 결제 고유 번호 |
| ip_addr | 필수 | string | 30 | 요청 아이피 |
Response Parameters
성공시
HTTP 1.1 200 OK
{
"tid" :"tpay_test201801012359590003",
"cid":"123456",
"amount":1000,
"cancel_date":"2018-01-01 23:59:59"
}
실패시
HTTP 1.1 401 Unauthorized
{
"code": 998,
"message": "Authentication token is missing or incorrect"
}
성공시
| Parameter | Type | Description |
|---|---|---|
| tid | string | 결제 고유 번호 |
| cid | string | 승인번호 |
| amount | number | 취소 금액 |
| cancel_date | string | 취소일시(YYYY-MM-DD HH:MM:SS) |
실패시
| Parameter | Type | Description |
|---|---|---|
| code | number | 에러 코드 |
| message | string | 에러 메시지 |
부분 취소
일부 결제수단만 부분 취소가 가능합니다.
부분 취소가 가능한 결제수단 및 기능 사용 관련 문의는 영업 담당자에게 연락해 주십시오.
요청
POST /v1.0/payments/cancel/partial HTTP/1.1
Host: testpgapi.payletter.com
Authorization: PLKEY MTFBNTAzNTEwNDAxQUIyMjlCQzgwNTg1MkU4MkZENDA=
Content-Type: application/json
{
"pgcode" : "mobile",
"client_id":"pay_test",
"user_id":"test_user_id",
"tid":"tpay_test2018010123595900001",
"amount" : 1000,
"taxfree_amount": 100,
"tax_amount": 20,
"ip_addr":"127.0.0.1"
}
Key Type
PAYMENT
HTTP Request
POST v1.0/payments/cancel/partial
Request Parameters
| Parameter | Default | Type | Size | Description |
|---|---|---|---|---|
| pgcode | 필수 | string | 20 | 결제수단 코드 첨부 참조 |
| client_id | 필수 | string | 20 | 가맹점 아이디 |
| user_id | 필수 | string | 50 | 가맹점 결제자(회원) 아이디(email, 영문 및 숫자 가능) |
| tid | 필수 | string | 40 | 결제 고유 번호 |
| amount | 필수 | number | 부분 취소 금액 | |
| taxfree_amount | number | 비과세 금액 | ||
| tax_amount | number | 부가세 금액(세팅하지 않는 경우 (결제금액 - 비과세 금액)/11 : 소수점이하 반올림으로 자동 계산) | ||
| ip_addr | 필수 | string | 30 | 요청 아이피 |
Response Parameters
성공시
HTTP 1.1 200 OK
{
"tid" :"tpay_test201801012359590003",
"cid":"123456",
"amount":1000,
"cancel_date":"2018-01-01 23:59:59"
}
실패시
HTTP 1.1 401 Unauthorized
{
"code": 998,
"message": "Authentication token is missing or incorrect"
}
성공시
| Parameter | Type | Description |
|---|---|---|
| tid | string | 결제 고유 번호 |
| cid | string | 승인번호 |
| amount | number | 취소 금액 |
| cancel_date | string | 취소 일시(yyyy-MM-dd hh:mm:ss) |
실패시
| Parameter | Type | Description |
|---|---|---|
| code | number | 에러 코드 |
| message | string | 에러 메시지 |
결제 내역 조회
요청
GET /v1.0/payments/transaction/list?client_id=pay_test&date=20180918&date_type=transaction HTTP/1.1
Host: testpgapi.payletter.com
Authorization: PLKEY MUI3MjM0RUExQTgyRDA1ODZGRDUyOEM4OTY2QTVCN0Y=
Key Type
SEARCH
HTTP Request
GET v1.0/payments/transaction/list
Request Parameters
| Parameter | Default | Type | Size | Description |
|---|---|---|---|---|
| client_id | 필수 | string | 20 | 가맹점 아이디 |
| date | 필수 | string | 8 | 조회 일자 |
| date_type | 필수 | string | 20 | transaction : 결제일 기준, settle : 결제/취소일 기준 |
| pgcode | string | 20 | 사용 결제 수단 코드 | |
| order_no | string | 50 | 주문번호 |
date_type : 거래상태 조회 기준
transaction : 결제일 기준
결제일 기준으로 검색된 거래 건으로 현재기준 정상 또는 취소 내역 추출 (예: 취소된 건은 취소건 1건으로 추출됨)
settle : 결제/취소일 기준
결제일 기준의 승인내역과, 취소일 기준의 취소 내역 추출 (예: 취소된 건은 결제일의 승인건 1건, 취소일의 취소건 1건으로 추출됨)
Response Parameters
성공시
HTTP 1.1 200 OK
{
"total_count": 2,
"list": [
{
"pgcode": "oncash",
"user_id": "test_user_id",
"user_name": "테스터",
"tid": "tpay_test-201809142506687",
"cid": "2506686",
"amount": 1000,
"taxfree_amount": 100,
"tax_amount": 20,
"order_no": "1234567890",
"product_name": "테스트상품",
"status_code": 1,
"transaction_date": "2018-09-14 17:25:36",
"cancel_date": "2018-09-18 09:52:29"
},
{
"pgcode": "mobile",
"user_id": "test_user_id",
"user_name": "테스터",
"tid": "tpay_test-201809182509659",
"cid": "20180918095312998861",
"amount": 100,
"taxfree_amount": 100,
"tax_amount": 20,
"order_no": "1234567890",
"product_name": "테스트상품",
"status_code": 2,
"transaction_date": "2018-09-18 09:53:25",
"cancel_date": "2018-09-18 09:54:01"
}
]
}
실패시
HTTP 1.1 401 Unauthorized
{
"code": 998,
"message": "Authentication token is missing or incorrect"
}
성공시
| Parameter | Type | Description |
|---|---|---|
| total_count | number | 전체 조회건수 |
| list | JSON Array | |
| pgcode | string | 사용 결제 수단 코드 |
| user_id | string | 가맹점의 결제자 아이디 |
| user_name | string | 가맹점의 결제자 명 |
| tid | string | 결제고유번호 |
| cid | string | 승인 번호 |
| amount | number | 결제금액 (취소 상태인 경우 취소 금액) |
| taxfree_amount | number | 비과세 금액 |
| tax_amount | number | 부가세 금액(세팅하지 않는 경우 (결제금액 - 비과세 금액)/11 : 소수점이하 반올림으로 자동 계산) |
| order_no | string | 가맹점 주문번호 |
| product_name | string | 상품(컨텐츠)명 |
| status_code | number | 상태(0:승인, 1:전체취소, 2:부분 취소) |
| transaction_date | string | 결제 일시 |
| cancel_date | string | 취소 일시 |
실패시
| Parameter | Type | Description |
|---|---|---|
| code | number | 에러 코드 |
| message | string | 에러 메시지 |
파트너 결제 내역 조회
요청
GET /v1.0/payments/partner/transaction/list?client_partner_id=ptnrsktet&date=20250825&date_type=transaction HTTP/1.1
Host: testpgapi.payletter.com
Authorization: PLKEY MUI3MjM0RUExQTgyRDA1ODZGRDUyOEM4OTY2QTVCN0Y=
Key Type
SEARCH
HTTP Request
GET v1.0/payments/partner/transaction/list
Request Parameters
| Parameter | Default | Type | Size | Description |
|---|---|---|---|---|
| client_partner_id | 필수 | string | 20 | 파트너 가맹점 아이디 |
| date | 필수 | string | 8 | 조회 일자 |
| date_type | 필수 | string | 20 | transaction : 결제일 기준, settle : 결제/취소일 기준 |
| pgcode | string | 20 | 사용 결제 수단 코드 | |
| order_no | string | 50 | 주문번호 |
date_type : 거래상태 조회 기준
transaction : 결제일 기준
결제일 기준으로 검색된 거래 건으로 현재기준 정상 또는 취소 내역 추출 (예: 취소된 건은 취소건 1건으로 추출됨)
settle : 결제/취소일 기준
결제일 기준의 승인내역과, 취소일 기준의 취소 내역 추출 (예: 취소된 건은 결제일의 승인건 1건, 취소일의 취소건 1건으로 추출됨)
Response Parameters
성공시
HTTP 1.1 200 OK
{
"total_count": 17,
"list": [
{
"pgcode": "creditcard",
"user_id": "test_user_id",
"user_name": "테스터",
"tid": "tpay_test-202508257865182",
"cid": "7865181",
"amount": 1000,
"taxfree_amount": 0,
"tax_amount": 20,
"order_no": "1234567890",
"product_name": "테스트 상품",
"status_code": 0,
"transaction_date": "2025-08-25 10:06:07",
"cancel_date": null,
"company_regnum": "114-86-05588",
"cat_id": "DPT0Q12738",
"card_no": "51184*******0475",
"allot_period": "00",
"card_kind": "테스트카드",
"iss_van_card_code": "03",
"acq_van_card_code": "03",
"card_cpid": "00982863011",
"check_card_flag": 0
},
{
"pgcode": "creditcard",
"user_id": "1242049933",
"user_name": "",
"tid": "tpay_test-202508257865340",
"cid": "7865339",
"amount": 1000,
"taxfree_amount": 0,
"tax_amount": 91,
"order_no": "1756085811971",
"product_name": "[50 엘] 1개",
"status_code": 0,
"transaction_date": "2025-08-25 10:38:03",
"cancel_date": null,
"company_regnum": "114-86-05588",
"cat_id": "DPT0Q23201",
"card_no": "40201*******8902",
"allot_period": "00",
"card_kind": "테스트카드",
"iss_van_card_code": "08",
"acq_van_card_code": "08",
"card_cpid": "860554303",
"check_card_flag": 0
},
....
]
}
실패시
HTTP 1.1 401 Unauthorized
{
"code": 998,
"message": "Authentication token is missing or incorrect"
}
성공시
| Parameter | Type | Description |
|---|---|---|
| total_count | number | 전체 조회건수 |
| list | JSON Array | |
| pgcode | string | 사용 결제 수단 코드 |
| user_id | string | 가맹점의 결제자 아이디 |
| user_name | string | 가맹점의 결제자 명 |
| tid | string | 결제고유번호 |
| cid | string | 승인 번호 |
| amount | number | 결제금액 (취소 상태인 경우 취소 금액) |
| taxfree_amount | number | 비과세 금액 |
| tax_amount | number | 부가세 금액(세팅하지 않는 경우 (결제금액 - 비과세 금액)/11 : 소수점이하 반올림으로 자동 계산) |
| order_no | string | 가맹점 주문번호 |
| product_name | string | 상품(컨텐츠)명 |
| status_code | number | 상태(0:승인, 1:전체취소, 2:부분 취소) |
| transaction_date | string | 결제 일시 |
| cancel_date | string | 취소 일시 |
| company_regnum | string | 사업자번호 |
| cat_id | string | 단말기번호 |
| card_no | string | 카드번호(마스킹) |
| allot_period | string | 할부개월 |
| card_kind | string | 카드종류 |
| iss_van_card_code | string | 발급사코드 |
| acq_van_card_code | string | 매입사코드 |
| card_cpid | string | 가맹점번호 |
| check_card_flag | number | 체크카드 유무(1:체크카드, 0:그외) |
실패시
| Parameter | Type | Description |
|---|---|---|
| code | number | 에러 코드 |
| message | string | 에러 메시지 |
현금영수증 발급
요청
POST /v1.0/cashreceipt/issue/tpay_test-201904097449610 HTTP/1.1
Host: testpgapi.payletter.com
Authorization: PLKEY MTFBNTAzNTEwNDAxQUIyMjlCQzgwNTg1MkU4MkZENDA=
Content-Type: application/json
{
"client_id":"pay_test",
"type":"0",
"tax_flag":"N",
"return_url":"https://testpg.payletter.com/result"
}
Key Type
PAYMENT
HTTP Request
POST v1.0/cashreceipt/issue/{tid}
Request Parameters
| Parameter | Default | Type | Size | Description |
|---|---|---|---|---|
| client_id | 필수 | string | 20 | 가맹점 아이디 |
| type | string | 1 | 용도 (0:사용자가 선택, 1:소득공제용, 2:지출증빙용) | |
| tax_flag | string | 1 | 부가세 포함 여부 (N:포함, Y:미포함) | |
| return_url | 필수 | string | 256 | 발급 완료 후 연결할 웹 페이지 URL |
Response Parameters
성공시
HTTP 1.1 200 OK
{
"receipt_url" :"https://testpg.payletter.com/PGSVC/Receipt/ReceiptForm.asp?id=tpay_test-201904097449610&type=1&taxflag=N&returnurl=https://testpg.payletter.com/result&token=155494822989700006"
}
실패시
HTTP 1.1 401 Unauthorized
{
"code": 998,
"message": "Authentication token is missing or incorrect"
}
성공시
| Parameter | Type | Description |
|---|---|---|
| receipt_url | string | 현금영수증 발급 페이지 URL |
실패시
| Parameter | Type | Description |
|---|---|---|
| code | number | 에러 코드 |
| message | string | 에러 메시지 |
거래 상태 조회
요청
POST /v1.0/payments/status HTTP/1.1
Host: testpgapi.payletter.com
Authorization: PLKEY MTFBNTAzNTEwNDAxQUIyMjlCQzgwNTg1MkU4MkZENDA=
Content-Type: application/json
{
"client_id":"pay_test",
"order_no":"pay_test2023118164578"
}
Key Type
PAYMENT
HTTP Request
POST v1.0/payments/status
Request Parameters
| Parameter | Default | Type | Size | Description |
|---|---|---|---|---|
| client_id | 필수 | string | 20 | 가맹점 아이디 |
| order_no | 필수 | string | 50 | 가맹점 주문번호 |
Response Parameters
성공시
HTTP 1.1 200 OK
{
"code" :0,
"message":"ok",
"client_id":"pay_test",
"order_no":"pay_test2023118164578",
"token":"170202154314200189",
"tid":"tpay_test-202312082315563",
"status_code":5
}
실패시
HTTP 1.1 401 Unauthorized
{
"code": 998,
"message": "Authentication token is missing or incorrect"
}
성공시
| Parameter | Type | Description |
|---|---|---|
| code | string | 결과 |
| message | string | 메시지 |
| client_id | string | 가맹점 아이디 |
| order_no | string | 가맹점 주문번호 |
| token | string | 결제 토큰 |
| tid | string | 결제고유번호 |
| status_code | number | 상태 코드 (1:생성, 2:진입, 3:인증, 4:실패, 5:완료) |
실패시
| Parameter | Type | Description |
|---|---|---|
| code | number | 에러 코드 |
| message | string | 에러 메시지 |
거래 내역 확인서
요청
GET /v1.0/receipt/info/tsktest1-202201039368273/?client_id=sktest1 HTTP/1.1
Host: testpgapi.payletter.com
Authorization: PLKEY NDhBNDJGNUY0QzI5RjY5NjAwMDdDREI0Q0Q4RDVGOTY=
Key Type
SEARCH
HTTP Request
GET v1.0/receipt/info/{tid}
Request Parameters
| Parameter | Default | Type | Size | Description |
|---|---|---|---|---|
| client_id | 필수 | string | 20 | 가맹점 아이디 |
Response Parameters
성공시
HTTP 1.1 200 OK
{
"receipt_url" :"https://testpg.payletter.com/PGSVC/AllTheGate/Receipt_All.asp?id=72720c6d230e662b|001|4|3230323230313230313435393434343037383664613733393939b3a96f05b2f37aea1b64c823d9cc57767510d8e0e351a4c1635cefc354af7e2a0418a9ffce0c8ecac4b7c28ceefb3a905d82ee1dcab6b3d4bc18393cb5547ba9eec2b92fe4"
}
실패시
HTTP 1.1 401 Unauthorized
{
"code": 998,
"message": "Authentication token is missing or incorrect"
}
성공시
| Parameter | Type | Description |
|---|---|---|
| receipt_url | string | 거래 내역 확인서 URL |
실패시
| Parameter | Type | Description |
|---|---|---|
| code | number | 에러 코드 |
| message | string | 에러 메시지 |
오류코드
API 요청에 대한 성공/실패 여부는 HTTP StatusCode로 확인합니다.
StatusCode 200 OK 인 경우에만 요청 처리 성공이며, 성공이 아닌 경우에는 아래 StatusCode를 참고하시기 바랍니다.
오류코드 표
| HTTP 응답 | 오류코드 | 오류메시지 | 설명 |
|---|---|---|---|
| 400 | 997 | 오류 상세 메세지 | 유효하지 않은 요청(요청 파라미터 확인 필요) |
| 401 | 998 | Authentication token is missing or incorrect. | 인증 오류 |
| 403 | 993 | Yon do not have authorization. | 인증 오류 |
| 405 | 995 | 요청된 메소드는 권한이 없습니다. | POST / GET 등 메소드 오류 |
| 406 | 2000 ~ 5000 | 오류 상세 메시지 | 비즈니스 로직 처리중 오류 |
| 500 | 999 | Internal server error | System 오류 |
첨부
PGCode 표
| PGCode | 비고 |
|---|---|
| creditcard | 신용카드 |
| banktransfer | 인터넷뱅킹(금융결제원) |
| virtualaccount | 가상계좌 |
| mobile | 휴대폰 |
| voucher | 문화상품권 |
| book | 도서상품권 |
| culture | 컬쳐랜드상품권 |
| smartculture | 스마트문상 |
| teencash | 틴캐시 |
| tmoney | 교통카드결제 |
| cvs | 편의점캐시 |
| eggmoney | 에그머니 |
| phonebill | 폰빌 |
| cashbee | 이즐 |
| kakaopay | 카카오페이 |
| payco | 페이코 |
| checkpay | 체크페이 |
| toss | 토스 |
| ssgpay | SSG페이 |
| naverpay | 네이버페이 |
| samsungpay | 삼성페이 |
| applepay | 애플페이 |
카드사 코드
| Card Code | 카드사 명 |
|---|---|
| P001 | 비씨(페이북) (BC Paybook) |
| P002 | KB Pay(국민) (Kookmin) |
| P003 | 하나 (Hana) |
| P004 | 삼성 (Samsung) |
| P005 | 신한 (Shinhan) |
| P006 | 현대 (Hyundai) |
| P007 | 롯데 (Lotte) |
| P008 | NH (Nonghyup) |
| P009 | 씨티(구.한미) (City) |
| P011 | 우리 (Woori) |
| P012 | 신협 (ShinHyup) |
| P013 | 광주 (Kwangju) |
| P014 | 전북 (JeonBuk) |
| P015 | 제주 (Jeju) |
| P016 | 우체국 (Post) |
| P017 | MG 새마을금고 (MG Community Credit Cooperatives) |
| P018 | 저축은행 (Saving Bank) |
| P019 | 카카오뱅크 (Kakao Bank) |
앱 스키마 목록
| 언어 | 샘플소스 |
|---|---|
| 안드로이드 | 다운로드 |
| iOS | 다운로드 |