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.



3485
3486
3487
3488
3489
3490
3491
3492
3493
# File 'lib/stripe/services/setup_intent_service.rb', line 3485

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.



3509
3510
3511
3512
3513
3514
3515
3516
3517
# File 'lib/stripe/services/setup_intent_service.rb', line 3509

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.



3523
3524
3525
3526
3527
3528
3529
3530
3531
# File 'lib/stripe/services/setup_intent_service.rb', line 3523

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.



3534
3535
3536
3537
3538
3539
3540
3541
3542
# File 'lib/stripe/services/setup_intent_service.rb', line 3534

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.



3549
3550
3551
3552
3553
3554
3555
3556
3557
# File 'lib/stripe/services/setup_intent_service.rb', line 3549

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.



3560
3561
3562
3563
3564
3565
3566
3567
3568
# File 'lib/stripe/services/setup_intent_service.rb', line 3560

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.



3571
3572
3573
3574
3575
3576
3577
3578
3579
# File 'lib/stripe/services/setup_intent_service.rb', line 3571

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