Respond to Chargeback Disputes using the API

The process of responding to a Chargeback utilizes the following endpoints:

Endpoint

Description

Endpoint

Description

/chargebackStatuses/{id}

Used to check on the logged status changes of a Chargeback.

/chargebackDocuments

Used to create a record on the server for a chargeback document or file upload

/files/chargebackDocuments/{chargebackDocumentId}

Used to upload the actual chargeback evidence file, such as document or image, and associate it with the chargebackDocument server record.

/chargebackMessages

Used to send a Merchant response to an Issuer about a specific Dispute Stage option (Accept Liability or Respond with Evidence).

Required Chargeback Response Headers

Each of the endpoints above will require specific headers:

Check Chargeback Status Header

GET /chargebackStatuses HTTP/1.1 Content-Type: application/json Host: api-test.payrix.com APIKEY: {yourAPIKey}

Document Record Header

POST /chargebackDocuments HTTP/1.1 Content-Type: application/json Host: api-test.payrix.com APIKEY: {yourAPIKey}

File Upload Headers

POST /files/chargebackDocuments/{chargebackDocumentId} HTTP/1.1 Content-Length: 226 Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="file"; filename="{yourDocumentFile}" Content-Type: application/json Host: api-test.payrix.com (Form Data Placeholder) ------WebKitFormBoundary7MA4YWxkTrZu0gW--

Chargeback Response Message Header

 

Responding to a Chargeback

With the steps below, you’ll utilize a combination of Chargeback web alerts to receive updates on changes to the Chargeback process and various endpoints to check the status, respond to, and provide evidence for the Merchant’s Chargeback response:

  1. Retrieve the Chargeback ID

  2. Find the Chargeback Status (Dispute Stage)

  3. Create a chargebackDocument Record for Your Evidence Upload

  4. Upload each Evidence File to the associated chargebackDocument Record

  5. Submit your Response to the Chargeback’s Status using a Chargeback Message

The steps below assume you would like to continue to dispute the transaction chargeback for each dispute stage of the chargeback cycle. To accept liability for any chargeback, see the Accepting Liability section below.

Step 1: Retrieve the Chargeback ID

After receiving a Chargeback Created web alert, retrieve the Chargeback ID from the Alert and retrieve the value under the disputeId or id parameters shown in the alert response. You can also make a request using

Step 2: Get the Chargeback Status (Dispute Stage)

Using the Chargeback ID you captured from Step 1, make the following API call to find the current status of the Chargeback.

Host URL

Method, Endpoint & Headers

Path Parameter

Description

Path Parameter

Description

{id}

The unique Chargeback ID.

Format Example: t1_chb_5fea5e49bd2f7a3ba06df72

Example Response Body

 

Parameter

Type

Description

Format & Valid Values

Parameter

Type

Description

Format & Valid Values

id

string

The Chargeback status ID.

Format:

t1_chs_123abc4d567890efg1h2i34

created

string

The date and time when the Chargeback was created.

Format:

YYYY-MM-DD HH:MM:SS (UTC)

Example:

2024-03-29T21:26:55.016Z

modified

string

The date and time when the Chargeback was last modified.

Format:

YYYY-MM-DD HH:MM:SS (UTC)

Example:

2024-03-29T21:26:55.016Z

creator

string

The login ID for the creator of the Chargeback.

Format:

t1_log_123abc4d567890efg1h2i34

modifier

string

The Login ID for the user that last updated the Chargeback.

Format:

t1_log_123abc4d567890efg1h2i34

Chargeback

string

The Chargeback ID

Format:

t1_chb_123abc4d567890efg1h2i34

ChargebackMessage

string

The current chargebackMessage record ID, if applicable.

Format:

t1_chm_123abc4d567890efg1h2i34

status

string

The current status of the Chargeback.

  • open - Chargeback is open, responses may be submitted.

  • closed - Chargeback is closed, responses may no longer be submitted.

  • won - Chargeback won.

  • lost - Chargeback lost.

Step 3: Create a Chargeback Document Record for Your Evidence Upload

To prepare the server to accept your file upload and properly associate it with your portfolio and specific chargeback, you must first create a chargebackDocuments record.

Warning: You must repeat this step for each file you intend to upload. You cannot upload multiple files to a single chargebackDocuments record.

Step 4: Upload the File to the associated Chargeback Document Record

Now that you’ve created the chargebackDocument record to associate your file to the specific chargeback, use the steps below to upload each evidence document you wish to upload.

Step 5: Submit your Response using a Chargeback Message

Once each of your evidence files has been uploaded by repeating Steps 4 and 5 above for each document, you’ll submit your response to the current chargeback status using the steps below.

Step 6: Await Issuer Response

After submitting your response and supporting evidence, you’ll need to await a decision from the Issuer. There is no action required while awaiting a decision.

When the Issuer makes a decision based on the evidence provided by the Merchant, a new web alert for Chargeback Won or Chargeback Lost will be sent to notify the Merchant of the decision shown in the disputeStatus field:

  • won- The Issuer has reached a decision in favor of the Merchant. This decision can be challenged by the cardholder and escalated to the next Dispute stage.

  • lost - The Issuer has reached a decision in favor of the Cardholder. This decision will be final and cannot be challenged by the Merchant.

Step 7: Reaching a Final Issuer Decision

Repeat Steps 2-5 as needed until the Issuer reaches a final decision in the Chargeback process that either:

  • The Cardholder accepts and concedes to given the evidence provided by the Merchant, or;

  • Has reached the Arbitration stage, resulting in a final, incontestable decision from the third-party card brand network.


Accepting Liability

Merchants can directly accept responsibility for the chargeback due to a fault of their own at any time during the Chargeback cycle during the First Chargeback and Pre-Arbitration dispute stages.

As shown above, you’ll use the same POST /chargebackMessagesendpoint and request method that you did in Step 5, but you’ll change the type parameter value in the request body to acceptLiability.

Dispute Stage

Request Body

Dispute Stage

Request Body

First Chargeback

Pre-Arbitration

Arbitration


Checking your Portfolio for Chargebacks

Below are additional API endpoint requests that can be made to check on the general list of all new and existing Chargebacks in your portfolio for a higher-level overview.

There are multiple API endpoint resources associated with Chargebacks, however, all you will generally use is /chargebacks which will return all the necessary results necessary to track the stages of a Chargeback.

Chargeback Response Fields

See a general list of reoccurring Chargeback response body parameters that a Merchant will encounter throughout the Chargeback process:


List all Chargebacks

Use this endpoint to list all Chargebacks under your portfolio with pagination options.

Retrieve a Chargeback by its ID

Use this endpoint to get information about a specific Chargeback within your portfolio using its unique Chargeback ID.


Chargeback Web Alert Notifications

If you haven’t set Chargeback web alerts to be notified, it is recommended that you first set a webhook alert trigger for the following Chargeback events (Dispute Actions):

Alert Trigger

Description

Alert Trigger

Description

Chargeback.Created

A new Dispute has been created through retrieval.

Chargeback.Opened

A First Chargeback has been initiated by a Cardholder’s issuer.

Chargeback.Won

A Chargeback was decided by the Issuer in favor of the Merchant.

Chargeback.Lost

A Chargeback was decided by the Issuer in favor of the Cardholder.

Chargeback.Closed

A final decision has been reached and the Chargeback process has been closed.

The below response bodies are examples of what different data each Chargeback Web Alert will provide:

By configuring this Web Alert you’ll be provided with updates about the status of the Dispute as well as the Chargeback ID which will be required to respond to a specific Chargeback using the API.