⌨️Cancel payment API
Cancels a payment in full or partially regardless of the payment method and PG.
Cancels an approved payment.
POST https://api.iamport.kr/payments/cancel
Credit card/instant account transfer/mobile micropayment: cancellation is processed immediately.
Virtual account: if you provide the refund account information, the refund information will be registered with PG and processed on the next business day. (Requires virtual account special service contract)
Request Body
imp_uid*
String(32)
ChaiPort transaction ID
reason
String(256)
Reason for cancellation
checksum
Double
Refundable amount
amount
Double
Amount to refund (Full refund if null)
merchant_uid
String(40)
Order ID (Required if imp_uid is null)
tax_free
Double
Tax free amount out of amount (0 if null)
refund_bank
String(4)
Refund account bank code (Refer to bank codes list below, required for virtual account cancellation)
refund_holder
String(16)
Refund account holder (Required for virtual account cancellation)
refund_account
String(16)
Refund account number (Required for virtual account cancellation)
refund_tel
String(16)
Refund account holder's phone number (Required for virtual account cancellation and Smartro PG)
code * integer
Response code
0: success, Not 0: check the message
message * string
Response message
A non-zero code includes a message like 'Invalid payment info.
response (PagedPaymentAnnotation, optional)
imp_uid * string(32)
i'mport payment transaction UID
merchant_uid * string(40)
Order ID
pay_method * string(20)
Payment method code
channel * string(10)
Payment environment code
['pc', 'mobile', 'api']
pg_provider * string(16)
PG code
emb_pg_provider * string(16)
Hub-type PG code
pg_tid * string(80)
PG transaction ID
pg_id * string(80)
PG MID
escrow boolean
Indicates an escrow payment
apply_num string(20)
Credit card approval number
bank_code string(4)
Bank code
bank_name string(20)
Bank name
card_code string(3)
Credit card code (KFTC Credit Card Codes: link )
card_name string(20)
Credit card name
card_quota integer
Number of installments (0 means one-off)
card_number string(20)
Masked credit card number
card_type string(2)
Card type code
vbank_code string(4)
Virtual account bank code (refer to image below)
vbank_name string(20)
Refund virtual account
vbank_holder string(16)
Refund virtual account holder
vbank_date string
Refund virtual account expiration (UNIX timestamp)
vbank_issued_at string
Refund virtual account created at (UNIX timestamp)
name string(40)
Product name
amount * integer
Order (payment) amount
cancel_amount integer
Cancelled amount
currency string(3)
Currency
buyer_name string(16)
Customer name
buyer_email string(64)
Customer email
buyer_tel string(16)
Customer phone
buyer_addr string(128)
Customer address
buyer_postcode string(8)
Customer zip code
custom_data string
echo data as JSON string
user_agent string(256)
UserAgent of the device where payment is initiated
status * string(20)
Payment status code
started_at * string
Payment started at (UNIX timestamp)
paid_at * string
Payment completed at (UNIX timestamp)
failed_at * string
Payment failed at (UNIX timestamp)
cancelled_at * string
Payment cancelled at (UNIX timestamp)
fail_reason string(256)
Reason for failure
cancel_reason string(256)
Reason for cancellation
receipt_url string(300)
Credit card receipt URL
cash_receipt_issued boolean
Option to automatically issue cash receipt
customer_uid string(80)
customer_uid related to the payment transaction
customer_uid_usage string(20)
customer_uid use code
['issue', 'payment', 'payment.scheduled']
cancel_history (Array[PaymentCancelAnnotation], optional):
Cancellation/partial cancellation history
cancel_history array []
pg_tid * string
PG cancellation transaction ID
amount * integer
Cancelled amount
cancelled_at * string
Cancelled at (UNIX timestamp)
reason * string(256)
Reason for cancellation
receipt_url * string(300)
Cancellation receipt URL. Availability varies by PG.
Key parameters
imp_uid&merchant_uidAt least one of these parameters must be specified.
checksumintegerRefundable amount
The
checksumis used to check whether the refundable amount is the same between the API requester and the i'mport server. If they do not match, the refund request will fail. If thechecksumis null, the verification is not performed.
amount* integerAmount to cancel
If not specified, a full refund is requested.
Swagger Test Link
Last updated
