Create a dispute

Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to Dispute reasons and evidence for more details about evidence requirements.

Parameters

  • evidenceobject

    Evidence provided for the dispute.

  • metadataobject

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

  • transactionstring

    The ID of the issuing transaction to create a dispute for. For transaction on Treasury FinancialAccounts, use treasury.received_debit.

More parameters

  • amountinteger

Returns

Returns an Issuing Dispute object in unsubmitted status if creation succeeds.

POST /v1/issuing/disputes
curl https://api.stripe.com/v1/issuing/disputes \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
-d transaction=ipi_1MykXhFtDWhhyHE1UjsZZ3xQ \
-d "evidence[reason]"=fraudulent \
-d "evidence[fraudulent][explanation]"="This transaction is fraudulent."
Response
{
"id": "idp_1MykdxFtDWhhyHE1BFAV3osZ",
"object": "issuing.dispute",
"amount": 100,
"created": 1681947753,
"currency": "usd",
"evidence": {
"fraudulent": {
"additional_documentation": null,
"dispute_explanation": null,
"explanation": "This transaction is fraudulent.",
"uncategorized_file": null
},
"reason": "fraudulent"
},
"livemode": false,
"metadata": {},
"status": "unsubmitted",
"transaction": "ipi_1MykXhFtDWhhyHE1UjsZZ3xQ"
}

Update a dispute

Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string.

Parameters

  • evidenceobject

    Evidence provided for the dispute.

  • metadataobject

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More parameters

  • amountinteger

Returns

Returns an updated Issuing Dispute object if a valid identifier was provided.

POST /v1/issuing/disputes/:id
curl https://api.stripe.com/v1/issuing/disputes/idp_1MykdxFtDWhhyHE1BFAV3osZ \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
-d "evidence[reason]"=not_received \
-d "evidence[not_received][expected_at]"=1590000000 \
-d "evidence[not_received][explanation]"= \
-d "evidence[not_received][product_description]"="Baseball cap" \
-d "evidence[not_received][product_type]"=merchandise
Response
{
"id": "idp_1MykdxFtDWhhyHE1BFAV3osZ",
"object": "issuing.dispute",
"amount": 100,
"created": 1681947753,
"currency": "usd",
"evidence": {
"reason": "not_received",
"not_received": {
"expected_at": 1590000000,
"explanation": "",
"product_description": "Baseball cap",
"product_type": "merchandise"
}
},
"livemode": false,
"metadata": {},
"status": "unsubmitted",
"transaction": "ipi_1MykXhFtDWhhyHE1UjsZZ3xQ"
}

Retrieve a dispute

Retrieves an Issuing Dispute object.

Parameters

No parameters.

Returns

Returns an Issuing Dispute object if a valid identifier was provided.

GET /v1/issuing/disputes/:id
curl https://api.stripe.com/v1/issuing/disputes/idp_1MykdxFtDWhhyHE1BFAV3osZ \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:"
Response
{
"id": "idp_1MykdxFtDWhhyHE1BFAV3osZ",
"object": "issuing.dispute",
"amount": 100,
"created": 1681947753,
"currency": "usd",
"evidence": {
"fraudulent": {
"additional_documentation": null,
"dispute_explanation": null,
"explanation": "This transaction is fraudulent.",
"uncategorized_file": null
},
"reason": "fraudulent"
},
"livemode": false,
"metadata": {},
"status": "unsubmitted",
"transaction": "ipi_1MykXhFtDWhhyHE1UjsZZ3xQ"
}

List all disputes

Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

Parameters

  • transactionstring

    Select the Issuing dispute for the given transaction.

More parameters

  • createdobject

  • ending_beforestring

  • limitinteger

  • starting_afterstring

  • statusenum

Returns

A dictionary with a data property that contains an array of up to limit disputes, starting after dispute starting_after. Each entry in the array is a separate Issuing Dispute object. If no more disputes are available, the resulting array will be empty.

GET /v1/issuing/disputes
curl -G https://api.stripe.com/v1/issuing/disputes \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
-d limit=3
Response
{
"object": "list",
"url": "/v1/issuing/disputes",
"has_more": false,
"data": [
{
"id": "idp_1MykdxFtDWhhyHE1BFAV3osZ",
"object": "issuing.dispute",
"amount": 100,
"created": 1681947753,
"currency": "usd",
"evidence": {
"fraudulent": {
"additional_documentation": null,
"dispute_explanation": null,
"explanation": "This transaction is fraudulent.",
"uncategorized_file": null
},
"reason": "fraudulent"
},
"livemode": false,
"metadata": {},
"status": "unsubmitted",
"transaction": "ipi_1MykXhFtDWhhyHE1UjsZZ3xQ"
}
{...}
{...}
],
}

Submit a dispute

Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute’s reason are present. For more details, see Dispute reasons and evidence.

Parameters

  • metadataobject

    Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

Returns

Returns an Issuing Dispute object in submitted status if submission succeeds.

POST /v1/issuing/disputes/:id/submit
curl -X POST https://api.stripe.com/v1/issuing/disputes/idp_1MykdxFtDWhhyHE1BFAV3osZ/submit \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:"
Response
{
"id": "idp_1MykdxFtDWhhyHE1BFAV3osZ",
"object": "issuing.dispute",
"amount": 100,
"created": 1681947753,
"currency": "usd",
"evidence": {
"fraudulent": {
"additional_documentation": null,
"dispute_explanation": null,
"explanation": "This transaction is fraudulent.",
"uncategorized_file": null
},
"reason": "fraudulent"
},
"livemode": false,
"metadata": {},
"status": "submitted",
"transaction": "ipi_1MykXhFtDWhhyHE1UjsZZ3xQ"
}
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g., )
The Stripe Shell is best experienced on desktop.
$