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](stripe.com/docs/api/checkout/sessions/expire) instead.



3932
3933
3934
3935
3936
3937
3938
3939
3940
# File 'lib/stripe/services/setup_intent_service.rb', line 3932

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.



3956
3957
3958
3959
3960
3961
3962
3963
3964
# File 'lib/stripe/services/setup_intent_service.rb', line 3956

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](stripe.com/docs/api/setup_intents/confirm) it to collect any required permissions to charge the payment method later.



3970
3971
3972
3973
3974
3975
3976
3977
3978
# File 'lib/stripe/services/setup_intent_service.rb', line 3970

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.



3981
3982
3983
3984
3985
3986
3987
3988
3989
# File 'lib/stripe/services/setup_intent_service.rb', line 3981

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](stripe.com/docs/api#setup_intent_object) object reference for more details.



3996
3997
3998
3999
4000
4001
4002
4003
4004
# File 'lib/stripe/services/setup_intent_service.rb', line 3996

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.



4007
4008
4009
4010
4011
4012
4013
4014
4015
# File 'lib/stripe/services/setup_intent_service.rb', line 4007

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.



4018
4019
4020
4021
4022
4023
4024
4025
4026
# File 'lib/stripe/services/setup_intent_service.rb', line 4018

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