Create Chargeback

Action: POST
Endpoint: /chargebacks

To create a chargeback, send a POST request to the /chargebacks endpoint and include the chargeback details in JSON format in the body of the request. When you create any Marqeta resource, the system associates a token for referencing that resource. You can create your own token using any alpha-numeric characters, 36 chars max. If you do not include a token value, one is generated automatically.

Body Details

Name Type Required? Description Allowable Values
token string No The unique identifier of the chargeback.

If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated.
36 char max
transaction_token string Yes Token identifying the transaction you what to charge back. Existing transaction token
amount decimal Yes The amount of funds to charge back. Use 0.00 format.
credit_user boolean No If set to true, the card holder's account is immediately credited with funds to cover the disputed charges.

If the case is subsequently lost or goes to representment, those funds are recouped by Marqeta. If the case goes to pre-arbitration (after representment), the card holder's account is once again credited.
true | false

true
reason_description

OR

reason_code
string Yes The reason for the chargeback.

Specify either reason_description or reason_code. If both are specified, reason_description takes precedence.
Refer to the reason_description and reason_code Allowable Values table.
memo string No Text field for notes regarding the chargeback. 1024 char max
channel string Yes Denotes whether Marqeta is acting in the role of issuer or gateway. Also denotes whether the chargeback is being processed by automation or manually. ISSUER_AUTOMATED | GATEWAY_AUTOMATED | ISSUER | GATEWAY

reason_description and reason_code Allowable Values

reason_description Visa
reason_code
Mastercard
reason_code
SERVICE_NOT_PROVIDED_MERCHANDISE_NOT_RECEIVED 30 4855
CANCELLED_RECURRING_TRANSACTION 41 4841
NOT_AS_DESCRIBED_OR_DEFECTIVE_MERCHANDISE 53 4853
FRAUD_MULTIPLE_TRANSACTIONS 57 4850
FRAUD_TRANSACTION 62 4840
NO_AUTHORIZATION 72 4808
LATE_PRESENTMENT 74 4842
TRANSACTION_NOT_RECOGNIZED 75 4863
INCORRECT_CURRENCY_OR_TRANSACTION_CODE 76 4846
INCORRECT_TRANSACTION_AMOUNT_OR_ACCOUNT_NUMBER 80 4831
NOT_AUTHORIZED_CARD_PRESENT 81 4837
NOT_AUTHORIZED_CARD_ABSENT 83 4837
CREDIT_NOT_PROCESSED 85 4860
NON_RECEIPT_OF_CASH_OR_LOAD_TRANSACTION_VALUE_AT_ATM 90 4859

Sample Request Body

{
"token": "my_chargeback_03",
"transaction_token": "222",
"amount": 1.00,
"credit_user": true,
"reason_description": "FRAUD_TRANSACTION",
"memo": "Charging back due to fraud",
"channel": "ISSUER"
}

Sample Response Body

{
"token": "my_chargeback_03",
"transaction_token": "222",
"amount": 1,
"reason_description": "FRAUD_TRANSACTION",
"reason_code": "62",
"memo": "Charging back due to fraud",
"state": "INITIATED",
"channel": "ISSUER",
"network": "VISA",
"credit_user": true,
"created_time": "2017-08-03T19:22:07Z",
"last_modified_time": "2017-08-03T19:22:07Z"
}


Retrieve Chargeback

Action: GET
Endpoint: /chargebacks/{token}

To retrieve a specific chargeback, issue a GET request to the /chargebacks/{token} endpoint. Include the chargeback token path parameter to specify the chargeback to return.

URL Path Parameters

Name Type Required? Description Allowable Values
token string Yes Identifies the chargeback to return. Existing chargeback token.

Issue a GET to /chargebacks to retrieve chargeback tokens.

State Field (Response)

