Class: Stripe::ChargeService

Inherits:
StripeService show all
Defined in:
lib/stripe/services/charge_service.rb

Defined Under Namespace

Classes: CaptureParams, CreateParams, ListParams, RetrieveParams, SearchParams, UpdateParams

Instance Method Summary collapse

Methods inherited from StripeService

#initialize, #request, #request_stream

Constructor Details

This class inherits a constructor from Stripe::StripeService

Instance Method Details

#capture(charge, params = {}, opts = {}) ⇒ Object

Capture the payment of an existing, uncaptured charge that was created with the capture option set to false.

Uncaptured payments expire a set number of days after they are created ([7 by default](docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail.

Don’t use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](docs.stripe.com/docs/api/payment_intents/capture).



1831
1832
1833
1834
1835
1836
1837
1838
1839
# File 'lib/stripe/services/charge_service.rb', line 1831

def capture(charge, params = {}, opts = {})
  request(
    method: :post,
    path: format("/v1/charges/%<charge>s/capture", { charge: CGI.escape(charge) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end

#create(params = {}, opts = {}) ⇒ Object

This method is no longer recommended—use the [Payment Intents API](docs.stripe.com/docs/api/payment_intents) to initiate a new payment instead. Confirmation of the PaymentIntent creates the Charge object used to request payment.



1844
1845
1846
# File 'lib/stripe/services/charge_service.rb', line 1844

def create(params = {}, opts = {})
  request(method: :post, path: "/v1/charges", params: params, opts: opts, base_address: :api)
end

#list(params = {}, opts = {}) ⇒ Object

Returns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.



1849
1850
1851
# File 'lib/stripe/services/charge_service.rb', line 1849

def list(params = {}, opts = {})
  request(method: :get, path: "/v1/charges", params: params, opts: opts, base_address: :api)
end

#retrieve(charge, params = {}, opts = {}) ⇒ Object

Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.



1854
1855
1856
1857
1858
1859
1860
1861
1862
# File 'lib/stripe/services/charge_service.rb', line 1854

def retrieve(charge, params = {}, opts = {})
  request(
    method: :get,
    path: format("/v1/charges/%<charge>s", { charge: CGI.escape(charge) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end

#search(params = {}, opts = {}) ⇒ Object

Search for charges you’ve previously created using Stripe’s [Search Query Language](docs.stripe.com/docs/search#search-query-language). Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.



1868
1869
1870
1871
1872
1873
1874
1875
1876
# File 'lib/stripe/services/charge_service.rb', line 1868

def search(params = {}, opts = {})
  request(
    method: :get,
    path: "/v1/charges/search",
    params: params,
    opts: opts,
    base_address: :api
  )
end

#update(charge, params = {}, opts = {}) ⇒ Object

Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.



1879
1880
1881
1882
1883
1884
1885
1886
1887
# File 'lib/stripe/services/charge_service.rb', line 1879

def update(charge, params = {}, opts = {})
  request(
    method: :post,
    path: format("/v1/charges/%<charge>s", { charge: CGI.escape(charge) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end