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.



3719
3720
3721
3722
3723
3724
3725
3726
3727
# File 'lib/stripe/services/setup_intent_service.rb', line 3719

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.



3743
3744
3745
3746
3747
3748
3749
3750
3751
# File 'lib/stripe/services/setup_intent_service.rb', line 3743

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.



3757
3758
3759
3760
3761
3762
3763
3764
3765
# File 'lib/stripe/services/setup_intent_service.rb', line 3757

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.



3768
3769
3770
3771
3772
3773
3774
3775
3776
# File 'lib/stripe/services/setup_intent_service.rb', line 3768

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.



3783
3784
3785
3786
3787
3788
3789
3790
3791
# File 'lib/stripe/services/setup_intent_service.rb', line 3783

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.



3794
3795
3796
3797
3798
3799
3800
3801
3802
# File 'lib/stripe/services/setup_intent_service.rb', line 3794

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.



3805
3806
3807
3808
3809
3810
3811
3812
3813
# File 'lib/stripe/services/setup_intent_service.rb', line 3805

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