계좌이체

예금계좌 기반 실시간 결제대행 서비스

소개

고객사 API 목록

고객사 API 목록
API 구분 API 리소스 경로
결제 요청 POSTv1.0/payments/request
결제 승인 POSTv1.0/payments/confirm
결제 취소 POSTv1.0/payments/cancel
전용페이 관리화면 요청
  • POST전용페이 결제수단 등록
  • POST전용페이 결제 비밀번호 수정
  • POST전용페이 결제 비밀번호 생략
  • POST전용페이 결제 비밀번호 사용
  • POST전용페이 결제수단 삭제
  • POST전용페이 결제수단 관리
  • POST전용페이 사용자 삭제
v1.0/payments/o2opay/manage
  • POSTv1.0/payments/o2opay/manage
  • POSTv1.0/payments/o2opay/manage/modify
  • POSTv1.0/payments/o2opay/manage/pwd-skip
  • POSTv1.0/payments/o2opay/manage/pws-use
  • POSTv1.0/payments/o2opay/manage/delete
  • POSTv1.0/payments/o2opay/manage/control
  • POSTv1.0/payments/o2opay/manage/delete-user
전용페이 결제 비밀번호 사용 여부 조회 GETv1.0/payments/o2opay/pwd-use
전용페이 결제수단 삭제 POSTv1.0/payments/o2opay/payment-method
전용페이 사용자 삭제 POSTv1.0/payments/o2opay/user/secession
전용페이 결제수단 목록 조회 GETv1.0/payments/info/payment-method-list
환불용 전용페이 계좌 조회 GETv1.0/payments/o2opay/pybk-acct
현금영수증 발행(발급취소) POSTv1.0/cashreceipt/issue/{tid}
현금영수증 발행 확인 GETv1.0/cashreceipt/issue-info
거래 확인서 GETv1.0/receipt/info/{tid}
결제 거래정보 조회 GETv1.0/payments/confirm-info
PG약관 조회 GETv1.0/payments/info/terms-info-list

*고객사 API의 미디어 타입은 “content-type application/json” 입니다.

고객사 API 정의

결제 요청

고객사 결제 요청 용 API 입니다. 최소 승인 금액은 일반카드, 전용페이카드 100원, 계좌이체 1원, 제로페이 1원이며, 해당 금액 미만의 결제 요청은 처리되지 않습니다. API 요청

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/payments/request POST Authorization: SPGKEY {API Key} payment

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
공통필수영역
pgcode 필수 string 10 결제수단 코드(5. 결제수단 & 오류코드 참조)
client_id 필수 string 10 고객사 아이디
user_id 필수 string 50 고객사 사용자(회원) 아이디(이메일, 영문 및 숫자 가능)
user_name 필수 string 20 고객사 사용자(회원) 명
order_no 필수 string 50 고객사 주문번호
pay_type 필수 number   결제 유형 (1: 단일 결제, 2: 복합 일반, 3: 복합 전용)
device_type 필수 number   (결제 요청)기기 유형 (1: 모바일, 2: PC)
amount 필수 number   (결제 상품)금액
*(결제 요청) 컵반환 보증금이 있는 경우 상품금액에 더하여 호출합니다.
예) 총금액 10,000원, 컵반환 보증금 300원
-> amount : 10,300원으로 설정
*(결제 요청) 선불전자결제수단 금액이 있는 경우 상품금액에서 제외하여 호출합니다.
예) 총금액 10,000원, 선불전자결제 : 2,000원
-> amount : 8,000원으로 설정
product_name 필수 string 50 (결제)상품 명
return_url 필수 string 255 결제 인증 결과 수신 및 결제 승인 API를 호출하는 고객사 URL
cancel_url 필수 string 255 결제 취소 시 이동하는 고객사 URL
fail_url 필수 string 255 결제 실패 시 이동하는 고객사 URL
param_ispt_hash 필수 string 1000 파라메터 검증 해시
*고객사 요청 파라미터 검증을 위한 sha256 hash 값을 의미하며, "sha256(client_id + user_id + order_no + pay_type + amount + payment API Key)" 조합으로 생성된다.
공통부가영역
user_ci 선택적 필수 string 88 고객사 사용자 CI(Connecting information)
*제로페이 최초 사용자를 위한 본인인증 시, 고객사에서 전달한 user_ci, mobile_no와 휴대폰 본인인증 결과가 다를 경우, 제로페이 회원 등록이 불가합니다.
*지역화폐 단일 결제 요청 시 필수 값 입니다.
*결제수단이 shpay일 때 필수 값 입니다.
*핏콜라보 결제 요청 시 필수 값 입니다.
taxfree_amount   number   비과세 금액
*(결제 요청)금액이 모두 비과세액인 경우, amount, taxfree_amount 모두 동일한 값을 설정하여야 합니다.
예) (결제 요청)금액 1,000원 모두 비과세 금액인 경우
→ amount, taxfree_amount 모두 1,000원 설정
*(결제 요청)금액 중 일부가 비과세 금액인 경우, 해당 금액만 taxfree_amount에 설정하여야 합니다.
예) (결제 요청)금액 1,000원중 비과세 금액이 100원인 경우
→ amount 1,000원, taxfree_amount 100원 설정
tax_amount   number   부가세 금액
*요청 파라미터 값이 없으면,
((amount - taxfree_amount - cup_return_deposit) / 11) 계산식을 적용, 소수점 이하 반올림으로 자동 계산합니다.
cup_return_deposit   number   컵반환보증금
card_cpny_cd 선택적 필수 string   카드사 코드
* 6.1 카드사 코드 참조
* 일반 신용카드 결제 시 고객사 화면에서 카드사를 선택하여 결제 요청시 필수 값 입니다.
install_month   string 2 할부 개월수(00~12)
* 다이렉트 결제 요청시 필수 값 입니다.
*핏콜라보 결제 요청 시 필수 값 입니다.
inst_type 선택적 필수 number   할부 타입
1: 일반,
2: 무이자,
3: 청구할인5%일반
4: 청구할인5%무이자
5: 청구할인7%일반
6: 청구할인7%무이자
7: 청구할인10%일반
8: 청구할인 10%무이자
*핏콜라보 결제 요청 시 필수 값 입니다.
email_flag   string 1 (결제)메일 수신 여부 (Y: 사용, N: 미사용)
*기본 값은 "N: 미사용" 입니다.
email_addr   string 50 (결제)메일 수신 주소
*email_flag 'Y'인 경우에만 사용합니다.
main_color   string 6 PG 결제 화면 메인 색상 코드
*기본값은 FFFFFF
point_color   string 6 PG 결제 화면 포인트 색상 코드
*기본값은 5379FF
custom_parameter   string 1000 고객사 전용 값을 의미하며, 암호화를 권장합니다.
*결제 요청 시 고객사에서 필요한 고객, 주문, 기타 등 정보를 전달하면, 그 값 그대로 고객사 return_url로 반환합니다.
mobile_no 선택적 필수 string 11 사용자 휴대폰 번호
*지역화폐 단일 결제 요청 시 필수 값 입니다.
*가상계좌일 때 선택 값 입니다.
card_purpost_type 선택적 필수 number   카드 용도 유형 (1: 일반 신용카드, 2: 프로모션 일반 신용카드, 3: 비인증 신용카드, 4: 환금성 신용카드)
*기본값은 1
app_return_url 선택적 필수 string 100 일반 신용카드(ISP) 결제 이후 이동할 고객사 앱 스키마 정보
*모바일 앱의 일반 신용카드 결제 요청 시 필수 값 입니다.
app_cancel_url 선택적 필수 string 100 일반 신용카드(ISP) 결제 진행 중단 시 이동할 고객사 앱 스키마 정보
*모바일 앱의 일반 신용카드 결제 요청 시 필수 값 입니다.
전용페이전용
bill_key 선택적 필수 string 50 빌 키 (전용페이 결제수단 등록 시 발급되는 고유 식별 정보)
*전용페이 결제 요청 시 필수 값 입니다.
(단 결제수단이 shpay일때는 필수 아님)
*"전용페이 결제수단 목록 조회 API"의 응답 중 "빌 키" 항목입니다. 예로, 2개의 신용카드, 1개의 은행계좌를 전용페이로 등록한 사용자는 총 3개의 빌 키를 응답 받습니다.
현금영수증전용
cash_rcpt_pub_type   number   현금 영수증 발행 유형 (1: 소득공제용, 2: 지출증빙용)
*해당 요청 파라미터와 현금 영수증 발행 번호 유형, 현금 영수증 발행 번호 파라미터들의 값이 있으면 전용페이 계좌/가상계좌 결제 승인 이후 해당 정보들로 현금영수증을 발행 처리합니다. 만약 해당 요청 값들이 없으면 자진 발급번호로 발행 처리합니다.
cash_rcpt_pub_no_type   number   현금 영수증 발행 번호 유형 (1: 휴대폰번호, 2: 사업자번호, 3: 자진발급 등 기타)
*해당 요청 파라미터와 현금 영수증 발행 유형, 현금 영수증 발행 번호 파라미터들의 값이 있으면 전용페이 계좌/가상계좌 결제 승인 이후 해당 정보들로 현금영수증을 발행 처리합니다. 만약 해당 요청 값들이 없으면 자진 발급번호로 발행 처리합니다.
cash_rcpt_pub_no   string 20 현금 영수증 발행 번호 (*발행 유형 "소득공제"는 휴대폰번호, “지출증빙"은 사업자 번호, 발행 유형 “자진 발급”은 국세청 지정 코드 "010-000-1234”을 발행 번호로 자체 발급 처리)
*해당 요청 파라미터와 현금 영수증 발행 유형, 현금 영수증 발행 번호 유형 파라미터들의 값이 있으면 전용페이 계좌/가상계좌 결제 승인 이후 해당 정보들로 현금영수증을 발행 처리합니다. 만약 해당 요청 값들이 없으면 자진 발급번호로 발행 처리합니다.

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
redirect_url string 1000 (결제용)웹 화면
*PG 웹 화면 접근 후 redirect_url token은 다시 사용할 수 없습니다.

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "redirect_url": "https://devpayapispg.shinhan.com/pgsvc/pay?token=2021083110239001duf.." // (결제 인증용)웹 화면
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

