Class: Stripe::SetupIntentService

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

Defined Under Namespace

Classes: CancelParams, ConfirmParams, CreateParams, ListParams, RetrieveParams, UpdateParams, VerifyMicrodepositsParams

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

#cancel(intent, params = {}, opts = {}) ⇒ Object

You can cancel a SetupIntent object when it’s in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.

After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can’t cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](docs.stripe.com/docs/api/checkout/sessions/expire) instead.



3813
3814
3815
3816
3817
3818
3819
3820
3821
# File 'lib/stripe/services/setup_intent_service.rb', line 3813

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

#confirm(intent, params = {}, opts = {}) ⇒ Object

Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website.

If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status.

Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached.



3837
3838
3839
3840
3841
3842
3843
3844
3845
# File 'lib/stripe/services/setup_intent_service.rb', line 3837

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

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

Creates a SetupIntent object.

After you create the SetupIntent, attach a payment method and [confirm](docs.stripe.com/docs/api/setup_intents/confirm) it to collect any required permissions to charge the payment method later.



3851
3852
3853
3854
3855
3856
3857
3858
3859
# File 'lib/stripe/services/setup_intent_service.rb', line 3851

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

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

Returns a list of SetupIntents.



3862
3863
3864
3865
3866
3867
3868
3869
3870
# File 'lib/stripe/services/setup_intent_service.rb', line 3862

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

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

Retrieves the details of a SetupIntent that has previously been created.

Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string.

When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the [SetupIntent](docs.stripe.com/api#setup_intent_object) object reference for more details.



3877
3878
3879
3880
3881
3882
3883
3884
3885
# File 'lib/stripe/services/setup_intent_service.rb', line 3877

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

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

Updates a SetupIntent object.



3888
3889
3890
3891
3892
3893
3894
3895
3896
# File 'lib/stripe/services/setup_intent_service.rb', line 3888

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

#verify_microdeposits(intent, params = {}, opts = {}) ⇒ Object

Verifies microdeposits on a SetupIntent object.



3899
3900
3901
3902
3903
3904
3905
3906
3907
# File 'lib/stripe/services/setup_intent_service.rb', line 3899

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