Top-up API
Tops up (credits) Money or Points to a member.
API Information
POST/v1/approval/charge
Content-Type
application/json테스트
https://tb-mps-api.hectofinancial.co.kr/v1/approval/charge운영
https://mps-api.hectofinancial.co.kr/v1/approval/chargeTop-up Types
| Division Code | Type | Description |
|---|---|---|
| MP | Money top-up | Cash-equivalent prepaid balance top-up (withdrawal available) |
| PP | Points issuance | Event/promotion points (withdrawal not available) |
Top-up Method Codes
| Code | Top-up Method |
|---|---|
| CA | Credit card |
| ZOZ | 010 virtual account |
| EZ | My account payment |
| RA | Account transfer |
| PIN | PIN |
| RP | Simple cash payment |
| MM | Money transfer |
| PM | Points transfer |
Request Parameters
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
└custNoAN(20)Alphanumeric, up to 20 bytes*Prepaid member number.
Prepaid member number.
*Unique prepaid member number assigned by Hecto Financial.
└mTrdNoAN(50)Alphanumeric, up to 50 bytes*Merchant transaction reference number.
Merchant transaction reference number.
*Transaction reference number generated by the merchant (no Korean characters).
└divCdAN(2)Alphanumeric, up to 2 bytes*Division code.
Division code.
MP: Money top-up PP: Points issuance└trdDivDtlCdAN(10)Alphanumeric, up to 10 bytesTransaction division detail code.
Transaction division detail code.
*Only pre-registered transaction division detail codes can be used.
└chrgMeanCdAN(2)Alphanumeric, up to 2 bytes*Top-up method code.
Top-up method code.
CA: Credit card ZOZ: 010 virtual account EZ: My account payment RA: Account transfer PIN: PIN RP: Simple cash payment MM: Money transfer PM: Points transfer*For white-label top-up, enter the payMethod value (CA or RP) from the white-label payment API response.
└trdAmtAN(7)Alphanumeric, up to 7 bytes*
AES-256AES-256/ECB/PKCS5Padding + Base64Requested top-up amount.Requested top-up amount.
*AES-256/ECB/PKCS5Padding encryption required. Minimum top-up amount for Money is KRW 10,000.
└blcAmtAN(7)Alphanumeric, up to 7 bytes*
AES-256AES-256/ECB/PKCS5Padding + Base64Current balance.Current balance.
*Money or Points balance. AES-256/ECB/PKCS5Padding encryption required. For Money top-up, provide the Money balance.
└pntVldPdAN(8)Alphanumeric, up to 8 bytes*Points expiry date.
Points expiry date.
*yyyyMMdd format. Maximum validity period is 10 years.
└custBdnFeeAmtN(7)Numeric, up to 7 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Customer-borne fee amount.Customer-borne fee amount.
*AES-256/ECB/PKCS5Padding encryption required.
└chrgTrdNoAN(50)Alphanumeric, up to 50 bytesTop-up transaction reference number.
Top-up transaction reference number.
*Transaction reference number generated during Hecto Financial PG processing. Enter '00000' for external PG; enter the PG transaction number for internal PG.
└reqDtAN(8)Alphanumeric, up to 8 bytesRequest date.
Request date.
*yyyyMMdd format. If omitted, the server date is used automatically.
└reqTmAN(6)Alphanumeric, up to 6 bytesRequest time.
Request time.
*HHmmss format. If omitted, the server time is used automatically.
└mResrvField1AN(255)Alphanumeric, up to 255 bytesMerchant reserve field 1.
Merchant reserve field 1.
*Transmitted in plaintext. Do not include sensitive personal information.
└mResrvField2AN(255)Alphanumeric, up to 255 bytesMerchant reserve field 2.
Merchant reserve field 2.
*Transmitted in plaintext. Do not include sensitive personal information.
└mResrvField3AN(255)Alphanumeric, up to 255 bytesMerchant reserve field 3.
Merchant reserve field 3.
*Transmitted in plaintext. Do not include sensitive personal information.
└trdSumryAN(50)Alphanumeric, up to 50 bytesTransaction summary.
Transaction summary.
*Reason for issuance.
└pktHashAN(200)Alphanumeric, up to 200 bytes*
SHA-256SHA-256 hash value.(실시간 생성)SHA-256 hash value.
*Signature composition: prepaid member number + merchant ID + merchant transaction reference number + transaction amount (plaintext) + hash key.
Response Parameters
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
└rsltCdAN(4)Alphanumeric, up to 4 bytes*Result code.
0000Result code.
0000: Success Other: Failure└rsltMsgAN(255)Alphanumeric, up to 255 bytes*Result message.
SuccessResult message.
rsltObj (Response Object)
└custNoAN(20)Alphanumeric, up to 20 bytes*Prepaid member number.
2400001605Prepaid member number.
└mtrdNoAN(50)Alphanumeric, up to 50 bytes*Merchant transaction reference number.
ORDER20240716Merchant transaction reference number.
*No Korean characters.
└trdNoAN(50)Alphanumeric, up to 50 bytes*Transaction approval number.
24071616270200002193Transaction approval number.
*Transaction approval number issued by Hecto Financial.
└trdDivDtlCdAN(10)Alphanumeric, up to 10 bytesTransaction division detail code.
Transaction division detail code.
*Only pre-registered transaction division detail codes are used.
└trdAmtN(7)Numeric, up to 7 bytes*Transaction amount.
10000Transaction amount.
└custBdnFeeAmtN(7)Numeric, up to 7 bytes*Customer-borne fee amount.
0Customer-borne fee amount.
└mnyBlcN(7)Numeric, up to 7 bytes*Money balance.
25000Money balance.
*Money balance after the transaction.
└pntBlcN(7)Numeric, up to 7 bytes*Points balance.
1000Points balance.
*Points balance after the transaction.
└trdDtAN(8)Alphanumeric, up to 8 bytes*Transaction date.
20241212Transaction date.
*yyyyMMdd format.
└trdTmAN(6)Alphanumeric, up to 6 bytes*Transaction time.
192035Transaction time.
*HHmmss format.
└pktHashAN(200)Alphanumeric, up to 200 bytes*SHA-256 hash value.
SHA-256 hash value.
*Signature composition: prepaid member number + merchant ID + merchant transaction reference number + Hecto Financial transaction approval number + transaction amount + hash key.
Request Examples
Money Top-up
{
"custNo": "2400001605",
"mTrdNo": "ORDER20240716",
"divCd": "MP",
"chrgMeanCd": "CA",
"trdAmt": "AES-encrypted amount",
"blcAmt": "AES-encrypted balance",
"pntVldPd": "20340716",
"reqDt": "20241212",
"reqTm": "192035",
"pktHash": "hash value"
}
Points Issuance
{
"custNo": "2400001605",
"mTrdNo": "ORDER20240716",
"divCd": "PP",
"chrgMeanCd": "PIN",
"trdAmt": "AES-encrypted amount",
"blcAmt": "AES-encrypted balance",
"pntVldPd": "20340716",
"trdSumry": "Event points issuance",
"pktHash": "hash value"
}
Response Examples
Success
{
"rsltCd": "0000",
"rsltMsg": "Success",
"rsltObj": {
"custNo": "2400001605",
"mtrdNo": "ORDER20240716",
"trdNo": "24071616270200002193",
"trdAmt": "10000",
"custBdnFeeAmt": "0",
"mnyBlc": "25000",
"pntBlc": "1000",
"trdDt": "20241212",
"trdTm": "192035",
"pktHash": "f395b6725a9a18f2563ce34f8bc76698051d27c05de5ba815f463f00429061c"
}
}
Failure
{
"rsltCd": "1001",
"rsltMsg": "Member information does not exist."
}
Important Notes
- The minimum top-up amount for Money is KRW 10,000.
- Points cannot be withdrawn.
- The maximum validity period for Points is 10 years.
- The transaction reference number (
mTrdNo) must be unique.
Need technical support?
Code Samples
HectoFinancial GitHub