통합결제창용 결제 요청

개인/법인용 통합결제창 결제 호출 용 API 입니다. 최소 승인 금액은 일반카드, 전용페이카드 100원, 계좌이체 1원이며, 해당 금액 미만의 결제 요청은 처리되지 않습니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/payments/request POST Authorization: SPGKEY {API Key} payment

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
공통(개인/법인)필수영역
pgcode 필수 string 10 결제수단 코드(개인: selpay / 법인: bizselpay)
client_id 필수 string 10 고객사 아이디
user_id 필수 string 50 고객사 사용자(회원) 아이디(이메일, 영문 및 숫자 가능)
user_name 필수 string 20 고객사 사용자(회원) 명
order_no 필수 string 50 고객사 주문번호
pay_type 필수 number   결제 유형 (1: 단일 결제)
device_type 필수 number   기기 유형.
1: 모바일(개인),
2: PC(개인/법인)
amount 필수 number   금액
*컵반환 보증금이 있는 경우 상품금액에 더하여 호출합니다. 예) 총금액 10,000원, 컵반환 보증금 300원 -> amount : 10,300원으로 설정 법인대출연계에 사용될 때는 일시지급일때는 총구매금액(100%), 잔금지급일때는 지원신청금액(70%)
product_name 필수 string 50 (결제)상품 명
param_ispt_hash 필수 string 1000 파라메터 검증 해시
*고객사 요청 파라미터 검증을 위한 sha256 hash 값을 의미하며, "sha256(client_id + user_id + order_no + pay_type + amount + payment API Key)" 조합으로 생성된다.
법인대출연계요청영역 (법인대출연계시 필수)
buyr_bizr_no 선택적 필수 string 10 구매자 사업자 번호
dpst_req_no 선택적 필수 string 8 입금요청번호
clnt_pay_clf_cd 선택적 필수 string 6 결제 구분
SGLPAY: 일시지급(선수금없음)
RMDPAY: 잔금지급(선수금대상)
req_amt 선택적 필수 number 13 지원신청금액(원)
대출금액으로 기본 70% 신한 은행 여신 기준에 맞춰 천원 단위로 절사 처리 필요
(로직 제공, 금액이 안 맞는 경우 처리결과 ‘F’ 리턴, 고객부담금에 나머지 금액 추가)
chrg_amt 선택적 필수 number 13 고객부담금액(원)
tot_tx_amt 선택적 필수 number 13 총구매금액(원)
pay_amt 선택적 필수 number 13 결제요청금액(원)
일시지급일때는 총구매금액(100%), 잔금지급일때는 지원신청금액(70%)
clnt_tx_clf_cd 선택적 필수 string 6 거래 구분 (고객사거래구분코드)
고객사결제구분코드 (GNR: 일반거래 / IMPL: 전용거래)
cncl_yn 선택적 필수 string 1 취소 여부
주문취소 건인 경우 취소 여부(‘Y’)와 PK정보(사업자 번호, 입금요청번호)만 전송
clnt_tx_ymd 선택적 필수 string 8 낙찰일 (고객사 거래일자)
seller_name 선택적 필수 string 20 판매사명
플랫폼이 판매사인 경우 플랫폼명
오픈마켓 : 판매자
email_addr   string 50 고객이메일
고객의 이메일 주소입니다. 결제 결과를 알려줄 때 사용합니다
mobile_no   string 13 고객휴대폰번호
고객의 휴대폰 번호입니다. 가상계좌 입금 안내가 전송되는 번호 입니다.
개인부가영역
taxfree_amount   number   비과세 금액
*금액이 모두 비과세액인 경우, amount, taxfree_amount 모두 동일한 값을 설정하여야 합니다.
예) 금액 1,000원 모두 비과세 금액인 경우
→ amount, taxfree_amount 모두 1,000원 설정
*금액 중 일부가 비과세 금액인 경우, 해당 금액만 taxfree_amount에 설정하여야 합니다.
예) (결제 요청)금액 1,000원중 비과세 금액이 100원인 경우
→ amount 1,000원, taxfree_amount 100원 설정
tax_amount   number   부가세 금액
*요청 파라미터 값이 없으면,
((amount - taxfree_amount - cup_return_deposit) / 11) 계산식을 적용, 소수점 이하 반올림으로 자동 계산합니다.
cup_return_deposit   number   컵반환보증금
email_flag   string 1 (결제)메일 수신 여부 (Y: 사용, N: 미사용)
*기본 값은 "N: 미사용" 입니다.
email_addr   string 50 (결제)메일 수신 주소
*email_flag 'Y'인 경우에만 사용합니다.
custom_parameter   string 1000 고객사 전용 값을 의미하며, 암호화를 권장합니다.
*결제 요청 시 고객사에서 필요한 고객, 주문, 기타 등 정보를 전달하면, 그 값 그대로 고객사 return_url로 반환합니다.
mobile_no   string 11 사용자 휴대폰 번호
card_purpost_type 선택적 필수 number   카드 용도 유형 (1: 일반 신용카드, 2: 프로모션 일반 신용카드, 3: 비인증 신용카드, 4: 환금성 신용카드)
*기본값은 1
통합결제창(개인)전용
user_ci 필수 string 88 고객사 사용자 CI(Connecting information)
main_color   string 6 PG 결제 화면 메인 색상 코드
*기본값은 FFFFFF
point_color   string 6 PG 결제 화면 포인트 색상 코드
*기본값은 5379FF
app_return_url 선택적 필수 string 100 일반 신용카드(ISP) 결제 이후 이동할 고객사 앱 스키마 정보
*모바일 앱의 일반 신용카드 결제 요청 시 필수 값 입니다.
app_cancel_url 선택적 필수 string 100 일반 신용카드(ISP) 결제 진행 중단 시 이동할 고객사 앱 스키마 정보
*모바일 앱의 일반 신용카드 결제 요청 시 필수 값 입니다.
return_url 필수 string 255 결제 인증 결과 수신 및 결제 승인 API를 호출하는 고객사 URL
cancel_url 필수 string 255 결제 취소 시 이동하는 고객사 URL
fail_url 필수 string 255 결제 실패 시 이동하는 고객사 URL
현금영수증(개인)전용
cash_rcpt_pub_type   number   현금 영수증 발행 유형 (1: 소득공제용, 2: 지출증빙용)
*해당 요청 파라미터와 현금 영수증 발행 번호 유형, 현금 영수증 발행 번호 파라미터들의 값이 있으면 전용페이 계좌/가상계좌 결제 승인 이후 해당 정보들로 현금영수증을 발행 처리합니다. 만약 해당 요청 값들이 없으면 자진 발급번호로 발행 처리합니다.
cash_rcpt_pub_no_type   number   현금 영수증 발행 번호 유형 (1: 휴대폰번호, 2: 사업자번호, 3: 자진발급 등 기타)
*해당 요청 파라미터와 현금 영수증 발행 유형, 현금 영수증 발행 번호 파라미터들의 값이 있으면 전용페이 계좌/가상계좌 결제 승인 이후 해당 정보들로 현금영수증을 발행 처리합니다. 만약 해당 요청 값들이 없으면 자진 발급번호로 발행 처리합니다.
cash_rcpt_pub_no   string 20 현금 영수증 발행 번호 (*발행 유형 "소득공제"는 휴대폰번호, “지출증빙"은 사업자 번호, 발행 유형 “자진 발급”은 국세청 지정 코드 "010-000-1234”을 발행 번호로 자체 발급 처리)
*해당 요청 파라미터와 현금 영수증 발행 유형, 현금 영수증 발행 번호 유형 파라미터들의 값이 있으면 전용페이 계좌/가상계좌 결제 승인 이후 해당 정보들로 현금영수증을 발행 처리합니다. 만약 해당 요청 값들이 없으면 자진 발급번호로 발행 처리합니다.
◎ 개인용 통합결제창 결제를 요청하는 경우
{
    "pgcode": "selpay",
    "client_id": "o2o",
    "user_id": "test_01",
    "user_name": "테스터01",
    "order_no": "202108311259590001",
    "pay_type”: 1,    // 단일 결제
    "device_type": 1,
    "amount": 11000,
    "product_name": "테스트 상품",
    "return_url": "https://o2odev.shinhan.com/partner/pay/approval",
    "cancel_url": "https://o2odev.shinhan.com/partner/pay/cancel",
    "fail_url": "https://o2odev.shinhan.com/partner/pay/fail",
    “param_ispt_hash”:”821b7bf742abfb49c8e535ee9a0801c4e6cefe4d49c9c8209b8c54d5077082f8"
    "taxfree_amount": 0,
    "tax_amount": 90,
    "email_flag": "Y",
    "email_addr": "bae1222@payletter.com",
    "pay_hash": "dfhuoi892ashiozxui123…”,
    "custom_parameter": "asdfoxuoy12uyisadouydfouayiouf…",
    "card_purpost_type": 1,                  // 일반 신용카드는 필수 설정
    "app_return_url": "scheme://path",    // 모바일 앱 환경의 일반 신용카드는 필수 설정
    "app_cancel_url": "scheme://path",    // 모바일 앱 환경의 일반 신용카드는 필수 설정
    “cup_return_deposit”: “100”,         // 컵반환 보증금
    “card_cpny_cd”: “S005”,               // 고객사 화면에서 카드사를 선택하여 결제요청하는 경우 필수 설정
}
                                
