010 Virtual Account Refund API

An API for refunding a completed 010 virtual account deposit transaction.


Test Key Information


API Information

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

Important Notes

Refund Service Registration Required

The refund feature is only available for merchants with refund service registered. Contact your sales representative to register for the refund service.
NOTE

Sandbox Environment Limitation

In the sandbox environment, refund requests using actual account holder names and account numbers will result in an error. Please perform refund testing in the production environment.

Request Parameters

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

params Object

mchtIdAN(10)Alphanumeric, up to 10 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
*C0: Refund
encCdN(2)Numeric, up to 2 bytes*
Encryption type code
mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*
Merchant order number for refund (newly generated)
trdDtN(8)Numeric, up to 8 bytes*
Refund request date (yyyyMMdd)
trdTmN(6)Numeric, up to 6 bytes*
Refund 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
*Refund request date + refund request time + merchant ID + merchant order number + refund amount (plaintext) + hash key
orgTrdNoAN(40)Alphanumeric, up to 40 bytes*
Transaction number issued by Hecto Financial at the time of issuance
crcCdA(3)Alphabetic, up to 3 bytes*
Currency code
cnclOrdN(3)Numeric, up to 3 bytes*
Cancel sequence (starts from 001; second partial cancel is 002)
taxTypeCdA(1)Alphabetic, up to 1 bytes
Tax exemption status. Follows merchant default settings if blank.
Y: Tax-exempt N: Taxable G: Mixed tax
cnclAmtN(9)Numeric, up to 9 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64
Refund amount
taxAmtN(9)Numeric, up to 9 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
Taxable amount of the refund (required for mixed tax)
vatAmtN(9)Numeric, up to 9 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
VAT amount of the refund (required for mixed tax)
taxFreeAmtN(9)Numeric, up to 9 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
Tax-free amount of the refund (required for mixed tax)
refundBankCdAN(3)Alphanumeric, up to 3 bytes*
Bank code for refund
refundAcntNoN(16)Numeric, up to 16 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64
Account number for refund
refundDpstrNmAHN(50)Alphanumeric + Korean, up to 50 bytes*
Account holder name for refund account
cnclRsnAHN(255)Alphanumeric + Korean, up to 255 bytes
Refund reason message

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*C0
Business type code
encCdN(2)Numeric, up to 2 bytes*23
Encryption type code
mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*REFUND20211231100000
Merchant order number
trdNoAN(40)Alphanumeric, up to 40 bytes*STBK_0123456789
Hecto Financial transaction number
trdDtN(8)Numeric, up to 8 bytes*20211231
Refund request date
trdTmN(6)Numeric, up to 6 bytes*120000
Refund 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)
outRsltMsgAHN(200)Alphanumeric + Korean, up to 200 bytes*Processed successfully.
Result message

data Object

pktHashAN(64)Alphanumeric, up to 64 bytes*75ac014c33165f3ee0c331123a0049f37a6e1578f8cec1d3d0374ffb75f18496
Response hash value
orgTrdNoAN(40)Alphanumeric, up to 40 bytesSTBK_0123456789
Original transaction number
cnclAmtN(9)Numeric, up to 9 bytesAES-256AES-256/ECB/PKCS5Padding1000
Refund amount
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
blcAmtN(12)Numeric, up to 12 bytesAES-256AES-256/ECB/PKCS5Padding0
Remaining cancellable balance after refund
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.

Request Example

{
  "params": {
    "mchtId": "nxva_sb_il",
    "ver": "0A18",
    "method": "VA",
    "bizType": "C0",
    "encCd": "23",
    "mchtTrdNo": "REFUND20211231100000",
    "trdDt": "20211231",
    "trdTm": "120000",
    "mobileYn": "N",
    "osType": "W"
  },
  "data": {
    "pktHash": "hash value",
    "orgTrdNo": "STBK_0123456789",
    "crcCd": "KRW",
    "cnclOrd": "001",
    "taxTypeCd": "N",
    "cnclAmt": "AES-encrypted refund amount",
    "refundBankCd": "011",
    "refundAcntNo": "AES-encrypted account number",
    "refundDpstrNm": "Hong Gil-dong"
  }
}

Response Example

Success

{
  "params": {
    "mchtId": "nxva_sb_il",
    "ver": "0A18",
    "method": "VA",
    "bizType": "C0",
    "encCd": "23",
    "mchtTrdNo": "REFUND20211231100000",
    "trdNo": "STBK_0123456791",
    "trdDt": "20211231",
    "trdTm": "120000",
    "outStatCd": "0021",
    "outRsltCd": "0000",
    "outRsltMsg": "Processed successfully."
  },
  "data": {
    "pktHash": "response hash value",
    "orgTrdNo": "STBK_0123456789",
    "cnclAmt": "AES-encrypted refund amount",
    "blcAmt": "AES-encrypted balance"
  }
}

Failure

{
  "params": {
    "mchtId": "nxva_sb_il",
    "ver": "0A18",
    "method": "VA",
    "bizType": "C0",
    "encCd": "23",
    "mchtTrdNo": "REFUND20211231100000",
    "trdNo": "",
    "trdDt": "20211231",
    "trdTm": "120000",
    "outStatCd": "0031",
    "outRsltCd": "0005",
    "outRsltMsg": "Refund service is not registered for this merchant."
  },
  "data": {}
}
💬

Need technical support?