Cancel Mobile Payment API

This API processes same-month cancellations for mobile payment transactions. Payments from previous months must use the Refund API.

Test Key Information


API Information

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

Important Notes

Mobile Payment Cancellation Important Notes

The cancellation period for carrier billing (DCB) payments is limited to the current month. From the following month onwards, the Refund API must be used.
  • Current month: Use the Cancel API
  • Following month onwards: Use the Refund API (e.g., a payment approved on 2023-06-30 requires the Refund API from 2023-07-01)
  • Partial cancellation: Increment the cancellation sequence (cnclOrd) sequentially for each request.
  • On cancellation failure, check the rfdPsblCd response to determine refund eligibility.

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
nxhp_sb_il: Mobile Payment sandbox
└verAN(4)Alphanumeric, up to 4 bytes*
Message version
*Fixed value
└methodA(2)Alphabetic, up to 2 bytes*
Payment method
*Fixed value (MP: Mobile Payment)
└bizTypeAN(2)Alphanumeric, up to 2 bytes*
Business type code
*Fixed value (C0: Cancel)
└encCdN(2)Numeric, up to 2 bytes*
Encryption type code
*Fixed value
└mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*
Unique order number generated by the merchant
└trdDtN(8)Numeric, up to 8 bytes*
Cancellation request date (YYYYMMDD)
└trdTmN(6)Numeric, up to 6 bytes*
Cancellation 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
NOTE

Hash Generation Combination

trdDt + trdTm + mchtId + mchtTrdNo + cnclAmt (plaintext) + hashKey
└orgTrdNoAN(40)Alphanumeric, up to 40 bytes*
Transaction number issued by Hecto Financial at the time of payment
└crcCdA(3)Alphabetic, up to 3 bytes*
Currency code
*Fixed value
└cnclOrdN(3)Numeric, up to 3 bytes*
Cancellation sequence (starts at 001; use 002 for the 2nd partial cancellation)
└cnclAmtN(12)Numeric, up to 12 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64
Cancellation amount
└taxTypeCdA(1)Alphabetic, up to 1 bytes
Tax exemption status
N: Taxable Y: Tax-exempt G: Mixed taxation
└taxAmtN(12)Numeric, up to 12 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
Taxable amount within the cancellation amount (required for mixed taxation)
└vatAmtN(12)Numeric, up to 12 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
VAT amount within the cancellation amount (required for mixed taxation)
└taxFreeAmtN(12)Numeric, up to 12 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
Tax-free amount within the cancellation amount (required for mixed taxation)
└cnclRsnAHN(255)Alphanumeric + Korean, up to 255 bytes
Cancellation reason

Response Parameters

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

params Object

└mchtIdAN(10)Alphanumeric, up to 10 bytes*nxhp_sb_il
Merchant ID
└verAN(4)Alphanumeric, up to 4 bytes*0A19
Message version
└methodA(2)Alphabetic, up to 2 bytes*MP
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*ORDER20211231100000
Merchant order number
└trdNoAN(40)Alphanumeric, up to 40 bytes*STFP_PGMPnxhp_sb_il0211129135810M1494620
Hecto Financial transaction number
└trdDtN(8)Numeric, up to 8 bytes*20211231
Cancellation request date (YYYYMMDD)
└trdTmN(6)Numeric, up to 6 bytes*100000
Cancellation request time (HHMMSS)
└outStatCdAN(4)Alphanumeric, up to 4 bytes*0021
Transaction status code (success/failure)
0021: Success 0031: Failure
└outRsltCdAN(4)Alphanumeric, up to 4 bytes*0000
Result code
└outRsltMsgAHN(200)Alphanumeric + Korean, up to 200 bytes*Processed successfully.
Result message

data Object

└pktHashAN(64)Alphanumeric, up to 64 bytes*f395b6725a9a18...
Hash value from the request, returned as-is
└orgTrdNoAN(40)Alphanumeric, up to 40 bytes*STFP_PGMPnxhp_sb_il0211129135810M1494620
Transaction number issued by Hecto Financial at the time of payment
└cnclAmtN(12)Numeric, up to 12 bytes*AES-256AES-256/ECB/PKCS5Padding1000
Cancellation amount
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
└blcAmtN(12)Numeric, up to 12 bytes*AES-256AES-256/ECB/PKCS5Padding0
Remaining cancellable balance for the transaction number upon successful cancellation
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
└rfdPsblCdA(1)Alphabetic, up to 1 bytesY
Refund eligibility code (returned when cancellation fails)
Y: Refund available N: Refund not available (service not registered) C: Refund not available (refund conditions not met)
💬

Need technical support?

무엇이든 물어보세요