◎ 법인용 통합결제창 결제를 요청하는 경우
{
    "pgcode": "bizselpay",
    "client_id": "o2o",
    "user_id": "test_01",
    "user_name": "테스터01",
    "order_no": "202108311259590001",
    "pay_type”: 1,             // 단일 결제
    "device_type": 2,         // 법인은 PC전용
    "amount": 11000,
    "taxfree_amount": 0,
    "tax_amount": 1000,
    "product_name": "테스트 상품",
    “param_ispt_hash”:”821b7bf742abfb49c8e535ee9a0801c4e6cefe4d49c9c8209b8c54d5077082f8"
    "email_flag": "Y",
    "email_addr": "bae1222@payletter.com",
    "pay_hash": "dfhuoi892ashiozxui123…”,
    "custom_parameter": "asdfoxuoy12uyisadouydfouayiouf…",
    “cup_return_deposit”: “100” ,            // 컵반환 보증금,
    “buyr_bizr_no”:”1234567890”,
    “clnt_pay_clf_cd”:”20240208”,
    “req_amt”: 700000000,
    “chrg_amt”: 300000000,
    “tot_tx_amt”: 1000000000,
    “pay_amt”: 1000000000,
    “clnt_tx_clf_cd”:”IMPL”,
    “cncl_yn”:”N”,
    “clnt_tx_ymd”:”20240601”,
    “seller_name”:”테스트판매사”
}
                                

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
redirect_url string 1000 (결제용)웹 화면
*PG 웹 화면 접근 후 redirect_url token은 다시 사용할 수 없습니다.

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "redirect_url": "https://devpayapispg.shinhan.com/pgsvc/pay?token=2021083110239001duf.." // (결제 인증용)웹 화면
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

기업통합결제 결제창 호출

1.Html 내 script tag 추가
<script src="https://payspg.shinhan.com/businessPayment/unifiedPay/script"></script>

