Refund & Cancel
Overview
A payment processed through iyzico can be refunded within a period of 365 days, 24/7.
Operation covers under two headlines;
Refund
Cancel
While It is important to note that the refund transaction will be reflected in the statement, the timing of the refund appearing on the card may vary depending on the respective banks typically taking a few days to complete.
Majority of banks’ are able to cancel any payment within the same day that payment was received (before banks perform their own reconciliation) where the payment will not appear in the credit card statement.
Refund or Cancel a payment only after the payment is charged.
Refund
Refund request processes on a transactional level, means that it can be refund either the entire payment or a partial of it.
To process a refund;
the payment transaction ID (
paymentTransactionId
)and the amount to be refunded (
price
) must be provided.
If the refund process is successful, the refunded amount (price) will be returned from the service. The refund amount (price) should be less than or equal to the original transaction amount (itemTransaction.paidPrice
) and the remaining refundable amount. As long as this rule is followed, multiple refunds can be made consecutively.
Refund Request;
Refund Request
POST
https://api.iyzipay.com/payment/refund
Request Body
Name | Type | Description |
---|---|---|
ip | String | Buyer IP address |
price* | String | Amount that needs to be refunded |
paymentTransactionId* | String | ID of the basket item that needs to be refunded |
locale | String | Language (default: tr) |
conversationId | String | Conversation ID to match request and response |
Refund Response;
Output Name | Data Type | Description |
---|---|---|
price | string | Refunded amount |
currency | string | Currency of payment |
paymentid | integer | ID of refunded payment |
paymentTransactionId | string | ID of the basket item that was refunded |
hostReference | string | ID of Acquirer Reference Number(ARN) on refunds. A record that consumers can track their refunds. |
status | string | Service response result (success / failure) |
errorCode | string | Error code if service response status is failure |
errorMessage | string | Error message if service response status is failure |
errorGroup | string | Error group if service response status is failure |
locale | string | Language (default: tr) |
systemTime | integer | Response system timestamp value |
conversationId | string | If set, conversation ID to match request and response |
Refund V2
Similar to Refund operation, iyzico offers Refund V2 which built upon paymentId
instead of paymentTransactionId.
It is strictly not recommended to use the Refund V2 service for orders with more than one product in the basket.
To process a refund v2;
the paymentID (
paymentId
)and the amount to be refunded (
price
) must be provided.
Refund V2 Request;
Refund V2 Request
POST
https://api.iyzipay.com/v2/payment/refund
Request Body
Name | Type | Description |
---|---|---|
ip | String | Buyer IP address |
price* | String | Amount that needs to be refunded |
paymentId* | String | ID of the payment that needs to be refunded |
locale | String | Language (default: tr) |
conversationId | String | Conversation ID to match request and response |
Refund V2 Response;
Output Name | Data Type | Description |
---|---|---|
price | string | Refunded amount |
currency | string | Currency of payment |
paymentId | integer | ID of refunded payment |
paymentTransactionId | string | ID of the basket item that was refunded |
hostReference | string | ID of Acquirer Reference Number(ARN) on refunds. A record that consumers can track their refunds. |
status | string | Service response result (success / failure) |
errorCode | string | Error code if service response status is failure |
errorMessage | string | Error message if service response status is failure |
errorGroup | string | Error group if service response status is failure |
locale | string | Language (default: tr) |
systemTime | integer | Response system timestamp value |
conversationId | string | If set, conversation ID to match request and response |
Cancel
Similar to refunds, merchant may cancel their transaction with iyzico services.
Important notes that the key distinctions between a cancel and a refund are;
Cancel can be processed on the same day as the payment and does not create any input/output entries on the card statement.
And cancel are not supporting partial amounts.
To initiate a cancellation, it is necessary to provide the payment ID (paymentId) associated with the transaction. If the cancellation process is successful, the canceled amount (price) will be returned from the service.
Cancel Request;
Cancel Request
POST
https://api.iyzipay.com/payment/cancel
Request Body
Name | Type | Description |
---|---|---|
paymentId* | String | ID of the payment |
conversationId | String | Optional parameter to match request and response |
ip | String | IP address of request |
locale | String | Language (default: tr) |
String |
Cancel Response;
Output Name | Data Type | Description |
---|---|---|
price | string | Total amount of order |
currency | string | Currency of order |
paymentid | integer | Id of cancelled payment. |
status | string | Service response result (success / failure) |
errorCode | string | Error code if service response status is failure |
errorMessage | string | Error message if service response status is failure |
errorGroup | string | Error group if service response status is failure |
locale | string | Language (default: tr) |
systemTime | integer | Response system timestamp value |
conversationId | string | If set, conversation ID to match request and response |
Last updated