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?

무엇이든 물어보세요