펌뱅킹 연동 플로우
간편현금결제(펌뱅킹)의 전체 프로세스는 인증 → 계좌등록 → 결제 3단계로 구성됩니다.
전체 흐름
고객
가맹점 서버
헥토파이낸셜
11. 결제 요청
1. 결제 요청
22. 휴대폰 본인인증 요청
2. 휴대폰 본인인증 요청
33. 인증번호 발송 (SMS)
3. 인증번호 발송 (SMS)
44. 인증번호 입력
4. 인증번호 입력
55. 본인인증 확인
5. 본인인증 확인
66. 예금주성명조회
6. 예금주성명조회
77. 계좌점유인증 (ARS/1원인증)
7. 계좌점유인증 (ARS/1원인증)
88. 계좌등록 (출금이체등록)
8. 계좌등록 (출금이체등록)
99. 결제 (출금이체 실행)
9. 결제 (출금이체 실행)
1010. 결제 결과 응답
10. 결제 결과 응답
NOTE
최초 1회 등록
계좌등록(8단계)은 최초 1회만 수행합니다. 이미 등록된 계좌로 결제 시에는 인증~계좌등록 단계 없이 바로 결제 API를 호출할 수 있습니다.
1단계: 휴대폰 본인인증
고객의 휴대폰 정보를 이용하여 본인인증을 처리합니다.
| 순서 | API | URI | 설명 |
|---|---|---|---|
| 1 | 본인인증 요청 | POST /v1/api/auth/mobile/req | 고객 휴대폰으로 인증번호 발송 |
| 2 | 본인인증 확인 | POST /v1/api/auth/mobile/check | 고객이 입력한 인증번호 검증 |
2단계: 예금주성명조회
본인인증 완료 후, 성명과 계좌정보를 이용하여 예금주성명조회를 실행합니다.
| API | URI | 설명 |
|---|---|---|
| 예금주성명조회Ⅰ | POST /v1/api/auth/acnt/ownercheck1 | 계좌번호 기반 예금주 확인 |
| 예금주성명조회Ⅱ | POST /v1/api/auth/acnt/ownercheck2 | 계좌번호 + 추가 정보 기반 예금주 확인 |
| 예금주성명조회(금액포함) | POST /v1/api/auth/acnt/ownercheckWithAmount | 소액 이체 방식 포함 예금주 확인 |
예금주 확인 API 문서
3단계: 계좌점유인증
ARS 인증 또는 1원 인증으로 출금이체 등록을 위한 증빙자료를 생성합니다.
| API | URI | 설명 |
|---|---|---|
| ARS 인증 요청 | POST /v1/api/auth/ars | 고객 전화로 ARS 인증 발신 |
| ARS 인증 확인 | POST /v1/api/auth/arscheck | ARS 인증 결과 조회 |
| 계좌점유인증 요청 (2단계) | POST /v1/api/auth/ownership/req | 소액(1원) 이체 방식 요청 |
| 계좌점유인증 확인 (2단계) | POST /v1/api/auth/ownership/check | 소액(1원) 이체 방식 확인 |
| 계좌점유인증 (단일 호출) | POST /v1/api/auth/acnt/ownership | 단일 호출 방식 |
4단계: 계좌등록 (출금이체등록)
인증이 완료된 계좌를 가맹점 계정에 등록합니다.
| API | URI | 설명 |
|---|---|---|
| 계좌등록 | POST /v1/api/acnt/reg | 출금이체 계좌 등록 |
| 계좌해지 | POST /v1/api/acnt/unreg | 등록된 계좌 해지 |
계좌관리 API 문서
5단계: 결제 (출금이체 실행)
등록된 계좌로 결제를 실행합니다.
| API | URI | 설명 |
|---|---|---|
| 결제 | POST /v1/api/pay/confirm | 출금이체 결제 승인 |
| 결제 취소/환불 | POST /v1/api/pay/cancel | 결제 취소 및 환불 처리 |
| 송금 | POST /v1/api/pay/rmt | 가맹점 → 고객 계좌 송금 |
이체 서비스 API 문서
전체 API 목록
간편현금결제(펌뱅킹)에서 제공하는 전체 API 목록입니다. 모든 API는 POST 메서드를 사용합니다.
인증 서비스 (10개)
| API 명 | URI |
|---|---|
| 본인인증 요청 | /v1/api/auth/mobile/req |
| 본인인증 확인 | /v1/api/auth/mobile/check |
| 예금주성명조회Ⅰ | /v1/api/auth/acnt/ownercheck1 |
| 예금주성명조회Ⅱ | /v1/api/auth/acnt/ownercheck2 |
| 예금주성명조회(금액포함) | /v1/api/auth/acnt/ownercheckWithAmount |
| 계좌점유인증 (단일 호출) | /v1/api/auth/acnt/ownership |
| 계좌점유인증 요청 (2단계 방식 1) | /v1/api/auth/ownership/req |
| 계좌점유인증 확인 (2단계 방식 2) | /v1/api/auth/ownership/check |
| ARS 인증 요청 | /v1/api/auth/ars |
| ARS 인증 확인 | /v1/api/auth/arscheck |
계좌관리 (3개)
| API 명 | URI |
|---|---|
| 계좌등록 | /v1/api/acnt/reg |
| 계좌해지 | /v1/api/acnt/unreg |
| 가맹점 자체 계좌등록 | /v1/api/acnt/reg/self |
이체 서비스 (4개)
| API 명 | URI |
|---|---|
| 결제 | /v1/api/pay/confirm |
| 결제 취소/환불 | /v1/api/pay/cancel |
| 송금 | /v1/api/pay/rmt |
| 송금계좌잔액 조회 | /v2/api/pay/rmt/blc |
정기결제 (5개)
| API 명 | URI |
|---|---|
| 정기결제 키 발행 | /v1/api/regular/reg |
| 정기결제 승인 | /v1/api/regular/confirm |
| 정기결제 해지 | /v1/api/regular/unreg |
| 정기결제 정보 조회 | /v1/api/regular/info |
| 정기결제 거래내역 조회 | /v1/api/regular/translist |
조회 서비스 (10개)
| API 명 | URI | 비고 |
|---|---|---|
| 거래결과조회 | /v1/api/pay/morw | |
| 거래내역조회 | /v1/api/pay/translist | |
| 계좌목록조회 | /v1/api/acnt/list | |
| 은행목록조회 | /v1/api/bank/list | |
| 은행점검조회 | /v1/api/bank/timecheck | |
| 계좌점유인증 내역 조회 | /v1/api/auth/ownership/translist | |
| 계좌점유인증 은행점검조회 | /v1/api/bank/timecheck/detail | |
| 금융결제원 출금이체정보 해지조회 | /v1/api/acnt/isttunreg/list | nspay 도메인 전용 |
| 테스트콜 | /v1/api/test/testcall | |
| 결제비밀번호 확인 | /v1/api/auth/pwdcnf |
요청/응답 기본 구조
모든 API의 요청과 응답은 JSON 형식을 사용합니다.
요청 예시
{
"mchtId": "가맹점 ID",
"ver": "0A19",
"method": "RA",
"bizType": "B0",
"encCd": "23",
"mchtTrdNo": "ORDER20240101100000",
"trdDt": "20240101",
"trdTm": "100000",
"pktHash": "SHA256 해쉬값",
"trdAmt": "AES 암호화된 금액"
}
응답 성공/실패 구분
| 필드 | 성공 | 실패 |
|---|---|---|
outStatCd | 0021 | 0031 |
outRsltCd | 0000 | 오류 코드 |
파라미터 검증 실패 시 응답 예시
{
"outStatCd": "0031",
"outRsltCd": "ST09",
"outRsltMsg": "유효하지 않는 요청전문"
}
