openapi: 3.0.0 info: title: Stripe Accounts Account Dispute API description: This is an object representing a Stripe account. You can retrieve it to see properties on the account like its current requirements or if the account is enabled to make live charges or receive payouts. contact: email: dev-platform@stripe.com name: Stripe Dev Platform Team url: https://stripe.com termsOfService: https://stripe.com/us/terms/ version: '2023-10-16' x-stripeSpecFilename: spec3 servers: - url: https://api.stripe.com/ security: - basicAuth: [] - bearerAuth: [] tags: - name: Dispute paths: /v1/disputes/{dispute}: get: description:

Retrieves the dispute with the given ID.

operationId: getDisputesDispute parameters: - in: path name: dispute required: true schema: maxLength: 5000 type: string style: simple - description: Specifies which fields in the response should be expanded. explode: true in: query name: expand required: false schema: items: maxLength: 5000 type: string type: array style: deepObject requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: additionalProperties: false $ref: '#/components/schemas/GetDisputesDisputeRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/dispute' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe Get Disputes Dispute x-api-evangelist-processing: GenerateOperationSummariesFromPath: true PascalCaseOperationSummaries: true CaselCaseOperationIds: true ChooseTags: true tags: - Dispute post: description: '

When you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your dashboard, but if you prefer, you can use the API to submit evidence programmatically.

Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our guide to dispute types.

' operationId: postDisputesDispute parameters: - in: path name: dispute required: true schema: maxLength: 5000 type: string style: simple requestBody: content: application/x-www-form-urlencoded: encoding: evidence: explode: true style: deepObject expand: explode: true style: deepObject metadata: explode: true style: deepObject schema: additionalProperties: false $ref: '#/components/schemas/PostDisputesDisputeRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/dispute' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe Post Disputes Dispute x-api-evangelist-processing: GenerateOperationSummariesFromPath: true PascalCaseOperationSummaries: true CaselCaseOperationIds: true ChooseTags: true tags: - Dispute /v1/disputes/{dispute}/close: post: description: '

Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.

The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible.

' operationId: postDisputesDisputeClose parameters: - in: path name: dispute required: true schema: maxLength: 5000 type: string style: simple requestBody: content: application/x-www-form-urlencoded: encoding: expand: explode: true style: deepObject schema: additionalProperties: false $ref: '#/components/schemas/PostDisputesDisputeCloseRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/dispute' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe Post Disputes Dispute Close x-api-evangelist-processing: GenerateOperationSummariesFromPath: true PascalCaseOperationSummaries: true CaselCaseOperationIds: true ChooseTags: true tags: - Dispute components: schemas: error: description: An error response from the Stripe API properties: error: $ref: '#/components/schemas/api_errors' required: - error type: object PostDisputesDisputeRequest: type: object properties: evidence: description: Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000. properties: access_activity_log: maxLength: 20000 type: string billing_address: maxLength: 5000 type: string cancellation_policy: type: string cancellation_policy_disclosure: maxLength: 20000 type: string cancellation_rebuttal: maxLength: 20000 type: string customer_communication: type: string customer_email_address: maxLength: 5000 type: string customer_name: maxLength: 5000 type: string customer_purchase_ip: maxLength: 5000 type: string customer_signature: type: string duplicate_charge_documentation: type: string duplicate_charge_explanation: maxLength: 20000 type: string duplicate_charge_id: maxLength: 5000 type: string product_description: maxLength: 20000 type: string receipt: type: string refund_policy: type: string refund_policy_disclosure: maxLength: 20000 type: string refund_refusal_explanation: maxLength: 20000 type: string service_date: maxLength: 5000 type: string service_documentation: type: string shipping_address: maxLength: 5000 type: string shipping_carrier: maxLength: 5000 type: string shipping_date: maxLength: 5000 type: string shipping_documentation: type: string shipping_tracking_number: maxLength: 5000 type: string uncategorized_file: type: string uncategorized_text: maxLength: 20000 type: string title: dispute_evidence_params type: object expand: description: Specifies which fields in the response should be expanded. items: maxLength: 5000 type: string type: array metadata: anyOf: - additionalProperties: type: string type: object - enum: - '' type: string description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) 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`. submit: description: Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default). type: boolean dispute: description: 'A dispute occurs when a customer questions your charge with their card issuer. When this happens, you have the opportunity to respond to the dispute with evidence that shows that the charge is legitimate. Related guide: [Disputes and fraud](https://stripe.com/docs/disputes)' properties: amount: description: Disputed amount. Usually the amount of the charge, but it can differ (usually because of currency fluctuation or because only part of the order is disputed). type: integer balance_transactions: description: List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute. items: $ref: '#/components/schemas/balance_transaction' type: array charge: anyOf: - maxLength: 5000 type: string - $ref: '#/components/schemas/charge' description: ID of the charge that's disputed. x-expansionResources: oneOf: - $ref: '#/components/schemas/charge' created: description: Time at which the object was created. Measured in seconds since the Unix epoch. format: unix-time type: integer currency: description: Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). type: string evidence: $ref: '#/components/schemas/dispute_evidence' evidence_details: $ref: '#/components/schemas/dispute_evidence_details' id: description: Unique identifier for the object. maxLength: 5000 type: string is_charge_refundable: description: If true, it's still possible to refund the disputed payment. After the payment has been fully refunded, no further funds are withdrawn from your Stripe account as a result of this dispute. type: boolean livemode: description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. type: boolean metadata: additionalProperties: maxLength: 500 type: string description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. type: object object: description: String representing the object's type. Objects of the same type share the same value. enum: - dispute type: string payment_intent: anyOf: - maxLength: 5000 type: string - $ref: '#/components/schemas/payment_intent' description: ID of the PaymentIntent that's disputed. nullable: true x-expansionResources: oneOf: - $ref: '#/components/schemas/payment_intent' payment_method_details: $ref: '#/components/schemas/dispute_payment_method_details' reason: description: Reason given by cardholder for dispute. Possible values are `bank_cannot_process`, `check_returned`, `credit_not_processed`, `customer_initiated`, `debit_not_authorized`, `duplicate`, `fraudulent`, `general`, `incorrect_account_details`, `insufficient_funds`, `product_not_received`, `product_unacceptable`, `subscription_canceled`, or `unrecognized`. Learn more about [dispute reasons](https://stripe.com/docs/disputes/categories). maxLength: 5000 type: string status: description: Current status of dispute. Possible values are `warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `won`, or `lost`. enum: - lost - needs_response - under_review - warning_closed - warning_needs_response - warning_under_review - won type: string required: - amount - balance_transactions - charge - created - currency - evidence - evidence_details - id - is_charge_refundable - livemode - metadata - object - reason - status title: Dispute type: object x-expandableFields: - balance_transactions - charge - evidence - evidence_details - payment_intent - payment_method_details x-resourceId: dispute PostDisputesDisputeCloseRequest: type: object properties: expand: description: Specifies which fields in the response should be expanded. items: maxLength: 5000 type: string type: array GetDisputesDisputeRequest: type: object properties: {}