Chargeback State Description
INITIATED The chargeback has been created. Funds to cover the disputed charges have been credited to the card holder's account if credit_user field was true or unspecified at the time of creation.
REPRESENTMENT The case is in representment (also known as second presentment). The gateway/acquirer has disputed the chargeback. In some cases representment does not occur.
PREARBITRATION The case is in pre-arbitration (also known as arbitration chargeback). Upon receipt of a dispute from the gateway/acquirer (representment), the issuer can submit the chargeback a second time, possibly with more or different information. Only relevant chargebacks assume this status.
ARBITRATION The case is in arbitration. When a gateway/acquirer disputes a chargeback, the issuer can submit the case to the network for arbitration after either the first or second (pre-arbitration) chargeback. In arbitration, the network decides who wins the chargeback case.
CASE_WON The chargeback case is closed; Marqeta won.
CASE_LOST The chargeback case is closed; Marqeta lost.
WRITTEN_OFF_PROGRAM Can be transitioned to only from CASE_LOST or NETWORK_REJECTED. The chargeback is credited to the GPA of the user or business and debited from the program funding source (in other words, the Marqeta customer absorbs the chargeback).
WRITTEN_OFF_ISSUER Can be transitioned to only from CASE_LOST or NETWORK_REJECTED. The chargeback is credited to the GPA of the user or business and debited from the Marqeta program funding source (in other words, Marqeta absorbs the chargeback).
NETWORK_REJECTED The network rejected the chargeback submission.
UNABLE_TO_PROCESS Marqeta was unable to submit the chargeback to the network. Rejections are usually caused by insufficient data being captured during authorization or clearing.

Sample Response Body

{
"token": "my_chargeback_03",
"transaction_token": "222",
"amount": 1,
"reason_description": "FRAUD_TRANSACTION",
"reason_code": "62",
"memo": "Charging back due to fraud",
"state": "INITIATED",
"channel": "ISSUER",
"network": "VISA",
"credit_user": true,
"created_time": "2017-08-03T19:22:07Z",
"last_modified_time": "2017-08-03T19:22:07Z"
}


List Chargebacks

Action: GET
Endpoint: /chargebacks

To return an array of all chargebacks, issue a GET request to the /chargebacks endpoint.

This endpoint supports pagination and sorting.

Query Parameters

Name Type Required? Description Allowable Values
transaction_token string No Lists all chargebacks initiated against the specified transaction. Existing transaction token.

Issuse a GET to /transactions to retrieve transaction tokens.
amount decimal No The amount of the chargeback. Use 0.00 format.
state string No The value of the chargeback's "state" field. INITIATED | REPRESENTMENT | PREARBITRATION | ARBITRATION | CASE_WON | CASE_LOST | WRITTEN_OFF_PROGRAM | WRITTEN_OFF_ISSUER | NETWORK_REJECTED | UNABLE_TO_PROCESS

State Field (Response)

Chargeback State Description
INITIATED The chargeback has been created. Funds to cover the disputed charges have been credited to the card holder's account if credit_user field was true or unspecified at the time of creation.
REPRESENTMENT The case is in representment (also known as second presentment). The gateway/acquirer has disputed the chargeback. In some cases representment does not occur.
PREARBITRATION The case is in pre-arbitration (also known as arbitration chargeback). Upon receipt of a dispute from the gateway/acquirer (representment), the issuer can submit the chargeback a second time, possibly with more or different information. Only relevant chargebacks assume this status.
ARBITRATION The case is in arbitration. When a gateway/acquirer disputes a chargeback, the issuer can submit the case to the network for arbitration after either the first or second (pre-arbitration) chargeback. In arbitration, the network decides who wins the chargeback case.
CASE_WON The chargeback case is closed; Marqeta won.
CASE_LOST The chargeback case is closed; Marqeta lost.
WRITTEN_OFF_PROGRAM Can be transitioned to only from CASE_LOST or NETWORK_REJECTED. The chargeback is credited to the GPA of the user or business and debited from the program funding source (in other words, the Marqeta customer absorbs the chargeback).
WRITTEN_OFF_ISSUER Can be transitioned to only from CASE_LOST or NETWORK_REJECTED. The chargeback is credited to the GPA of the user or business and debited from the Marqeta program funding source (in other words, Marqeta absorbs the chargeback).
NETWORK_REJECTED The network rejected the chargeback submission.
UNABLE_TO_PROCESS Marqeta was unable to submit the chargeback to the network. Rejections are usually caused by insufficient data being captured during authorization or clearing.

Sample Response Body

{
"count": 1,
"start_index": 0,
"end_index": 0,
"is_more": false,
"data": [
{
"token": "my_chargeback_03",
"transaction_token": "222",
"amount": 1,
"reason_description": "FRAUD_TRANSACTION",
"reason_code": "62",
"memo": "Charging back due to fraud",
"state": "INITIATED",
"channel": "ISSUER",
"network": "VISA",
"credit_user": true,
"created_time": "2017-08-03T19:22:07Z",
"last_modified_time": "2017-08-03T19:22:07Z"
}
]
}


Create Chargeback Transition

Action: POST
Endpoint: /chargebacks/transitions

To transition a chargeback to another state, send a POST request to the /chargebacks/transitions endpoint and include the chargeback transition details in JSON format in the body of the request. When you create any Marqeta resource, the system associates a token for referencing that resource. You can create your own token using any alpha-numeric characters, 36 chars max. If you do not include a token value, one is generated automatically.

