Class: Stripe::Dispute
- Inherits:
-
APIResource
- Object
- StripeObject
- APIResource
- Stripe::Dispute
- Extended by:
- APIOperations::List
- Includes:
- APIOperations::Save
- Defined in:
- lib/stripe/resources/dispute.rb
Overview
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](docs.stripe.com/disputes)
Defined Under Namespace
Classes: Evidence, EvidenceDetails, PaymentMethodDetails, SmartDisputes
Constant Summary collapse
- OBJECT_NAME =
"dispute"
Constants inherited from StripeObject
StripeObject::RESERVED_FIELD_NAMES
Instance Attribute Summary collapse
-
#amount ⇒ Object
readonly
Disputed amount.
-
#balance_transactions ⇒ Object
readonly
List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute.
-
#charge ⇒ Object
readonly
ID of the charge that’s disputed.
-
#created ⇒ Object
readonly
Time at which the object was created.
-
#currency ⇒ Object
readonly
Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase.
-
#enhanced_eligibility_types ⇒ Object
readonly
List of eligibility types that are included in ‘enhanced_evidence`.
-
#evidence ⇒ Object
readonly
Attribute for field evidence.
-
#evidence_details ⇒ Object
readonly
Attribute for field evidence_details.
-
#id ⇒ Object
readonly
Unique identifier for the object.
-
#intended_submission_method ⇒ Object
readonly
Intended submission method for the dispute.
-
#is_charge_refundable ⇒ Object
readonly
If true, it’s still possible to refund the disputed payment.
-
#livemode ⇒ Object
readonly
If the object exists in live mode, the value is ‘true`.
-
#metadata ⇒ Object
readonly
Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object.
-
#network_reason_code ⇒ Object
readonly
Network-dependent reason code for the dispute.
-
#object ⇒ Object
readonly
String representing the object’s type.
-
#payment_intent ⇒ Object
readonly
ID of the PaymentIntent that’s disputed.
-
#payment_method_details ⇒ Object
readonly
Attribute for field payment_method_details.
-
#reason ⇒ Object
readonly
Reason given by cardholder for dispute.
-
#smart_disputes ⇒ Object
readonly
Attribute for field smart_disputes.
-
#status ⇒ Object
readonly
The current status of a dispute.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
-
.close(dispute, params = {}, opts = {}) ⇒ Object
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.
- .field_remappings ⇒ Object
- .inner_class_types ⇒ Object
-
.list(params = {}, opts = {}) ⇒ Object
Returns a list of your disputes.
- .object_name ⇒ Object
-
.update(dispute, params = {}, opts = {}) ⇒ Object
When you get a dispute, contacting your customer is always the best first step.
Instance Method Summary collapse
-
#close(params = {}, opts = {}) ⇒ Object
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.
Methods included from APIOperations::List
Methods included from APIOperations::Save
Methods inherited from APIResource
class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource
Methods included from APIOperations::Request
Methods inherited from StripeObject
#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, field_encodings, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values
Constructor Details
This class inherits a constructor from Stripe::StripeObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject
Instance Attribute Details
#amount ⇒ Object (readonly)
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).
392 393 394 |
# File 'lib/stripe/resources/dispute.rb', line 392 def amount @amount end |
#balance_transactions ⇒ Object (readonly)
List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute.
394 395 396 |
# File 'lib/stripe/resources/dispute.rb', line 394 def balance_transactions @balance_transactions end |
#charge ⇒ Object (readonly)
ID of the charge that’s disputed.
396 397 398 |
# File 'lib/stripe/resources/dispute.rb', line 396 def charge @charge end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
398 399 400 |
# File 'lib/stripe/resources/dispute.rb', line 398 def created @created end |
#currency ⇒ Object (readonly)
Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](stripe.com/docs/currencies).
400 401 402 |
# File 'lib/stripe/resources/dispute.rb', line 400 def currency @currency end |
#enhanced_eligibility_types ⇒ Object (readonly)
List of eligibility types that are included in ‘enhanced_evidence`.
402 403 404 |
# File 'lib/stripe/resources/dispute.rb', line 402 def enhanced_eligibility_types @enhanced_eligibility_types end |
#evidence ⇒ Object (readonly)
Attribute for field evidence
404 405 406 |
# File 'lib/stripe/resources/dispute.rb', line 404 def evidence @evidence end |
#evidence_details ⇒ Object (readonly)
Attribute for field evidence_details
406 407 408 |
# File 'lib/stripe/resources/dispute.rb', line 406 def evidence_details @evidence_details end |
#id ⇒ Object (readonly)
Unique identifier for the object.
408 409 410 |
# File 'lib/stripe/resources/dispute.rb', line 408 def id @id end |
#intended_submission_method ⇒ Object (readonly)
Intended submission method for the dispute.
410 411 412 |
# File 'lib/stripe/resources/dispute.rb', line 410 def intended_submission_method @intended_submission_method end |
#is_charge_refundable ⇒ Object (readonly)
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.
412 413 414 |
# File 'lib/stripe/resources/dispute.rb', line 412 def is_charge_refundable @is_charge_refundable end |
#livemode ⇒ Object (readonly)
If the object exists in live mode, the value is ‘true`. If the object exists in test mode, the value is `false`.
414 415 416 |
# File 'lib/stripe/resources/dispute.rb', line 414 def livemode @livemode end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
416 417 418 |
# File 'lib/stripe/resources/dispute.rb', line 416 def @metadata end |
#network_reason_code ⇒ Object (readonly)
Network-dependent reason code for the dispute.
418 419 420 |
# File 'lib/stripe/resources/dispute.rb', line 418 def network_reason_code @network_reason_code end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
420 421 422 |
# File 'lib/stripe/resources/dispute.rb', line 420 def object @object end |
#payment_intent ⇒ Object (readonly)
ID of the PaymentIntent that’s disputed.
422 423 424 |
# File 'lib/stripe/resources/dispute.rb', line 422 def payment_intent @payment_intent end |
#payment_method_details ⇒ Object (readonly)
Attribute for field payment_method_details
424 425 426 |
# File 'lib/stripe/resources/dispute.rb', line 424 def payment_method_details @payment_method_details end |
#reason ⇒ Object (readonly)
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`, `noncompliant`, `product_not_received`, `product_unacceptable`, `subscription_canceled`, or `unrecognized`. Learn more about [dispute reasons](docs.stripe.com/disputes/categories).
426 427 428 |
# File 'lib/stripe/resources/dispute.rb', line 426 def reason @reason end |
#smart_disputes ⇒ Object (readonly)
Attribute for field smart_disputes
428 429 430 |
# File 'lib/stripe/resources/dispute.rb', line 428 def smart_disputes @smart_disputes end |
#status ⇒ Object (readonly)
The current status of a dispute. Possible values include:‘warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `won`, `lost`, or `prevented`.
430 431 432 |
# File 'lib/stripe/resources/dispute.rb', line 430 def status @status end |
Class Method Details
.close(dispute, params = {}, opts = {}) ⇒ Object
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.
447 448 449 450 451 452 453 454 |
# File 'lib/stripe/resources/dispute.rb', line 447 def self.close(dispute, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/disputes/%<dispute>s/close", { dispute: CGI.escape(dispute) }), params: params, opts: opts ) end |
.field_remappings ⇒ Object
482 483 484 |
# File 'lib/stripe/resources/dispute.rb', line 482 def self.field_remappings @field_remappings = {} end |
.inner_class_types ⇒ Object
473 474 475 476 477 478 479 480 |
# File 'lib/stripe/resources/dispute.rb', line 473 def self.inner_class_types @inner_class_types = { evidence: Evidence, evidence_details: EvidenceDetails, payment_method_details: PaymentMethodDetails, smart_disputes: SmartDisputes, } end |
.list(params = {}, opts = {}) ⇒ Object
Returns a list of your disputes.
457 458 459 |
# File 'lib/stripe/resources/dispute.rb', line 457 def self.list(params = {}, opts = {}) request_stripe_object(method: :get, path: "/v1/disputes", params: params, opts: opts) end |
.object_name ⇒ Object
15 16 17 |
# File 'lib/stripe/resources/dispute.rb', line 15 def self.object_name "dispute" end |
.update(dispute, params = {}, opts = {}) ⇒ Object
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](dashboard.stripe.com/disputes), 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](docs.stripe.com/docs/disputes/categories).
464 465 466 467 468 469 470 471 |
# File 'lib/stripe/resources/dispute.rb', line 464 def self.update(dispute, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/disputes/%<dispute>s", { dispute: CGI.escape(dispute) }), params: params, opts: opts ) end |
Instance Method Details
#close(params = {}, opts = {}) ⇒ Object
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.
435 436 437 438 439 440 441 442 |
# File 'lib/stripe/resources/dispute.rb', line 435 def close(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/disputes/%<dispute>s/close", { dispute: CGI.escape(self["id"]) }), params: params, opts: opts ) end |