2.통합결제창 결제요청 응답값 (redirect_url) 으로 팝업 호출
ShinhanBizPay.openPopup(result.redirect_url, function(retCode, retMessage) {
    if(retCode == ShinhanBizPay.RES_SUCCESS) {
        console.log(“성공”);
    } else {
        console.log("실패”, retMessage);
    }
});
                                

결제 화면 출력 (고객사 호출)

결제 요청 API의 redirect_url 을 이용하여, 고객사 사용자에게 PG 웹 화면을 출력합니다.
일반결제/비인증결제/전용페이 일 경우와 가상계좌일 경우 응답 파라미터가 달라집니다.

화면 요청

Redirect URL HTTP 메서드
redirect_url GET

결제 인증 결과 (PG 호출)

고객사 사용자의 PG 통합결제 결제하기(인증) 완료 이후, 고객사의 return_url POST 데이터로 주문 및 승인 토큰 정보가 전달됩니다. return_url은 결제 요청 API에 전달한 파라미터 값을 의미합니다.

화면 이동

Redirect URL HTTP 메서드
return_url POST

POST 데이터

파라미터 자료형 크기 설명
order_no string 50 (일반결제) 고객사 주문번호
custom_parameter string 1000 (일반결제) 고객사 전용 값
confirm_token string 50 (일반결제) 승인 토큰
escr_yn Char 1 (일반결제/가상계좌) 에스크로여부
* 고객사가 에스크로 사용 가능하고 PG에서 에스크로여부를 선택 한 경우
tid String 50 (가상계좌) 거래번호
bank_nm String 100 (가상계좌) 입금은행
user_nm string 20 (가상계좌) 예금주명
vald_dt string 8 (가상계좌) 입금기한(YYYYMMDD)
gods_nm string 100 (가상계좌) 상품명
email string 20 (가상계좌) 이메일
user_tel_no string 20 (가상계좌) 사용자 전화번호
pay_amt number   (가상계좌) 결제금액
ret_code number   (가상계좌) 응답 코드
ret_msg string 100 (가상계좌) 응답 메시지
HTTP 1.1 200 OK
{
    "order_no": "202108310937510001",
    "custom_parameter": "auoh1238u123uy...",
    "confinm_token": "aaaaaa.bbbbbb.ccccc"
    “escr_yn”:”N”
    “tid”:”거래번호”
    "bank_nm": "입금은행",
    "user_nm": "예금주명",
    "vald_dt": "20240909"
    "gods_nm": "상품명"
    "email": "aaaaaa@ccc.com"
    "user_tel_no": "01012345678"
    "pay_amt": "46000"
    "ret_code": 0,
    "ret_msg": "OK"
}
                                

결제 승인

고객사 결제 승인 용 API 입니다. "결제 인증 결과 (UI)"로 이동 후 30분(토큰 만료) 안에 요청하여야 합니다.
전용페이 계좌이체는 전용페이 사용자 휴대폰 번호(본인인증 결과정보)로 현금영수증을 자동 발행합니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 토큰 유형
v1.0/payments/confirm POST Authorization: SPGKEY {API Key} payment

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
order_no 필수 string 50 고객사 주문번호
confirm_token 필수 string 50 (결제) 승인 토큰
ip_addr 필수 string 50 아이피 주소
(*사용자 아이피 주소 수집 시 결제 요청 이력 확인이 용이함)

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
pay_type number   결제 유형 (1: 단일 결제, 2: 복합 일반, 3: 복합 전용)
order_no string 50 고객사 주문번호
product_name string 50 (결제)상품 명
user_id string 50 고객사 사용자(회원) 아이디
user_name string 20 고객사 사용자(회원) 명
amount number   (결제 요청)금액
discount_amount number   할인 금액(신용카드사 프로모션 할인 금액)
*신용카드, 계좌이체, 간편결제 해당
taxfree_amount number   비과세 금액
*신용카드, 계좌이체, 간편결제 해당
tax_amount number   부가세 금액
*신용카드, 계좌이체, 간편결제 해당
tid string 50 (결제)거래 번호
pay_ispt_hash string 1000 결제 인증 해시
*PG의 결제 승인 응답 파라미터 검증을 위한 sha256 hash 값을 의미하며, "sha256(user_id + amount + tid + payment API Key)" 조합으로 생성된다.
tx_date string 19 거래 일시(YYYY-MM-DD HH:MM:SS)
reserved1 string 200 가맹점 예약 필드
1.계좌 상품코드
계좌이체(pay_info)
bank_cd string 3 은행 코드
bank_name string 20 은행 명
bank_acct_no string 14 은행 계좌 번호 (*전용페이 계좌이체 시 전달되는 앞 3자리, 맨 뒤 3자리 외 마스킹 계좌번호)
bank_acct_pay_amt number   은행 계좌 결제 금액
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
zeropay_pay_amt number   제로페이 결제 금액
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
zeropay_tid string 50 제로페이 거래번호
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
seoulpay_pay_amt number   서울페이 결제 금액
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
seoulpay_tid string 50 서울페이 거래번호
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
locpay_pay_amt number   지역화폐 결제 금액
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
locpay_tid string 50 지역화폐 거래번호
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
list JSON Array   -
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
gfct_cd string 20 상품권 코드
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
gfct_name string 50 상품권 명
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
gfct_amt number   상품권 금액
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
cash_rcpt_ret_code number   현금 영수증 응답 코드
cash_rcpt_ret_msg string 100 현금 영수증 응답 메시지
cash_rcpt_pub_tid string 50 (PG 발행취소 · 재발행 요청용)현금 영수증 발행 거래번호
cash_rcpt_aprv_no string 50 현금 영수증 승인 번호
cash_rcpt_pub_type number   현금 영수증 발행 유형 (1: 소득공제용, 2: 지출증빙용)
cash_rcpt_pub_clf_type number   현금 영수증 발행 구분 유형(1: 구매자발급, 2: 자진발급)
cash_rcpt_pub_no_type number   현금 영수증 발행 번호 유형 (1: 휴대폰번호, 2: 사업자번호, 3: 자진발급)
cash_rcpt_pub_no string 20 현금 영수증 발행 번호 (소득공제용 휴대폰번호 또는 지출증빙용 사업자 번호 또는 자진 발급용 국세청 지정 코드 010-000-1234 등)
cash_rcpt_amt number   현금 영수증 발행 금액
선물쏨 금액이 있는 경우(pay_info)
cash_rcpt_ret_code number   현금 영수증 응답 코드
cash_rcpt_ret_msg string 100 현금 영수증 응답 메시지
cash_rcpt_pub_tid string 50 (PG 발행취소 · 재발행 요청용)현금 영수증 발행 거래번호
cash_rcpt_aprv_no string 50 현금 영수증 승인 번호
cash_rcpt_pub_type number   현금 영수증 발행 유형 (1: 소득공제용, 2: 지출증빙용)
cash_rcpt_pub_clf_type number   현금 영수증 발행 구분 유형(1: 구매자발급, 2: 자진발급)
cash_rcpt_pub_no_type number   현금 영수증 발행 번호 유형 (1: 휴대폰번호, 2: 사업자번호, 3: 자진발급)
cash_rcpt_pub_no string 20 현금 영수증 발행 번호 (소득공제용 휴대폰번호 또는 지출증빙용 사업자 번호 또는 자진 발급용 국세청 지정 코드 010-000-1234 등)
cash_rcpt_amt number   현금 영수증 발행 금액
간편결제 (pay_info)
primary_pymt_cd string 10 CARD : 카드, BANK : 계좌, MONEY : 머니
crcd_cpny_cd string 4 카드사 코드
*카드 결제인 경우
card_name string 20 카드 종류
*카드 결제인 경우
card_no string 18 카드 번호 (*마스킹 처리)
*카드 결제인 경우
card_aprv_no string 50 카드 승인 번호
*카드 결제인 경우
install_month string 2 할부 개월 수
*카드 결제인 경우
bank_cd string 3 은행 코드
*계좌 결제인 경우
bank_name string 20 은행 명
*계좌 결제인 경우
bank_acct_no string 14 은행 계좌 번호 (*마스킹 처리)
*계좌 결제인 경우
total_pay_amount number   간편결제 총 결제금액
구매자 결제금액+할인금액(discount_amount)
apply_pay_amount number   구매자 결제 금액
주 결제 수단 결제금액+포인트/머니 결제금액+기프트 카드 결제금액
primary_pay_amount number   주 결제 수단 결제금액
point_pay_amount number   포인트/머니 결제금액
gift_card_amount number   기프트 카드 결제금액
smp_discount_amount number   간편결제 할인금액
zeropay_pay_amt number   제로페이 결제 금액
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
zeropay_tid string 50 제로페이 거래번호
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
seoulpay_pay_amt number   서울페이 결제 금액
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
seoulpay_tid string 50 서울페이 거래번호
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
locpay_pay_amt number   지역화폐 결제 금액
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
locpay_tid string 50 지역화폐 거래번호
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
list JSON Array   -
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
gfct_cd string 20 상품권 코드
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
gfct_name string 50 상품권 명
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
gfct_amt number   상품권 금액
*복합 결제용 응답 입니다. 단일 결제 응답 데이터에는 포함되지 않습니다.
cash_rcpt_ret_code number   현금 영수증 응답 코드
cash_rcpt_ret_msg string 100 현금 영수증 응답 메시지
cash_rcpt_pub_tid string 50 (PG 발행취소 · 재발행 요청용)현금 영수증 발행 거래번호
cash_rcpt_aprv_no string 50 현금 영수증 승인 번호
cash_rcpt_pub_type number   현금 영수증 발행 유형 (1: 소득공제용, 2: 지출증빙용)
cash_rcpt_pub_clf_type number   현금 영수증 발행 구분 유형(1: 구매자발급, 2: 자진발급)
cash_rcpt_pub_no_type number   현금 영수증 발행 번호 유형 (1: 휴대폰번호, 2: 사업자번호, 3: 자진발급)
cash_rcpt_pub_no string 20 현금 영수증 발행 번호 (소득공제용 휴대폰번호 또는 지출증빙용 사업자 번호 또는 자진 발급용 국세청 지정 코드 010-000-1234 등)
cash_rcpt_amt number   현금 영수증 발행 금액
npoint_cash_amount number   포인트/머니 결제 금액중 현금 영수증 발행 금액
*네이버 페이인 경우.
gift_card_cash_amount number   기프트카드 결제 금액중 현금 영수증 발행 금액
*네이버 페이인 경우.
primary_cash_amount number   현금성 주 결제 수단 결제 금액중 현금 영수증 발행 금액
*네이버 페이인 경우.

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    “pay_type": 2,     // 결제 유형 (2: 복합 일반)
    "order_no": "202108311259590001",
    "product_name": "테스트 상품",
    "user_id": "test01",
    "user_name": "test01",
    "amount": "1000",
    "discount_amount": "100",
    "taxfree_amount": "0",
    "tax_amount": "90",
    "tid": "202108311259590006",
    "install_month": "00",
    "pay_ispt_hash": "941365C04218FF129B790AB1244F8A012BA64E872C3CB8E0C9978A2F76C202F0",
    "tx_date": "2021-08-31 12:59:59",
    "pay_info": [
        {
            … …
    }]
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

결제 취소

고객사 결제 취소 용 API 입니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/payments/cancel POST Authorization: SPGKEY {API Key} payment

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
user_id 필수 string 50 고객사 사용자(회원) 아이디(이메일, 영문 및 숫자 가능)
tid 필수 string 50 (결제)거래 번호
amount 필수 number   (취소)금액
cncl_rsn 필수 string 100 취소 사유
ip_addr 필수 string 50 (고객사 사용자)아이피 주소
bank_cd 선택 String 3 (가상계좌용)은행코드(가상계좌)
bank_acct_no 선택 String 14 (가상계좌용)은행 계좌 번호 (환불받을 계좌번호)
bank_name 선택 String 20 (가상계좌용)계좌주명

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
tid string 50 (결제)거래 번호
cid string 50 (취소)승인 번호
amount number   (취소)금액
tx_date string 19 (취소)거래 일시(YYYY-MM-DD HH:MM:SS)

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "tid" :"tpay_test202108311259590002",
    "cid":"123456",
    "amount":1000,
    "tx_date":"2021-08-31 15:01:07"
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

전용페이 관리화면 요청

고객사 사용자의 전용페이 관리화면(전용페이 결제수단 등록, 전용페이 결제 비밀번호 수정 · 생략 · 사용, 전용페이 결제수단 삭제, 머니 사용 전용페이 비밀번호 인증 등) 요청 용 API 입니다. HTTP POST 메서드는 전용페이 결제수단 등록, 머니 사용 전용페이 비밀번호 인증 화면을, PUT 메서드는 전용페이 결제 비밀번호 수정, 비밀번호 생략 화면을, DELETE 메서드는 전용페이 결제수단 삭제 화면을 redirect_url 로 응답합니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/payments/o2opay/manage POST결제수단 등록 Authorization: SPGKEY {API Key} payment
v1.0/payments/o2opay/manage/modify POST비밀번호 수정 Authorization: SPGKEY {API Key} payment
v1.0/payments/o2opay/manage/pwd-skip POST비밀번호 생략 Authorization: SPGKEY {API Key} payment
v1.0/payments/o2opay/manage/pwd-use POST비밀번호 사용 Authorization: SPGKEY {API Key} payment
v1.0/payments/o2opay/manage/delete POST결제수단 삭제 Authorization: SPGKEY {API Key} payment
v1.0/payments/o2opay/manage/pwd-auth POST머니 사용
POST전용 페이
POST비밀번호 인증
Authorization: SPGKEY {API Key} payment
v1.0/payments/o2opay/manage/control POST결제수단 관리 Authorization: SPGKEY {API Key} payment
v1.0/payments/o2opay/manage/delete-user POST사용자 삭제 Authorization: SPGKEY {API Key} payment

전용페이 결제수단 등록 요청 데이터

파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
pgcode 필수 string 10 결제수단 코드(5. 결제수단 & 오류코드 참조)
user_id 필수 string 50 고객사 사용자(회원) 아이디(이메일, 영문 및 숫자 가능)
user_name 필수 string 20 고객사 사용자(회원) 명
user_ci 필수 string 88 고객사 사용자 CI(Connecting information)
*전용페이 최초 사용자를 위한 본인인증 시, 고객사에서 전달한 user_ci와 휴대폰 본인인증 결과가 다를 경우, 전용페이 회원 등록이 불가합니다.
device_type 필수 number   (결제 요청)기기 유형 (1: 모바일, 2: PC)
main_color   string 6 PG 결제 화면 메인 색상 코드
*기본값은 FFFFFF
point_color   string 6 PG 결제 화면 포인트 색상 코드
*기본값은 5379FF
chnl_code   string 10 땡겨요앱을 호출하는 채널에 따른 코드 정의
param_ispt_hash 필수 string 1000 파라메터 검증 해시
*고객사 요청 파라미터 검증을 위한 sha256 hash 값을 의미하며, "sha256(client_id + user_id + user_ci + payment API Key)" 조합으로 생성된다.
return_url 필수 string 100 전용페이 결제수단 등록 이후 이동하는 고객사 URL
cancel_url 필수 string 100 전용페이 결제수단 등록 취소 시 이동하는 고객사 URL
fail_url 필수 string 100 전용페이 결제수단 등록 실패 시 이동하는 고객사 URL

전용페이 결제 비밀번호 수정 · 생략 및 머니 사용 비밀번호 인증 요청 데이터

전용페이 결제 비밀번호 수정, 결제 비밀번호 생략, 머니 사용 전용페이 비밀번호 인증 화면용 요청 데이터 정의 입니다.

파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
xclv_pay_user_no 필수 number   전용페이 사용자 번호(4.12.2. 등록 결과 POST 데이터의 전용 페이 사용자 번호)
device_type 필수 number   (결제 요청)기기 유형 (1: 모바일, 2: PC)
main_color   string 6 PG 결제 화면 메인 색상 코드
*기본값은 FFFFFF
point_color   string 6 PG 결제 화면 포인트 색상 코드
*기본값은 5379FF
return_url 필수 string 100 요청 처리 이후 이동하는 고객사 URL
cancel_url 필수 string 100 요청 처리 취소 시 이동하는 고객사 URL
fail_url 필수 string 100 요청 처리 실패 시 이동하는 고객사 URL

전용페이 결제 비밀번호 사용 요청 데이터

비밀번호 사용은 웹 화면이 필요 없는 API 이므로, return_url, cancel_url, fail_url 파라미터가 생략됩니다.

파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
xclv_pay_user_no 필수 number   전용페이 사용자 번호(4.12.2. 등록 결과 POST 데이터의 전용 페이 사용자 번호)

전용페이 결제수단 삭제 요청 데이터

파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
xclv_pay_user_no 필수 number   전용페이 사용자 번호(4.12.2. 등록 결과 POST 데이터의 전용 페이 사용자 번호)
pgcode 필수 string 10 결제수단 코드(5. 결제수단 & 오류코드 참조)
bill_key 필수 string 50 빌 키 (전용페이 결제수단 등록 시 발급되는 고유 식별 정보)
*"전용페이 결제수단 목록 조회 API"의 응답 중 "빌 키" 항목입니다. 예로, 2개의 신용카드, 1개의 은행계좌를 전용페이로 등록한 사용자는 총 3개의 빌 키를 응답 받습니다.
device_type 필수 number   (결제 요청)기기 유형 (1: 모바일, 2: PC)
main_color   string 6 PG 결제 화면 메인 색상 코드
*기본값은 FFFFFF
point_color   string 6 PG 결제 화면 포인트 색상 코드
*기본값은 5379FF
return_url 필수 string 100 전용페이 결제수단 삭제 이후 이동하는 고객사 URL
cancel_url 필수 string 100 전용페이 결제수단 삭제 취소 시 이동하는 고객사 URL
fail_url 필수 string 100 전용페이 결제수단 삭제 실패 시 이동하는 고객사 URL

전용페이 결제수단 관리 요청 데이터

파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
user_ci 필수 string 88 고객사 사용자 CI(Connecting information)
*전용페이 최초 사용자를 위한 본인인증 시, 고객사에서 전달한 user_ci와 휴대폰 본인인증 결과가 다를 경우, 전용페이 회원 등록이 불가합니다.
user_id 필수 string 50 고객사 사용자(회원) 아이디(이메일, 영문 및 숫자 가능)
user_name 필수 string 20 고객사 사용자(회원) 명
pgcode 필수 string 10 결제수단 코드(5. 결제수단 & 오류코드 참조)
(전용페이 결제수단 : shpay)
device_type 필수 number   (결제 요청)기기 유형 (1: 모바일, 2: PC)
main_color   string 6 PG 결제 화면 메인 색상 코드
*기본값은 FFFFFF
point_color   string 6 PG 결제 화면 포인트 색상 코드
*기본값은 5379FF
return_url 필수 string 100 전용페이 결제수단 관리 이후 이동하는 고객사 URL
cancel_url 필수 string 100 전용페이 결제수단 관리 취소 시 이동하는 고객사 URL
fail_url 필수 string 100 전용페이 결제수단 관리 실패 시 이동하는 고객사 URL

전용페이 사용자 삭제 요청 데이터

고객사 회원탈퇴 등의 경우, PG의 전용페이 사용자 삭제를 요청할 수 있는 API 입니다.

파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
xclv_pay_user_no 필수 number   전용페이 사용자 번호
device_type 필수 number   (결제 요청)기기 유형 (1: 모바일, 2: PC)
main_color   string 6 PG 결제 화면 메인 색상 코드
*기본값은 FFFFFF
point_color   string 6 PG 결제 화면 포인트 색상 코드
*기본값은 5379FF
return_url 필수 string 100 전용페이 결제수단 관리 이후 이동하는 고객사 URL
cancel_url 필수 string 100 전용페이 결제수단 관리 취소 시 이동하는 고객사 URL
fail_url 필수 string 100 전용페이 결제수단 관리 실패 시 이동하는 고객사 URL

응답 데이터

"전용페이 결제 비밀번호 사용" 처리 성공

파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지

이외 전용페이 관리화면 요청 처리 성공

파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
redirect_url string 1000 (결제용)웹 화면
*PG 웹 화면 접근 후 redirect_url token은 다시 사용할 수 없습니다.

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "redirect_url": "https://devpayapispg.shinhan.com/pgsvc/o2opay...?token=202100235959.." // (전용페이 관리용)웹 화면
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

전용페이 관리화면 출력 (고객사 호출)

전용페이 관리화면 요청 API의 redirect_url 을 이용하여, 고객사 사용자에게 PG 웹 화면을 출력합니다.

화면 요청

Redirect URL HTTP 메서드
redirect_url GET

전용페이 관리화면 처리결과 (PG 호출)

고객사 사용자의 전용페이 관리화면 처리 이후, 고객사의 return_url POST 데이터로 결과 정보가 전달됩니다. return_url은 전용페이 관리화면 요청 API에 전달한 파라미터 값을 의미합니다.

화면 이동

Redirect URL HTTP 메서드
return_url POST

결제수단 등록 결과 POST 데이터

파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
pgcode string 10 결제수단 코드(5. 결제수단 & 오류코드 참조)
bill_key string 50 빌 키 (전용페이 결제수단 등록 시 발급되는 고유 식별 정보)
xclv_pay_user_no number   전용 페이 사용자 번호
{
    "ret_code": 0,
    "ret_msg": "OK",
    "pgcode": "shpaycard",
    "bill_key": "auoh1238u123uy...",
    “xclv_pay_user_no”: 1
}
                                

머니 사용 비밀번호 인증 결과 POST 데이터

파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
ispt_hash string 1000 인증 해시
*PG의 전용페이 비밀번호 인증 응답 파라미터 검증을 위한 sha256 hash 값을 의미하며, "sha256(client_id + xclv_pay_user_no + ret_code)" 조합으로 생성된다.
{
    "ret_code": 0,
    "ret_msg": "OK",
    "ispt_hash": "auoh1238u123uy..."
}
                                

이외 전용페이 관리 화면 처리 결과 POST 데이터

전용페이 결제 비밀번호 수정, 비밀번호 생략, 결제수단 삭제, 머니 사용 전용페이 비밀번호 인증 결과에 대한 POST 데이터를 전달합니다. 비밀번호 사용은 웹 화면이 필요 없는 API 이므로, 별도 POST 데이터가 전달되지 않습니다.

파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지

처리 성공

{
    "ret_code": 0,
    "ret_msg": "OK"
}
                                

처리 실패

{
    "ret_code": 999,
    "ret_msg": "user ci is missing or incorrect."
}
                                

전용페이 결제 비밀번호 사용 여부 조회

PG 전용페이 사용자의 결제 비밀번호 사용 여부 조회를 요청할 수 있는 API 입니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/payments/o2opay/pwd-use GET Authorization: SPGKEY {API Key} search

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
xclv_pay_user_no 필수 number   전용 페이 사용자 번호

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
pwd_use_yn char 1 비밀번호 사용 여부 (N: 사용 안 함, Y: 사용)

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "pwd_use_yn": "Y"
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

전용페이 결제수단 삭제

PG의 전용페이 결제수단 삭제를 요청할 수 있는 API 입니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/payments/o2opay/payment-method POST Authorization: SPGKEY {API Key} payment

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
xclv_pay_user_no 필수 number   전용 페이 사용자 번호
pgcode 필수 string 10 결제수단 코드(5. 결제수단 & 오류코드 참조)
bill_key 필수 string 50 빌 키 (전용페이 결제수단 등록 시 발급되는 고유 식별 정보)
*"전용페이 결제수단 목록 조회 API"의 응답 중 "빌 키" 항목입니다. 예로, 2개의 신용카드, 1개의 은행계좌를 전용페이로 등록한 사용자는 총 3개의 빌 키를 응답 받습니다.

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK"
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

전용페이 사용자 삭제

고객사 회원탈퇴 등의 경우, PG의 전용페이 사용자 삭제를 요청할 수 있는 API 입니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/payments/o2opay/user/secession POST Authorization: SPGKEY {API Key} payment

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
xclv_pay_user_no 필수 number   전용 페이 사용자 번호

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK"
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

전용페이 결제수단 목록 조회

고객사 사용자의 전용페이 결제수단 목록 조회 용 API 입니다. 고객사 사용자의 최근 등록 순 전용페이 신용카드, 계좌 목록을 응답합니다. 즐겨찾기 결제수단은 등록 순과 관계없이 가장 먼저 조회됩니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/payments/info/payment-method-list GET Authorization: SPGKEY {API Key} search

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
xclv_pay_user_no 필수 number   전용 페이 사용자 번호

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
client_id string 10 고객사 아이디
user_id string 50 고객사 사용자(회원) 아이디(이메일, 영문 및 숫자 가능)
pwd_use_yn char 1 비밀번호 사용 여부 (N: 사용 안 함, Y: 사용)
new_member_yn char 1 신규 회원 여부(N:기존회원, Y:신규 회원)
total_count number   (조회)총 수
list JSON Array   -
pgcode string 10 결제수단 코드(5. 결제수단 & 오류코드 참조)
bill_key string 50 전용페이 인증 · 등록 후 발급되는 PG의 고유 식별 정보
instt_name string 50 기관 명
*전용페이 카드사 명 또는 은행 명 입니다.
instt_pay_no string 50 기관 결제 번호
*마스킹 된 전용페이 카드 번호 또는 계좌 번호 입니다.
image_url string 100 전용페이 결제수단 별 이미지 URL
fav_yn char 1 즐겨찾기 여부(N:아니오, Y:예)
product_code string 6 상품 코드
*전용페이 신한카드 상품 코드 입니다.
bank_card_cd string 4 카드사 & 기관 코드
*6.1 카드사 코드, 6.2 기관 코드 참조
instt_service_stat_type number   기관 서비스 상태 타입(1: 정상, 2: 서비스불가)
* 해당 서비스 상태 코드가 정상이 아닌경우 선택불가 처리
instt_service_noti_msg string   기관 서비스 메시지
reserved1 string 200 가맹점 예약 필드
1.계좌 상품코드

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "client_id": "o2o",
    "user_id": "test_01",
    "pwd_use_yn": "Y",
    "total_count": 3,
    "list": [
        {
            "pgcode": "shpaycard",
            "bill_key": "aadhouzxx22389…”,
            "instt_name”: "신한카드",
            "instt_pay_no”: "123***9001",
            "image_url": "https://...",
            "fav_yn": “Y”,
            “product_code”: “BJBBE4”,
            “bank_card_cd”: “S005”,
            “instt_service_stat_type”: “1”,    //정상
            “instt_service_noti_msg”: “”
        },
        {
            "pgcode": "shpaybank",
            "bill_key": "8jkmn23oyufoeho17…”,
            "instt_name”: "신한은행",
            "instt_pay_no”: "123***9001",
            "image_url": "https://...",
            "fav_yn": “N”,
            “bank_card_cd”: “088” ,
            “instt_service_stat_type”: “2”,       //서비스불가
            “instt_service_noti_msg”: “신한은행 서비스 장애”
        }
    ]
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

환불용 전용페이 계좌 조회

머니 환불용 전용페이 계좌 조회 API 입니다. 고객사 사용자의 환불용 전용페이 계좌정보(단건)를 응답합니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/payments/o2opay/pybk-acct GET Authorization: SPGKEY {API Key} search

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
xclv_pay_user_no 필수 number   전용 페이 사용자 번호
pgcode 필수 string 10 결제수단 코드(5. 결제수단 & 오류코드 참조)
bill_key 필수 string 50 고객사 사용자가 선택한 환불용 계좌의 빌 키
(전용페이 인증 · 등록 후 발급되는 PG의 고유 식별 정보)

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
instt_cd string 50 기관 코드 (6. 기관 코드 참조)
acct_no string 50 계좌 번호

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "instt_cd": "088",
    "acct_no": "123456789..."
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

현금영수증 발행(발행 취소)

고객사가 현금영수증 발급을 별도 요청(전용페이 계좌이체로 충전한 머니 사용 시 등)할 수 있는 API 입니다.

API 요청

{tid}는 현금영수증 발급을 요청하는 고객사의 고유한 거래번호(또는 주문번호 등)을 의미합니다.

URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/cashreceipt/issue/{tid} POST Authorization: SPGKEY {API Key} payment

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
user_id 필수 string 50 고객사 사용자(회원) 아이디(이메일, 영문 및 숫자 가능)
pub_type 필수 number   발행 유형(1: 소득공제용, 2: 지출증빙용)
tx_type 필수 number   거래 유형 (1: 승인, 2: 취소)
pub_no_type 필수 number   발행 번호 유형 (1: 휴대폰번호, 2: 사업자번호, 3: 자진발급 등 기타)
pub_no   string 20 발행 번호
(*발행 유형 "소득공제"는 휴대폰번호, “지출증빙"은 사업자 번호, 발행 유형 “자진 발급”은 국세청 지정 코드 "010-000-1234”을 발행 번호로 자체 발급 처리)
tx_amount 필수 number   (현금영수증 발행 요청)거래 금액
tax_amount   number   부가세 금액 (미 입력 시 0 원)
fee_amount   number   수수료 금액 (미 입력 시 0 원)
org_pub_tid   string 50 (현금영수증 취소 또는 재 발행 요청 시)원 발행 거래번호
cncl_rsn 선택적 필수 string 100 취소 사유
*현금영수증 발행 취소 시에만 필수 값
cncl_cd 선택적 필수 number   취소 사유코드 (1: 승인취소, 2: 오류취소)
pub_req_date   string 10 현금영수증 발행요청일자(YYYY-MM-DD)

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
pub_tid string 50 (PG 발행취소 · 재발행 요청용)발행 거래번호
aprv_no string 50 (현금영수증)승인 번호
pub_type number   발행 유형 (1: 소득공제용, 2: 지출증빙용)
pub_clf_type number   발행 구분 유형 (1: 구매자발급, 2: 자진발급)
pub_no string 20 발행 번호 (소득공제용 휴대폰번호 또는 지출증빙용 사업자 번호 또는 자진 발급용 국세청 지정 코드 010-000-1234 등)

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "pub_tid": "20210831duahuhwqyjdshlhfkljaajhflasdfuoiwueyo1uyde" // 발행 거래번호
    “aprv_no”; “13341477”
    “pub_type”: 1
    “pub_clf_type”: 1
    “pub_no”: “010-000-1234”
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

현금영수증 발행 확인

고객사 사용자의 PG 현금영수증 발행확인 용 API 입니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/cashreceipt/issue-info GET Authorization: SPGKEY {API Key} search

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
tid 필수 string 50 고객사의 고유한 거래번호(또는 주문번호 등)
tx_type 필수 number   거래 유형 (1: 승인, 2: 취소)

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
pub_tid string 50 (PG 발행취소 · 재발행 요청용)발행 거래번호
pub_type number   발행 유형(1: 소득공제용, 2: 지출증빙용)
pub_clf_type number   발행 구분 유형 (1: 구매자발급, 2: 자진발급)
pub_no_type number   발행 번호 유형 (1: 휴대폰번호, 2: 사업자번호, 3: 자진발급 등 기타)
pub_no string 20 발행 번호
(*발행 유형 "소득공제"는 휴대폰번호, “지출증빙"은 사업자 번호, 발행 유형 “자진 발급”은 국세청 지정 코드 "010-000-1234”을 발행 번호로 자체 발급 처리)
tx_type number   거래 유형 (1: 승인, 2: 취소)
tx_amount number   (현금영수증 발행 요청)거래 금액
aprv_no string 50 (현금영수증)승인 번호
proc_stat number   처리상태 (1:발행요청, 2:요청실패, 3:처리완료, 4:처리실패)

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "pub_tid" : "o2o2023110914070153800023096",
    "pub_type": 1 ,
    "pub_clf_type": 1 ,
    "pub_no_type": 1,
    "pub_no": 01012345678,
    "tx_type": 1,
    "tx_amount": 2000,
    "aprv_no": "J20000036",
    "proc_stat": 1
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "there is no data."
}
                                