Body Details

Name Type Required? Description Allowable Values                                    
token string No The unique identifier of the chargeback transition.

If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated.
36 char max
chargeback_token string Yes The identifying token of the transitioning chargeback. Existing chargeback token.

Issue a GET to /chargebacks to retrieve chargebacks tokens.
amount decimal No Monetary amount to chargeback. 0.00 format
state string Yes The new state of the transitioning chargeback. REPRESENTMENT |
PREARBITRATION |
ARBITRATION |
CASE_WON |
CASE_LOST |
WRITTEN_OFF_PROGRAM
reason string No Text field for describing the reason for creating the chargeback transition. 1024 char max

State and Type Fields (Response)

Chargeback State Chargeback Type Description
INITIATED initiated The chargeback has been created. Funds to cover the disputed charges have been credited to the card holder's account if credit_user field was true or unspecified at the time of creation.
REPRESENTMENT representment The case is in representment (also known as second presentment). The gateway/acquirer has disputed the chargeback. In some cases representment does not occur.
PREARBITRATION prearbitration The case is in pre-arbitration (also known as arbitration chargeback). Upon receipt of a dispute from the gateway/acquirer (representment), the issuer can submit the chargeback a second time, possibly with more or different information. Only relevant chargebacks assume this status.
ARBITRATION arbitration The case is in arbitration. When a gateway/acquirer disputes a chargeback, the issuer can submit the case to the network for arbitration after either the first or second (pre-arbitration) chargeback. In arbitration, the network decides who wins the chargeback case.
CASE_WON case.won The chargeback case is closed; Marqeta won.
CASE_LOST case.lost The chargeback case is closed; Marqeta lost.
WRITTEN_OFF_PROGRAM written.off.program Can be transitioned to only from CASE_LOST or NETWORK_REJECTED. The chargeback is credited to the GPA of the user or business and debited from the program funding source (in other words, the Marqeta customer absorbs the chargeback).
WRITTEN_OFF_ISSUER written.off.issuer Can be transitioned to only from CASE_LOST or NETWORK_REJECTED. The chargeback is credited to the GPA of the user or business and debited from the Marqeta program funding source (in other words, Marqeta absorbs the chargeback).
NETWORK_REJECTED network.rejected The network rejected the chargeback submission.
UNABLE_TO_PROCESS Marqeta was unable to submit the chargeback to the network. Rejections are usually caused by insufficient data being captured during authorization or clearing.

Sample Request Body

{
"token": "my_chargeback_transition_06",
"chargeback_token": "my_chargeback_06",
"amount": 3.00,
"state": "CASE_WON",
"reason": "Uncontested"
}

Sample Response Body

{
"token": "my_chargeback_transition_06",
"state": "CASE_WON",
"previous_state": "INITIATED",
"channel": "ISSUER",
"chargeback_token": "my_chargeback_06",
"reason": "Uncontested",
"created_time": "2017-10-02T21:45:54Z",
"last_modified_time": "2017-10-02T21:45:54Z",
"type": "case.won",
"amount": 3
}


Retrieve Chargeback Transition

Action: GET
Endpoint: /chargebacks/transitions/{token}

To retrieve a specific chargeback transition, issue a GET request to the /chargebacks/transitions/{token} endpoint. Include the chargeback transition token path parameter to specify the chargeback transition to return.

URL Path Parameters

Name Type Required? Description Allowable Values
token string Yes Identifies the chargeback transition to return. Existing chargeback transition token.

Issue a GET to /chargebacks/{chargeback_token}/transitions to retrieve chargeback transition tokens.

State and Type Fields (Response)

