Class: Stripe::Refund
- Inherits:
-
APIResource
- Object
- StripeObject
- APIResource
- Stripe::Refund
- Extended by:
- APIOperations::Create, APIOperations::List
- Includes:
- APIOperations::Save
- Defined in:
- lib/stripe/resources/refund.rb
Overview
Refund objects allow you to refund a previously created charge that isn’t refunded yet. Funds are refunded to the credit or debit card that’s initially charged.
Related guide: [Refunds](stripe.com/docs/refunds)
Defined Under Namespace
Classes: CancelParams, CreateParams, DestinationDetails, ExpireParams, ListParams, NextAction, PresentmentDetails, TestHelpers, UpdateParams
Constant Summary collapse
- OBJECT_NAME =
"refund"
Constants inherited from StripeObject
StripeObject::RESERVED_FIELD_NAMES
Instance Attribute Summary collapse
-
#amount ⇒ Object
readonly
Amount, in cents (or local equivalent).
-
#balance_transaction ⇒ Object
readonly
Balance transaction that describes the impact on your account balance.
-
#charge ⇒ Object
readonly
ID of the charge that’s refunded.
-
#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.
-
#description ⇒ Object
readonly
An arbitrary string attached to the object.
-
#destination_details ⇒ Object
readonly
Attribute for field destination_details.
-
#failure_balance_transaction ⇒ Object
readonly
After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction.
-
#failure_reason ⇒ Object
readonly
Provides the reason for the refund failure.
-
#id ⇒ Object
readonly
Unique identifier for the object.
-
#instructions_email ⇒ Object
readonly
For payment methods without native refund support (for example, Konbini, PromptPay), provide an email address for the customer to receive refund instructions.
-
#metadata ⇒ Object
readonly
Set of [key-value pairs](stripe.com/docs/api/metadata) that you can attach to an object.
-
#next_action ⇒ Object
readonly
Attribute for field next_action.
-
#object ⇒ Object
readonly
String representing the object’s type.
-
#payment_intent ⇒ Object
readonly
ID of the PaymentIntent that’s refunded.
-
#pending_reason ⇒ Object
readonly
Provides the reason for why the refund is pending.
-
#presentment_details ⇒ Object
readonly
Attribute for field presentment_details.
-
#reason ⇒ Object
readonly
Reason for the refund, which is either user-provided (‘duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`).
-
#receipt_number ⇒ Object
readonly
This is the transaction number that appears on email receipts sent for this refund.
-
#source_transfer_reversal ⇒ Object
readonly
The transfer reversal that’s associated with the refund.
-
#status ⇒ Object
readonly
Status of the refund.
-
#transfer_reversal ⇒ Object
readonly
This refers to the transfer reversal object if the accompanying transfer reverses.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
-
.cancel(refund, params = {}, opts = {}) ⇒ Object
Cancels a refund with a status of requires_action.
-
.create(params = {}, opts = {}) ⇒ Object
When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.
- .field_remappings ⇒ Object
- .inner_class_types ⇒ Object
-
.list(params = {}, opts = {}) ⇒ Object
Returns a list of all refunds you created.
- .object_name ⇒ Object
-
.update(refund, params = {}, opts = {}) ⇒ Object
Updates the refund that you specify by setting the values of the passed parameters.
Instance Method Summary collapse
-
#cancel(params = {}, opts = {}) ⇒ Object
Cancels a refund with a status of requires_action.
- #test_helpers ⇒ Object
Methods included from APIOperations::Create
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?, #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)
Amount, in cents (or local equivalent).
733 734 735 |
# File 'lib/stripe/resources/refund.rb', line 733 def amount @amount end |
#balance_transaction ⇒ Object (readonly)
Balance transaction that describes the impact on your account balance.
735 736 737 |
# File 'lib/stripe/resources/refund.rb', line 735 def balance_transaction @balance_transaction end |
#charge ⇒ Object (readonly)
ID of the charge that’s refunded.
737 738 739 |
# File 'lib/stripe/resources/refund.rb', line 737 def charge @charge end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
739 740 741 |
# File 'lib/stripe/resources/refund.rb', line 739 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).
741 742 743 |
# File 'lib/stripe/resources/refund.rb', line 741 def currency @currency end |
#description ⇒ Object (readonly)
An arbitrary string attached to the object. You can use this for displaying to users (available on non-card refunds only).
743 744 745 |
# File 'lib/stripe/resources/refund.rb', line 743 def description @description end |
#destination_details ⇒ Object (readonly)
Attribute for field destination_details
745 746 747 |
# File 'lib/stripe/resources/refund.rb', line 745 def destination_details @destination_details end |
#failure_balance_transaction ⇒ Object (readonly)
After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction.
747 748 749 |
# File 'lib/stripe/resources/refund.rb', line 747 def failure_balance_transaction @failure_balance_transaction end |
#failure_reason ⇒ Object (readonly)
Provides the reason for the refund failure. Possible values are: ‘lost_or_stolen_card`, `expired_or_canceled_card`, `charge_for_pending_refund_disputed`, `insufficient_funds`, `declined`, `merchant_request`, or `unknown`.
749 750 751 |
# File 'lib/stripe/resources/refund.rb', line 749 def failure_reason @failure_reason end |
#id ⇒ Object (readonly)
Unique identifier for the object.
751 752 753 |
# File 'lib/stripe/resources/refund.rb', line 751 def id @id end |
#instructions_email ⇒ Object (readonly)
For payment methods without native refund support (for example, Konbini, PromptPay), provide an email address for the customer to receive refund instructions.
753 754 755 |
# File 'lib/stripe/resources/refund.rb', line 753 def instructions_email @instructions_email end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](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.
755 756 757 |
# File 'lib/stripe/resources/refund.rb', line 755 def @metadata end |
#next_action ⇒ Object (readonly)
Attribute for field next_action
757 758 759 |
# File 'lib/stripe/resources/refund.rb', line 757 def next_action @next_action end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
759 760 761 |
# File 'lib/stripe/resources/refund.rb', line 759 def object @object end |
#payment_intent ⇒ Object (readonly)
ID of the PaymentIntent that’s refunded.
761 762 763 |
# File 'lib/stripe/resources/refund.rb', line 761 def payment_intent @payment_intent end |
#pending_reason ⇒ Object (readonly)
Provides the reason for why the refund is pending. Possible values are: ‘processing`, `insufficient_funds`, or `charge_pending`.
763 764 765 |
# File 'lib/stripe/resources/refund.rb', line 763 def pending_reason @pending_reason end |
#presentment_details ⇒ Object (readonly)
Attribute for field presentment_details
765 766 767 |
# File 'lib/stripe/resources/refund.rb', line 765 def presentment_details @presentment_details end |
#reason ⇒ Object (readonly)
Reason for the refund, which is either user-provided (‘duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`).
767 768 769 |
# File 'lib/stripe/resources/refund.rb', line 767 def reason @reason end |
#receipt_number ⇒ Object (readonly)
This is the transaction number that appears on email receipts sent for this refund.
769 770 771 |
# File 'lib/stripe/resources/refund.rb', line 769 def receipt_number @receipt_number end |
#source_transfer_reversal ⇒ Object (readonly)
The transfer reversal that’s associated with the refund. Only present if the charge came from another Stripe account.
771 772 773 |
# File 'lib/stripe/resources/refund.rb', line 771 def source_transfer_reversal @source_transfer_reversal end |
#status ⇒ Object (readonly)
Status of the refund. This can be ‘pending`, `requires_action`, `succeeded`, `failed`, or `canceled`. Learn more about [failed refunds](stripe.com/docs/refunds#failed-refunds).
773 774 775 |
# File 'lib/stripe/resources/refund.rb', line 773 def status @status end |
#transfer_reversal ⇒ Object (readonly)
This refers to the transfer reversal object if the accompanying transfer reverses. This is only applicable if the charge was created using the destination parameter.
775 776 777 |
# File 'lib/stripe/resources/refund.rb', line 775 def transfer_reversal @transfer_reversal end |
Class Method Details
.cancel(refund, params = {}, opts = {}) ⇒ Object
Cancels a refund with a status of requires_action.
You can’t cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state.
792 793 794 795 796 797 798 799 |
# File 'lib/stripe/resources/refund.rb', line 792 def self.cancel(refund, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/refunds/%<refund>s/cancel", { refund: CGI.escape(refund) }), params: params, opts: opts ) end |
.create(params = {}, opts = {}) ⇒ Object
When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.
Creating a new refund will refund a charge that has previously been created but not yet refunded. Funds will be refunded to the credit or debit card that was originally charged.
You can optionally refund only part of a charge. You can do so multiple times, until the entire charge has been refunded.
Once entirely refunded, a charge can’t be refunded again. This method will raise an error when called on an already-refunded charge, or when trying to refund more money than is left on a charge.
812 813 814 |
# File 'lib/stripe/resources/refund.rb', line 812 def self.create(params = {}, opts = {}) request_stripe_object(method: :post, path: "/v1/refunds", params: params, opts: opts) end |
.field_remappings ⇒ Object
872 873 874 |
# File 'lib/stripe/resources/refund.rb', line 872 def self.field_remappings @field_remappings = {} end |
.inner_class_types ⇒ Object
864 865 866 867 868 869 870 |
# File 'lib/stripe/resources/refund.rb', line 864 def self.inner_class_types @inner_class_types = { destination_details: DestinationDetails, next_action: NextAction, presentment_details: PresentmentDetails, } end |
.list(params = {}, opts = {}) ⇒ Object
Returns a list of all refunds you created. We return the refunds in sorted order, with the most recent refunds appearing first. The 10 most recent refunds are always available by default on the Charge object.
817 818 819 |
# File 'lib/stripe/resources/refund.rb', line 817 def self.list(params = {}, opts = {}) request_stripe_object(method: :get, path: "/v1/refunds", params: params, opts: opts) end |
.object_name ⇒ Object
16 17 18 |
# File 'lib/stripe/resources/refund.rb', line 16 def self.object_name "refund" end |
.update(refund, params = {}, opts = {}) ⇒ Object
Updates the refund that you specify by setting the values of the passed parameters. Any parameters that you don’t provide remain unchanged.
This request only accepts metadata as an argument.
824 825 826 827 828 829 830 831 |
# File 'lib/stripe/resources/refund.rb', line 824 def self.update(refund, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/refunds/%<refund>s", { refund: CGI.escape(refund) }), params: params, opts: opts ) end |
Instance Method Details
#cancel(params = {}, opts = {}) ⇒ Object
Cancels a refund with a status of requires_action.
You can’t cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state.
780 781 782 783 784 785 786 787 |
# File 'lib/stripe/resources/refund.rb', line 780 def cancel(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/refunds/%<refund>s/cancel", { refund: CGI.escape(self["id"]) }), params: params, opts: opts ) end |
#test_helpers ⇒ Object
833 834 835 |
# File 'lib/stripe/resources/refund.rb', line 833 def test_helpers TestHelpers.new(self) end |