The Dispute object

Attributes

  • idstring

    Unique identifier for the object.

  • amountinteger

    Disputed amount in the card’s currency and in the smallest currency unit. Usually the amount of the transaction, but can differ (usually because of currency fluctuation).

  • balance_transactionsnullable array of MapsExpandable

    List of balance transactions associated with the dispute.

  • currencyenum

    The currency the transaction was made in.

  • evidenceMap

    Evidence for the dispute. Evidence contains exactly two non-null fields: the reason for the dispute and the associated evidence field for the selected reason.

  • metadataMap

    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.

  • statusenum

    Current status of the dispute.

    Possible enum values
    expired

    The dispute has expired.

    lost

    The dispute is lost.

    submitted

    The dispute has been submitted to Stripe.

    unsubmitted

    The dispute is pending submission to Stripe.

    won

    The dispute is won.

  • transactionstringExpandable

    The transaction being disputed.

More attributes

  • objectstring

  • createdtimestamp

  • livemodeboolean

The Dispute object
{
"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"
}

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

  • evidenceMap

    Evidence provided for the dispute.

  • metadataMap

    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
Stripe.apiKey = "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc";
DisputeCreateParams params =
DisputeCreateParams.builder()
.setTransaction("ipi_1MykXhFtDWhhyHE1UjsZZ3xQ")
.setEvidence(
DisputeCreateParams.Evidence.builder()
.setReason(DisputeCreateParams.Evidence.Reason.FRAUDULENT)
.setFraudulent(
DisputeCreateParams.Evidence.Fraudulent.builder()
.setExplanation("This transaction is fraudulent.")
.build()
)
.build()
)
.build();
Dispute dispute = Dispute.create(params);
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

  • evidenceMap

    Evidence provided for the dispute.

  • metadataMap

    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
Stripe.apiKey = "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc";
Dispute resource = Dispute.retrieve("idp_1MykdxFtDWhhyHE1BFAV3osZ");
DisputeUpdateParams params =
DisputeUpdateParams.builder()
.setEvidence(
DisputeUpdateParams.Evidence.builder()
.setReason(DisputeUpdateParams.Evidence.Reason.NOT_RECEIVED)
.setNotReceived(
DisputeUpdateParams.Evidence.NotReceived.builder()
.setExpectedAt(1590000000L)
.setExplanation("")
.setProductDescription("Baseball cap")
.setProductType(
DisputeUpdateParams.Evidence.NotReceived.ProductType.MERCHANDISE
)
.build()
)
.build()
)
.build();
Dispute dispute = resource.update(params);
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
Stripe.apiKey = "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc";
Dispute dispute = Dispute.retrieve("idp_1MykdxFtDWhhyHE1BFAV3osZ");
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

  • createdMap

  • ending_beforestring

  • limitinteger

  • starting_afterstring

  • statusenum

Returns

A Map 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
Stripe.apiKey = "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc";
DisputeListParams params = DisputeListParams.builder().setLimit(3L).build();
DisputeCollection disputes = Dispute.list(params);
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"
}
{...}
{...}
],
}
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.
$