Chargeback State Chargeback Type Description
INITIATED initiated The chargeback has been created. Funds to cover the disputed charges have been credited to the card holder's account if credit_user field was true or unspecified at the time of creation.
REPRESENTMENT representment The case is in representment (also known as second presentment). The gateway/acquirer has disputed the chargeback. In some cases representment does not occur.
PREARBITRATION prearbitration The case is in pre-arbitration (also known as arbitration chargeback). Upon receipt of a dispute from the gateway/acquirer (representment), the issuer can submit the chargeback a second time, possibly with more or different information. Only relevant chargebacks assume this status.
ARBITRATION arbitration The case is in arbitration. When a gateway/acquirer disputes a chargeback, the issuer can submit the case to the network for arbitration after either the first or second (pre-arbitration) chargeback. In arbitration, the network decides who wins the chargeback case.
CASE_WON case.won The chargeback case is closed; Marqeta won.
CASE_LOST case.lost The chargeback case is closed; Marqeta lost.
WRITTEN_OFF_PROGRAM written.off.program Can be transitioned to only from CASE_LOST or NETWORK_REJECTED. The chargeback is credited to the GPA of the user or business and debited from the program funding source (in other words, the Marqeta customer absorbs the chargeback).
WRITTEN_OFF_ISSUER written.off.issuer Can be transitioned to only from CASE_LOST or NETWORK_REJECTED. The chargeback is credited to the GPA of the user or business and debited from the Marqeta program funding source (in other words, Marqeta absorbs the chargeback).
NETWORK_REJECTED network.rejected The network rejected the chargeback submission.
UNABLE_TO_PROCESS Marqeta was unable to submit the chargeback to the network. Rejections are usually caused by insufficient data being captured during authorization or clearing.

Sample Response Body

{
"token": "my_chargeback_transition_06",
"state": "CASE_WON",
"previous_state": "INITIATED",
"channel": "ISSUER",
"chargeback_token": "my_chargeback_06",
"reason": "Uncontested",
"created_time": "2017-10-02T21:45:54Z",
"last_modified_time": "2017-10-02T21:45:54Z",
"type": "case.won",
"amount": 3
}


List Transitions Related to Chargeback

Action: GET
Endpoint: /chargebacks/{chargeback_token}/transitions

To return an array of all chargeback transitions related to a particular chargeback, issue a GET request to the /chargebacks/{chargeback_token}/transitions endpoint. Include the chargeback_token path parameter to specify the chargeback whose transitions you want to list.

This endpoint supports pagination and sorting.

URL Path Parameters

Name Type Required? Description Allowable Values
chargeback_token string Yes Identifies the chargeback whose transitions you want to list. Existing chargeback token.

Issue a GET to /chargebacks to retrieve chargeback tokens.

State and Type Fields (Response)

Chargeback State Chargeback Type Description
INITIATED initiated The chargeback has been created. Funds to cover the disputed charges have been credited to the card holder's account if credit_user field was true or unspecified at the time of creation.
REPRESENTMENT representment The case is in representment (also known as second presentment). The gateway/acquirer has disputed the chargeback. In some cases representment does not occur.
PREARBITRATION prearbitration The case is in pre-arbitration (also known as arbitration chargeback). Upon receipt of a dispute from the gateway/acquirer (representment), the issuer can submit the chargeback a second time, possibly with more or different information. Only relevant chargebacks assume this status.
ARBITRATION arbitration The case is in arbitration. When a gateway/acquirer disputes a chargeback, the issuer can submit the case to the network for arbitration after either the first or second (pre-arbitration) chargeback. In arbitration, the network decides who wins the chargeback case.
CASE_WON case.won The chargeback case is closed; Marqeta won.
CASE_LOST case.lost The chargeback case is closed; Marqeta lost.
WRITTEN_OFF_PROGRAM written.off.program Can be transitioned to only from CASE_LOST or NETWORK_REJECTED. The chargeback is credited to the GPA of the user or business and debited from the program funding source (in other words, the Marqeta customer absorbs the chargeback).
WRITTEN_OFF_ISSUER written.off.issuer Can be transitioned to only from CASE_LOST or NETWORK_REJECTED. The chargeback is credited to the GPA of the user or business and debited from the Marqeta program funding source (in other words, Marqeta absorbs the chargeback).
NETWORK_REJECTED network.rejected The network rejected the chargeback submission.
UNABLE_TO_PROCESS Marqeta was unable to submit the chargeback to the network. Rejections are usually caused by insufficient data being captured during authorization or clearing.

Sample Response Body

{
"count": 2,
"start_index": 0,
"end_index": 1,
"is_more": false,
"data": [
{
"token": "my_chargeback_transition_06",
"state": "CASE_WON",
"previous_state": "INITIATED",
"channel": "ISSUER",
"chargeback_token": "my_chargeback_06",
"reason": "Uncontested",
"created_time": "2017-10-02T21:45:54Z",
"last_modified_time": "2017-10-02T21:45:54Z",
"type": "case.won"
},
{
"token": "5ebef80d-f276-49ed-be96-a73e6d8b704c",
"state": "INITIATED",
"channel": "ISSUER",
"chargeback_token": "my_chargeback_06",
"transaction_token": "664",
"created_time": "2017-10-02T21:37:02Z",
"last_modified_time": "2017-10-02T21:37:02Z",
"type": "initiated"
}
]
}