Retrieve chargebacks via API
Use the Chargebacks API to get information about chargebacks related to your transactions.
Chargebacks are initiated by the cardholder’s bank when a transaction is disputed. As a merchant, you cannot trigger a chargeback, but you can use the Chargebacks API to retrieve data about disputes that affect your account. You can:
- Retrieve chargeback data by
ARN
or original transactionunique_id
- Fetch a full list of dispute events for a transaction
- Search by date range (paginated)
- Enable real-time notifications via webhook or email
Chargeback types
The API supports all chargeback event types, including:
Type | Description |
---|---|
1st chargeback | Initial dispute filed by the cardholder |
Re-presentment | Response from acquirer to challenge a chargeback |
2nd Chargeback | Follow-up dispute (Mastercard only) |
Reversal | Withdrawal of a chargeback or representment |
Transfer | Internal scheme/accounting transaction |
Retrieve a single chargeback
You can retrieve a single chargeback by providing either:
- The arn (Acquirer Reference Number), or
- The original_transaction_unique_id of the transaction.
Request parameters
Parameter | Required | Format | Description |
---|---|---|---|
arn |
Yes* | string (255) | Acquirer Reference Number of the chargeback |
original_transaction_unique_id |
Yes* | string (255) | Unique ID of the original transaction |
*At least one of the two parameters must be provided.
Request example:
curl https://username:password@staging.gate.emerchantpay.net/chargebacks \
-X POST \
-H “Content-Type: text/xml” \
-d ‘
<?xml version=”1.0″ encoding=”UTF-8″?>
<chargeback_request>
<arn>74537604221431003881865</arn>
</chargeback_request>
Retrieve all chargeback events for a transaction
To receive all related chargeback events for a transaction (e.g. 1st chargeback, representment, reversal), add
Request example
<chargeback_request>
<original_transaction_unique_id>53b1f5eacc9e4d3a3afebb4e993fe962</original_transaction_unique_id>
<mode>list</mode>
</chargeback_request>
Retrieve chargebacks by date range
Use this method to retrieve all chargebacks posted within a specified date range. This method returns paginated results, up to 100 entries per page.
Parameter | Required | Format | Description |
---|---|---|---|
start_date |
Yes | yyyy-mm-dd | Start of the requested date range |
end_date |
No | yyyy-mm-dd | End of the requested date range |
import_date |
No | yyyy-mm-dd | Optional filter by chargeback import date |
page |
No | integer | Page number (default: 1) |
per_page |
No | integer | Results per page (default: 100) |
externally_processed |
No | string | Filter by processing source: genesis, external, or all |
processing_type |
No | string | Filter by channel: card_present, card_not_present, or all |
Request example
<chargeback_request>
<start_date>2025-05-01</start_date>
<end_date>2025-05-31</end_date>
<page>1</page>
<processing_type>card_not_present</processing_type>
</chargeback_request>’
XML response example
Each chargeback response includes transaction and dispute details.
<chargeback_response>
<type>1st Chargeback</type>
<post_date>2025-05-12</post_date>
<reason_code>4855</reason_code>
<reason_description>Non-receipt of merchandise</reason_description>
<chargeback_amount>300.00</chargeback_amount>
<chargeback_currency>EUR</chargeback_currency>
<merchant_funding_amount>1003.72</merchant_funding_amount>
<merchant_transaction_reference>b76e9a54bdc99b3</merchant_transaction_reference>
<card_number>554960******5069</card_number>
<card_brand>master</card_brand>
<customer_email>john_doe@example.com</customer_email>
<transaction_type>sale3d</transaction_type>
<original_transaction_unique_id>f9634ec5e7db…</original_transaction_unique_id>
<arn>74537604221431003881865</arn>
</chargeback_response>
Response parameters
Parameter | Format | Description |
---|---|---|
type |
string | Type of chargeback event (e.g. 1st Chargeback, Representment) |
post_date |
string | Date the dispute posted |
reason_code |
string | Chargeback reason code |
reason_description |
string | Scheme-specific reason description |
chargeback_amount |
float | Amount disputed by the issuer |
chargeback_currency |
string (3) | Currency of the disputed amount (ISO 4217) |
chargeback_account_amount |
float | Scheme settlement amount of the transaction |
chargeback_account_currency |
string (3) | Scheme settlement currency of the transaction |
merchant_funding_amount |
float | Financial impact to the merchant account |
merchant_funding_currency |
string (3) | Currency of the financial impact to the merchant |
original_transaction_amount |
float | Amount of the original transaction |
original_transaction_currency |
string (3) | Currency of the original transaction |
merchant_settlement_amount |
float | Amount settled with the merchant before deductions |
merchant_settlement_currency |
string (3) | Currency of the merchant settlement |
network_settlement_amount |
float | Amount settled with the payment network before deductions |
network_settlement_currency |
string (3) | Currency of the network settlement |
merchant_dba_name |
string | Merchant name as cleared to the schemes |
merchant_number |
string | Merchant number that processed the transaction |
authorization_code |
string | Authorization code of the chargeback’s transaction |
batch_number |
string | Batch number from the presentment submitter |
cnn |
string | Chargeback Control Number (if applicable) |
merchant_transaction_reference |
string | Merchant’s internal reference number |
capture_method |
string | Method used for transaction capture (e.g., 3D Secure) |
card_number |
string | Masked card number |
card_brand |
string | Card brand (e.g., Visa, Mastercard) |
customer_email |
string | Cardholder’s email address |
customer_phone |
integer | Cardholder’s phone number |
transaction_type |
string | Transaction type of the original presentment |
original_transaction_unique_id |
string | Unique ID of the original transaction |
original_type |
string | Original transaction type (e.g., Purchase) |
original_transaction_date |
date | Transaction date of the original presentment |
original_post_date |
date | Posting date of the original presentment |
original_slip |
string | Slip number of the original presentment |
item_slip_number |
string | Slip number of the chargeback event |
arn |
string | Acquirer Reference Number of the transaction |
Chargeback notifications
You can receive real-time chargeback updates by enabling email or API notifications.
Notifications are sent to the admin user of your merchant account (email). API notifications are identical in structure to asynchronous payment notifications. To enable notifications, contact tech-support@emerchantpay.com.
Error responses
Code | Message | Description |
---|---|---|
470 | Chargeback not found | No chargeback matched the criteria |
400 | Malformed request | Invalid or missing XML |
401 | Unauthorized | Invalid credentials |
403 | Access denied | IP not whitelisted |
500 | Server error | Retry later or contact support |
For more information, see the API reference.