Money Withdrawal API

Withdraws a member's Money to the registered bank account.


API Information

POST/v1/money/withdrawal
Content-Typeapplication/json
테스트https://tb-mps-api.hectofinancial.co.kr/v1/money/withdrawal
운영https://mps-api.hectofinancial.co.kr/v1/money/withdrawal

Timeout Setting

Set the timeout for withdrawal API calls to at least 25 seconds. (Actual bank response can take up to 20 seconds.)

Withdrawal Types

TypeAPIDescription
Money withdrawal/v1/money/withdrawalStandard Money withdrawal
Pending withdrawal/v1/money/wait/withdrawalWithdrawal of Money in pending state (full amount only)
Withdrawable balance inquiry/v1/wallet/balance/withdrawalInquiry of withdrawable amount and count
NOTE

Points Cannot Be Withdrawn

Points cannot be withdrawn. They can only be used for spend (payment).

Request Parameters

타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자
예: AN(10) = 영문+숫자, 최대 10byte
custNoAN(20)Alphanumeric, up to 20 bytes*
Prepaid member number.
*Unique prepaid member number assigned by Hecto Financial.
mTrdNoAN(50)Alphanumeric, up to 50 bytes*
Merchant transaction reference number.
*Transaction reference number generated by the merchant (no Korean characters).
divCdAN(2)Alphanumeric, up to 2 bytes*
Division code.
MW: Money withdrawal (fixed value)
trdAmtN(7)Numeric, up to 7 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64
Requested withdrawal amount.
*AES-256/ECB/PKCS5Padding encryption, then Base64 encoding.
mnyBlcN(7)Numeric, up to 7 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64
Money balance.
*AES-256/ECB/PKCS5Padding encryption required.
custBdnFeeAmtN(7)Numeric, up to 7 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
Customer-borne fee amount.
*AES-256/ECB/PKCS5Padding encryption required.
reqDtAN(8)Alphanumeric, up to 8 bytes
Request date.
*yyyyMMdd format. If omitted, the server date is used automatically.
reqTmAN(6)Alphanumeric, up to 6 bytes
Request time.
*HHmmss format. If omitted, the server time is used automatically.
pinNoAN(6)Alphanumeric, up to 6 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64
Payment PIN.
*AES-256/ECB/PKCS5Padding encryption required.
mResrvField1AN(255)Alphanumeric, up to 255 bytes
Merchant reserve field 1.
*Transmitted in plaintext. Do not include sensitive personal information.
mResrvField2AN(255)Alphanumeric, up to 255 bytes
Merchant reserve field 2.
*Transmitted in plaintext. Do not include sensitive personal information.
mResrvField3AN(255)Alphanumeric, up to 255 bytes
Merchant reserve field 3.
*Transmitted in plaintext. Do not include sensitive personal information.
pktHashAN(200)Alphanumeric, up to 200 bytes*SHA-256(실시간 생성)
SHA-256 hash value.
*Signature composition: prepaid member number + merchant ID + merchant transaction reference number + transaction amount (withdrawal amount, plaintext) + hash key.

Response Parameters

타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자
예: AN(10) = 영문+숫자, 최대 10byte
rsltCdAN(4)Alphanumeric, up to 4 bytes*0000
Result code.
0000: Success Other: Failure
rsltMsgAN*Success
Result message.

rsltObj (Response Object)

custNoAN(20)Alphanumeric, up to 20 bytes*2400001605
Prepaid member number.
mtrdNoAN(50)Alphanumeric, up to 50 bytes*ORDER20240716
Merchant transaction reference number.
*No Korean characters.
trdNoAN(50)Alphanumeric, up to 50 bytes*24071616270200002193
Transaction approval number.
*Unique transaction number assigned by Hecto Financial.
trdAmtN(7)Numeric, up to 7 bytes*10000
Transaction amount.
custBdnFeeAmtN(7)Numeric, up to 7 bytes*100
Customer-borne fee amount.
mnyBlcN(7)Numeric, up to 7 bytes*10000
Money balance after the transaction.
trdDtAN(8)Alphanumeric, up to 8 bytes*20241212
Transaction date.
*yyyyMMdd format.
trdTmAN(6)Alphanumeric, up to 6 bytes*192035
Transaction time.
*HHmmss format.
pktHashAN(200)Alphanumeric, up to 200 bytes*
SHA-256 hash value.
*Signature composition: prepaid member number + merchant ID + merchant transaction reference number + transaction approval number + transaction amount + hash key.

Request Example

{
  "custNo": "2400001605",
  "mTrdNo": "ORDER20240716",
  "divCd": "MW",
  "trdAmt": "AES-encrypted amount",
  "mnyBlc": "AES-encrypted balance",
  "reqDt": "20241212",
  "reqTm": "192035",
  "pinNo": "AES-encrypted PIN",
  "pktHash": "hash value"
}

Response Examples

Success

{
  "rsltCd": "0000",
  "rsltMsg": "Success",
  "rsltObj": {
    "custNo": "2400001605",
    "mtrdNo": "ORDER20240716",
    "trdNo": "24071616270200002193",
    "trdAmt": "10000",
    "custBdnFeeAmt": "100",
    "mnyBlc": "10000",
    "trdDt": "20241212",
    "trdTm": "192035",
    "pktHash": "f395b6725a9a18f2563ce34f8bc76698051d27c05de5ba815f463f00429061c"
  }
}

Failure (Insufficient Balance)

{
  "rsltCd": "2001",
  "rsltMsg": "Insufficient balance available for withdrawal."
}

Failure (Incorrect PIN)

{
  "rsltCd": "3001",
  "rsltMsg": "Incorrect PIN. (1/5 attempts)"
}

Important Notes

Payment PIN Attempt Limit

The account will be locked after 5 consecutive incorrect PIN entries.
  • Withdrawal is only possible to the registered bank account.
  • To change the withdrawal account, use the My Information screen.
  • Withdrawal limits may apply.
  • Points cannot be withdrawn.
💬

Need technical support?