거래 확인서 요청

고객사 사용자의 PG (결제)거래 확인서 화면 요청 용 API 입니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 키 유형
v1.0/receipt/info/{tid} GET Authorization: SPGKEY {API Key} search

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
amunt 필수 number   (결제)금액
tx_ymd 필수 string 10 거래 일자(YYYY-MM-DD)

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
redirect_url string 1000 (거래 내역 확인용)웹 화면

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "redirect_url": "https://devpayapispg.shinhan.com/pgsvc/receipt/receipt_all.asp?id=..." //(거래내역확인용) PG 웹 화면
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "token is missing or incorrect."
}
                                

결제 거래정보 조회

고객사 결제 거래 정보 조회용 API 입니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 토큰 유형
v1.0/payments/confirm-info GET Authorization: SPGKEY {API Key} search

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
order_no 필수 string 50 고객사 주문번호

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
user_id string 50 고객사 사용자(회원) 아이디(이메일, 영문 및 숫자 가능)
tid string 50 (결제)거래 번호
tx_amount number   (결제)거래 금액
tx_stat number   (결제)거래 상태 (1: 승인, 2: 취소, 3: 부분취소)
tx_date string 19 거래 일시(YYYY-MM-DD HH:MM:SS)
cncl_date string 19 취소 일시(YYYY-MM-DD HH:MM:SS)
*거래 상태 "2:취소"의 경우에만 응답하는 정보입니다.
cncl_rsn string 100 취소 사유
*거래 상태 "2:취소"의 경우에만 응답하는 정보입니다.

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    "user_id": "test_01",
    "tid": "202108311259590006",
    "tax_amount": "10,00",
    "tx_stat": 2,
    "tx_date": "2021-12-22 12:59:59",
    "cncl_date": "2021-12-22 13:05:59",
    "cncl_rsn”: “고객 요청”
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "there is no data."
}
                                

