Duplicate Amount Check (A7) API

An API that checks whether a transaction has already been issued at the same amount. Used for B2B to prevent duplicate issuance.


Test Key Information


API Information

POST/spay/APIVBank.do
Content-Typeapplication/json
테스트https://tbgw.settlebank.co.kr/spay/APIVBank.do
운영https://gw.settlebank.co.kr/spay/APIVBank.do

Important Notes

NOTE

Required for B2B Use

For B2B service, you must call the duplicate amount check API before issuance to verify for duplicates. If a virtual account has already been issued, the issuance request will fail.

Request Parameters

타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자
예: AN(10) = 영문+숫자, 최대 10byte

params Object

mchtIdAN(12)Alphanumeric, up to 12 bytes*
Unique merchant ID assigned by Hecto Financial
verAN(4)Alphanumeric, up to 4 bytes*
Message version
methodA(2)Alphabetic, up to 2 bytes*
Payment method
bizTypeAN(2)Alphanumeric, up to 2 bytes*
Business type code
*A7: Duplicate Amount Check
encCdN(2)Numeric, up to 2 bytes*
Encryption type code
mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*
Merchant order number (same as the order number to be used in the issuance request)
trdDtN(8)Numeric, up to 8 bytes*
Request date (yyyyMMdd)
trdTmN(6)Numeric, up to 6 bytes*
Request time (HHmmss)
mobileYnA(1)Alphabetic, up to 1 bytes
Mobile indicator
Y: Mobile web/app N: PC or other
osTypeA(1)Alphabetic, up to 1 bytes
OS type
A: Android I: IOS W: Windows M: Mac E: Other

data Object

pktHashAN(64)Alphanumeric, up to 64 bytes*SHA-256(실시간 생성)
Hash value generated using SHA256
*Transaction date + transaction time + merchant ID + merchant order number + transaction amount (plaintext) + hash key
bankCdAN(3)Alphanumeric, up to 3 bytes*
Bank code
*Fixed to Kbank
vAcntNoAN(14)Alphanumeric, up to 14 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64
Virtual account number (phone number + 3 digits for B2B)
ordNmAN(30)Alphanumeric, up to 30 bytes
Orderer name
trdAmtN(9)Numeric, up to 9 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64
Transaction amount
dpstrNmAHN(50)Alphanumeric + Korean, up to 50 bytes
Account holder name

Response Parameters

타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자
예: AN(10) = 영문+숫자, 최대 10byte

params Object

mchtIdAN(10)Alphanumeric, up to 10 bytes*nxva_sb_il
Merchant ID
verAN(4)Alphanumeric, up to 4 bytes*0A18
Message version
methodA(2)Alphabetic, up to 2 bytes*VA
Payment method
bizTypeAN(2)Alphanumeric, up to 2 bytes*A7
Business type code
encCdN(2)Numeric, up to 2 bytes*23
Encryption type code
mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*ORDER20211231100000
Merchant order number
trdNoAN(40)Alphanumeric, up to 40 bytes*STBK_0123456789
Hecto Financial transaction number
trdDtN(8)Numeric, up to 8 bytes*20211231
Request date
trdTmN(6)Numeric, up to 6 bytes*120000
Request time
outStatCdAN(4)Alphanumeric, up to 4 bytes*0021
Transaction status code
0021: Success 0031: Failure
outRsltCdAN(4)Alphanumeric, up to 4 bytes*0000
Result code (0000 indicates success)
*VA03: For B2B use, an already-issued virtual account number exists (issuance request will fail)
outRsltMsgAHN(200)Alphanumeric + Korean, up to 200 bytes*Processed successfully.
Result message

data Object

pktHashAN(64)Alphanumeric, up to 64 bytes*75ac014c33165f3ee0c331123a0049f37a6e1578f8cec1d3d0374ffb75f18496
Hash value passed as-is from the request
bankCdAN(3)Alphanumeric, up to 3 bytes*089
Bank code
vAcntNoAN(14)Alphanumeric, up to 14 bytes*AES-256AES-256/ECB/PKCS5Padding01012345678
Virtual account number
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
trdAmtN(9)Numeric, up to 9 bytes*AES-256AES-256/ECB/PKCS5Padding1000
Transaction amount
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
dupAmtCntN(6)Numeric, up to 6 bytes*0
Duplicate amount count (0 if none)
dpstrNmAHN(50)Alphanumeric + Korean, up to 50 bytes*010가상계좌
Account holder name (B2C: '010가상계좌', B2B: '010_CustomerName')

Request Example

{
  "params": {
    "mchtId": "nxva_sb_il",
    "ver": "0A18",
    "method": "VA",
    "bizType": "A7",
    "encCd": "23",
    "mchtTrdNo": "ORDER20211231100000",
    "trdDt": "20211231",
    "trdTm": "120000",
    "mobileYn": "N",
    "osType": "W"
  },
  "data": {
    "pktHash": "hash value",
    "bankCd": "089",
    "vAcntNo": "AES-encrypted virtual account number",
    "ordNm": "Hong Gil-dong",
    "trdAmt": "AES-encrypted amount",
    "dpstrNm": "010가상계좌"
  }
}

Response Example

{
  "params": {
    "mchtId": "nxva_sb_il",
    "ver": "0A18",
    "method": "VA",
    "bizType": "A7",
    "encCd": "23",
    "mchtTrdNo": "ORDER20211231100000",
    "trdNo": "STBK_0123456789",
    "trdDt": "20211231",
    "trdTm": "120000",
    "outStatCd": "0021",
    "outRsltCd": "0000",
    "outRsltMsg": "Processed successfully."
  },
  "data": {
    "pktHash": "hash value",
    "bankCd": "089",
    "vAcntNo": "AES-encrypted virtual account number",
    "trdAmt": "AES-encrypted amount",
    "dupAmtCnt": "0",
    "dpstrNm": "010가상계좌"
  }
}
💬

Need technical support?