Open Banking Account Enrollment API

Sends an Open Banking account enrollment request from the merchant server to the Hecto Financial server.

For customers already enrolled for direct debit via the firm banking system, call this API separately after obtaining their consent to the Open Banking enrollment terms. For first-time account enrollment, use the account enrollment API to process firm banking and Open Banking registration simultaneously.

API Information

POST/v2/api/acnt/obreg
Content-Typeapplication/json
테스트https://tbnpay.settlebank.co.kr/v2/api/acnt/obreg
운영https://npay.settlebank.co.kr/v2/api/acnt/obreg

Request Parameters

타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자
예: AN(10) = 영문+숫자, 최대 10byte
hdInfoAN(50)Alphanumeric, up to 50 bytes*
Message information code.
*Fixed value
mchtIdAN(8)Alphanumeric, up to 8 bytes*
Unique Merchant ID assigned by Hecto Financial.
mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*
Merchant order number.
*No Korean characters
mchtCustIdAN(100)Alphanumeric, up to 100 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64 (Standard)
Unique customer ID or key provided by the merchant.
reqDtN(8)Numeric, up to 8 bytes*
Request date.
*yyyyMMdd
reqTmN(6)Numeric, up to 6 bytes*
Request time.
*HH24MISS
mchtCustNmAN(10)Alphanumeric, up to 10 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64 (Standard)
Account holder name.
*English/numeric/Korean (Korean: 3 bytes per character)
uiiN(6)Numeric, up to 6 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64 (Standard)
Date of birth.
*Date of birth: yyMMdd. Business registration numbers are not supported.
bankCdN(3)Numeric, up to 3 bytes*
Bank code.
*Refer to the financial institution code table
custAcntNoAN(15)Alphanumeric, up to 15 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64 (Standard)
Account number.
*Account number excluding "-", minimum 9 digits, maximum 15 digits
custIpAN(15)Alphanumeric, up to 15 bytes
Customer IP address.
*The customer device's IP address, not the merchant server IP
pktHashAN(200)Alphanumeric, up to 200 bytes*SHA-256(실시간 생성)
SHA-256 hash value.
*Merchant ID + customer ID (plaintext) + request date + request time + account number (plaintext) + auth key
sexDivCdAN(1)Alphanumeric, up to 1 bytes*
Gender code.
*First digit of the resident registration number back half
ciAN(88)Alphanumeric, up to 88 bytes*
Customer CI.
emailAN(100)Alphanumeric, up to 100 bytes
Customer email address.

Request Hash Code

ItemCombined fields
pktHash valueMerchant ID + customer ID (plaintext) + request date + request time + account number (plaintext) + auth key

Response Parameters

타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자
예: AN(10) = 영문+숫자, 최대 10byte
outStatCdAN(4)Alphanumeric, up to 4 bytes*
Transaction status code (success/failure).
0021: Success 0031: Failure
outRsltCdAN(4)Alphanumeric, up to 4 bytes*
Decline code.
*Refer to rejection code table. ST08: If the account is already enrolled, the enrolled account information is returned.
outRsltMsgAN(200)Alphanumeric, up to 200 bytes*Processed successfully.
Result message.
*Error details are returned when an error occurs.
mchtCustIdAN(100)Alphanumeric, up to 100 bytes*AES-256AES-256/ECB/PKCS5Paddingkimhecto
Unique customer ID or key provided by the merchant.
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
bankCdN(3)Numeric, up to 3 bytes*004
3-digit bank code.
custAcntNoAN(15)Alphanumeric, up to 15 bytes*234*******123
Account number (masked).
svcDivCdN(4)Numeric, up to 4 bytes*
Service registered for direct debit.
1: Firm banking 2: Open Banking 3: Firm banking and Open Banking
mchtTrdNoAN(100)Alphanumeric, up to 100 bytesOID201902210001
Merchant order number.
*No Korean characters
trdNoAN(50)Alphanumeric, up to 50 bytes*STFP_FIRM12345678901234567890
Hecto Financial transaction reference number.
obPayerNoAN(30)Alphanumeric, up to 30 bytes20220630123456789012
Open Banking payer number.
*Customer payer number registered via Open Banking
fintechUseNoAN(24)Alphanumeric, up to 24 bytes123456789012345678901234
Fintech usage number (fintechUseNo).
*Open Banking user account identifier
userSeqNoAN(10)Alphanumeric, up to 10 bytes1234567890
User sequence number.
*Open Banking user identifier

Request Example

{
  "hdInfo": "SPAY_OR0W_1.0",
  "mchtId": "midtest",
  "mchtTrdNo": "OID201902210001",
  "mchtCustId": "AES-encrypted customer ID",
  "reqDt": "20191231",
  "reqTm": "120000",
  "mchtCustNm": "AES-encrypted account holder name",
  "uii": "AES-encrypted date of birth",
  "bankCd": "004",
  "custAcntNo": "AES-encrypted account number",
  "custIp": "127.0.0.1",
  "pktHash": "hash value",
  "sexDivCd": "1",
  "ci": "customer CI value",
  "email": "customer@example.com"
}

Response Example

{
  "outStatCd": "0021",
  "outRsltCd": "0000",
  "outRsltMsg": "Processed successfully.",
  "mchtCustId": "AES-encrypted customer ID",
  "bankCd": "004",
  "custAcntNo": "234*******123",
  "svcDivCd": "2",
  "mchtTrdNo": "OID201902210001",
  "trdNo": "STFP_FIRM12345678901234567890",
  "obPayerNo": "20220630123456789012",
  "fintechUseNo": "123456789012345678901234",
  "userSeqNo": "1234567890"
}
💬

Need technical support?