PG약관 조회

PG약관 조회용 API 입니다.

API 요청

API 요청
URL HTTP 메서드 HTTP 헤더 토큰 유형
v1.0/payments/info/terms-info-list GET Authorization: SPGKEY {API Key} search

요청 데이터

요청 데이터
파라미터 필수 여부 자료형 크기 설명
client_id 필수 string 10 고객사 아이디
pgcode 필수 string 10 결제수단 코드(5. 결제수단 & 오류코드 참조)

응답 데이터

처리 성공

처리 성공
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
list JSON Array    
terms_no number   약관번호
terms_nm string 100 약관명
terms_ctnt string   약관내용(HTML)

처리 실패

처리 실패
파라미터 자료형 크기 설명
ret_code number   응답 코드
ret_msg string 100 응답 메시지
HTTP 1.1 200 OK
{
    "ret_code": 0,
    "ret_msg": "OK",
    list": [{
    "terms_no": 1,
    "terms_nm":"전자금융거래 이용약관",
    "terms_ctnt": “<header class=”pgHeader”><h3 class=”title”>약관 및 동의</h3>….</div>"
    }]
}
                                
HTTP 1.1 401 Unauthorized
{
    "ret_code": 998,
    "ret_msg": "there is no data."
}
                                

결제수단 & 오류코드

결제수단

결제수단 코드 결제수단 코드 설명
selpay 통합결제창(간편결제, 신용카드, 신용카드(카드번호입력), 가상계좌 선택 UI 호출)
bizselpay 법인통합결제창(신용카드(카드번호입력), 가상계좌, 연계대출 선택 UI 호출)
shpaycard 전용페이 신용/체크카드
shpaybank 전용페이 계좌이체
shpay 전용페이 (결제수단 선택 UI 호출)
kakaopay 카카오페이 간편결제
naverpay 네이버페이 간편결제
fitcollabo 핏콜라보 앱카드 간편결제