Class: Stripe::PaymentIntentService::CreateParams

Inherits:
RequestParams
  • Object
show all
Defined in:
lib/stripe/services/payment_intent_service.rb

Defined Under Namespace

Classes: AsyncWorkflows, AutomaticPaymentMethods, MandateData, PaymentDetails, PaymentMethodData, PaymentMethodOptions, RadarOptions, Shipping, TransferData

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from RequestParams

#to_h

Constructor Details

#initialize(amount: nil, application_fee_amount: nil, async_workflows: nil, automatic_payment_methods: nil, capture_method: nil, confirm: nil, confirmation_method: nil, confirmation_token: nil, currency: nil, customer: nil, customer_account: nil, description: nil, error_on_requires_action: nil, expand: nil, fx_quote: nil, mandate: nil, mandate_data: nil, metadata: nil, off_session: nil, on_behalf_of: nil, payment_details: nil, payment_method: nil, payment_method_configuration: nil, payment_method_data: nil, payment_method_options: nil, payment_method_types: nil, radar_options: nil, receipt_email: nil, return_url: nil, secret_key_confirmation: nil, setup_future_usage: nil, shipping: nil, statement_descriptor: nil, statement_descriptor_suffix: nil, transfer_data: nil, transfer_group: nil, use_stripe_sdk: nil) ⇒ CreateParams

Returns a new instance of CreateParams.



3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
# File 'lib/stripe/services/payment_intent_service.rb', line 3512

def initialize(
  amount: nil,
  application_fee_amount: nil,
  async_workflows: nil,
  automatic_payment_methods: nil,
  capture_method: nil,
  confirm: nil,
  confirmation_method: nil,
  confirmation_token: nil,
  currency: nil,
  customer: nil,
  customer_account: nil,
  description: nil,
  error_on_requires_action: nil,
  expand: nil,
  fx_quote: nil,
  mandate: nil,
  mandate_data: nil,
  metadata: nil,
  off_session: nil,
  on_behalf_of: nil,
  payment_details: nil,
  payment_method: nil,
  payment_method_configuration: nil,
  payment_method_data: nil,
  payment_method_options: nil,
  payment_method_types: nil,
  radar_options: nil,
  receipt_email: nil,
  return_url: nil,
  secret_key_confirmation: nil,
  setup_future_usage: nil,
  shipping: nil,
  statement_descriptor: nil,
  statement_descriptor_suffix: nil,
  transfer_data: nil,
  transfer_group: nil,
  use_stripe_sdk: nil
)
  @amount = amount
  @application_fee_amount = application_fee_amount
  @async_workflows = async_workflows
  @automatic_payment_methods = automatic_payment_methods
  @capture_method = capture_method
  @confirm = confirm
  @confirmation_method = confirmation_method
  @confirmation_token = confirmation_token
  @currency = currency
  @customer = customer
  @customer_account = 
  @description = description
  @error_on_requires_action = error_on_requires_action
  @expand = expand
  @fx_quote = fx_quote
  @mandate = mandate
  @mandate_data = mandate_data
  @metadata = 
  @off_session = off_session
  @on_behalf_of = on_behalf_of
  @payment_details = payment_details
  @payment_method = payment_method
  @payment_method_configuration = payment_method_configuration
  @payment_method_data = payment_method_data
  @payment_method_options = payment_method_options
  @payment_method_types = payment_method_types
  @radar_options = radar_options
  @receipt_email = receipt_email
  @return_url = return_url
  @secret_key_confirmation = secret_key_confirmation
  @setup_future_usage = setup_future_usage
  @shipping = shipping
  @statement_descriptor = statement_descriptor
  @statement_descriptor_suffix = statement_descriptor_suffix
  @transfer_data = transfer_data
  @transfer_group = transfer_group
  @use_stripe_sdk = use_stripe_sdk
end

Instance Attribute Details

#amountObject

Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).



3415
3416
3417
# File 'lib/stripe/services/payment_intent_service.rb', line 3415

def amount
  @amount
end

#application_fee_amountObject

The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner’s Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](stripe.com/docs/payments/connected-accounts).



3417
3418
3419
# File 'lib/stripe/services/payment_intent_service.rb', line 3417

def application_fee_amount
  @application_fee_amount
end

#async_workflowsObject

Automations to be run during the PaymentIntent lifecycle



3419
3420
3421
# File 'lib/stripe/services/payment_intent_service.rb', line 3419

def async_workflows
  @async_workflows
end

#automatic_payment_methodsObject

When you enable this parameter, this PaymentIntent accepts payment methods that you enable in the Dashboard and that are compatible with this PaymentIntent’s other parameters.



3421
3422
3423
# File 'lib/stripe/services/payment_intent_service.rb', line 3421

def automatic_payment_methods
  @automatic_payment_methods
end

#capture_methodObject

Controls when the funds will be captured from the customer’s account.



3423
3424
3425
# File 'lib/stripe/services/payment_intent_service.rb', line 3423

def capture_method
  @capture_method
end

#confirmObject

Set to ‘true` to attempt to [confirm this PaymentIntent](stripe.com/docs/api/payment_intents/confirm) immediately. This parameter defaults to `false`. When creating and confirming a PaymentIntent at the same time, you can also provide the parameters available in the [Confirm API](stripe.com/docs/api/payment_intents/confirm).



3425
3426
3427
# File 'lib/stripe/services/payment_intent_service.rb', line 3425

def confirm
  @confirm
end

#confirmation_methodObject

Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment.



3427
3428
3429
# File 'lib/stripe/services/payment_intent_service.rb', line 3427

def confirmation_method
  @confirmation_method
end

#confirmation_tokenObject

ID of the ConfirmationToken used to confirm this PaymentIntent.

If the provided ConfirmationToken contains properties that are also being provided in this request, such as ‘payment_method`, then the values in this request will take precedence.



3431
3432
3433
# File 'lib/stripe/services/payment_intent_service.rb', line 3431

def confirmation_token
  @confirmation_token
end

#currencyObject

Three-letter [ISO currency code](www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](stripe.com/docs/currencies).



3433
3434
3435
# File 'lib/stripe/services/payment_intent_service.rb', line 3433

def currency
  @currency
end

#customerObject

ID of the Customer this PaymentIntent belongs to, if one exists.

Payment methods attached to other Customers cannot be used with this PaymentIntent.

If [setup_future_usage](stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent’s payment method is not ‘card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn’t a digital wallet, then a [generated_card](docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead.



3439
3440
3441
# File 'lib/stripe/services/payment_intent_service.rb', line 3439

def customer
  @customer
end

#customer_accountObject

ID of the Account this PaymentIntent belongs to, if one exists.

Payment methods attached to other Accounts cannot be used with this PaymentIntent.

If [setup_future_usage](stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent’s payment method is not ‘card_present`, then the payment method attaches to the Account after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn’t a digital wallet, then a [generated_card](docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Account instead.



3445
3446
3447
# File 'lib/stripe/services/payment_intent_service.rb', line 3445

def 
  @customer_account
end

#descriptionObject

An arbitrary string attached to the object. Often useful for displaying to users.



3447
3448
3449
# File 'lib/stripe/services/payment_intent_service.rb', line 3447

def description
  @description
end

#error_on_requires_actionObject

Set to ‘true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. Use this parameter for simpler integrations that don’t handle customer actions, such as [saving cards without authentication](stripe.com/docs/payments/save-card-without-authentication). This parameter can only be used with [‘confirm=true`](stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).



3449
3450
3451
# File 'lib/stripe/services/payment_intent_service.rb', line 3449

def error_on_requires_action
  @error_on_requires_action
end

#expandObject

Specifies which fields in the response should be expanded.



3451
3452
3453
# File 'lib/stripe/services/payment_intent_service.rb', line 3451

def expand
  @expand
end

#fx_quoteObject

The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.



3453
3454
3455
# File 'lib/stripe/services/payment_intent_service.rb', line 3453

def fx_quote
  @fx_quote
end

#mandateObject

ID of the mandate that’s used for this payment. This parameter can only be used with [‘confirm=true`](stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).



3455
3456
3457
# File 'lib/stripe/services/payment_intent_service.rb', line 3455

def mandate
  @mandate
end

#mandate_dataObject

This hash contains details about the Mandate to create. This parameter can only be used with [‘confirm=true`](stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).



3457
3458
3459
# File 'lib/stripe/services/payment_intent_service.rb', line 3457

def mandate_data
  @mandate_data
end

#metadataObject

Set of [key-value pairs](stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to ‘metadata`.



3459
3460
3461
# File 'lib/stripe/services/payment_intent_service.rb', line 3459

def 
  @metadata
end

#off_sessionObject

Set to ‘true` to indicate that the customer isn’t in your checkout flow during this payment attempt and can’t authenticate. Use this parameter in scenarios where you collect card details and [charge them later](stripe.com/docs/payments/cards/charging-saved-cards). This parameter can only be used with [‘confirm=true`](stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).



3461
3462
3463
# File 'lib/stripe/services/payment_intent_service.rb', line 3461

def off_session
  @off_session
end

#on_behalf_ofObject

The Stripe account ID that these funds are intended for. Learn more about the [use case for connected accounts](stripe.com/docs/payments/connected-accounts).



3463
3464
3465
# File 'lib/stripe/services/payment_intent_service.rb', line 3463

def on_behalf_of
  @on_behalf_of
end

#payment_detailsObject

Provides industry-specific information about the charge.



3465
3466
3467
# File 'lib/stripe/services/payment_intent_service.rb', line 3465

def payment_details
  @payment_details
end

#payment_methodObject

ID of the payment method (a PaymentMethod, Card, or [compatible Source](stripe.com/docs/payments/payment-methods#compatibility) object) to attach to this PaymentIntent.

If you don’t provide the ‘payment_method` parameter or the `source` parameter with `confirm=true`, `source` automatically populates with `customer.default_source` to improve migration for users of the Charges API. We recommend that you explicitly provide the `payment_method` moving forward.



3469
3470
3471
# File 'lib/stripe/services/payment_intent_service.rb', line 3469

def payment_method
  @payment_method
end

#payment_method_configurationObject

The ID of the [payment method configuration](stripe.com/docs/api/payment_method_configurations) to use with this PaymentIntent.



3471
3472
3473
# File 'lib/stripe/services/payment_intent_service.rb', line 3471

def payment_method_configuration
  @payment_method_configuration
end

#payment_method_dataObject

If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the [payment_method](stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method) property on the PaymentIntent.



3475
3476
3477
# File 'lib/stripe/services/payment_intent_service.rb', line 3475

def payment_method_data
  @payment_method_data
end

#payment_method_optionsObject

Payment method-specific configuration for this PaymentIntent.



3477
3478
3479
# File 'lib/stripe/services/payment_intent_service.rb', line 3477

def payment_method_options
  @payment_method_options
end

#payment_method_typesObject

The list of payment method types (for example, a card) that this PaymentIntent can use. If you don’t provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](dashboard.stripe.com/settings/payment_methods).



3479
3480
3481
# File 'lib/stripe/services/payment_intent_service.rb', line 3479

def payment_method_types
  @payment_method_types
end

#radar_optionsObject

Options to configure Radar. Learn more about [Radar Sessions](stripe.com/docs/radar/radar-session).



3481
3482
3483
# File 'lib/stripe/services/payment_intent_service.rb', line 3481

def radar_options
  @radar_options
end

#receipt_emailObject

Email address to send the receipt to. If you specify ‘receipt_email` for a payment in live mode, you send a receipt regardless of your [email settings](dashboard.stripe.com/account/emails).



3483
3484
3485
# File 'lib/stripe/services/payment_intent_service.rb', line 3483

def receipt_email
  @receipt_email
end

#return_urlObject

The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site. If you’d prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [‘confirm=true`](stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).



3485
3486
3487
# File 'lib/stripe/services/payment_intent_service.rb', line 3485

def return_url
  @return_url
end

#secret_key_confirmationObject

Indicates whether confirmation for this PaymentIntent using a secret key is ‘required` or `optional`.



3487
3488
3489
# File 'lib/stripe/services/payment_intent_service.rb', line 3487

def secret_key_confirmation
  @secret_key_confirmation
end

#setup_future_usageObject

Indicates that you intend to make future payments with this PaymentIntent’s payment method.

If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don’t provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.

If the payment method is ‘card_present` and isn’t a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.

When processing card payments, Stripe uses ‘setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).



3495
3496
3497
# File 'lib/stripe/services/payment_intent_service.rb', line 3495

def setup_future_usage
  @setup_future_usage
end

#shippingObject

Shipping information for this PaymentIntent.



3497
3498
3499
# File 'lib/stripe/services/payment_intent_service.rb', line 3497

def shipping
  @shipping
end

#statement_descriptorObject

Text that appears on the customer’s statement as the statement descriptor for a non-card charge. This value overrides the account’s default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](docs.stripe.com/get-started/account/statement-descriptors).

Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead.



3501
3502
3503
# File 'lib/stripe/services/payment_intent_service.rb', line 3501

def statement_descriptor
  @statement_descriptor
end

#statement_descriptor_suffixObject

Provides information about a card charge. Concatenated to the account’s [statement descriptor prefix](docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer’s statement.



3503
3504
3505
# File 'lib/stripe/services/payment_intent_service.rb', line 3503

def statement_descriptor_suffix
  @statement_descriptor_suffix
end

#transfer_dataObject

The parameters that you can use to automatically create a Transfer. Learn more about the [use case for connected accounts](stripe.com/docs/payments/connected-accounts).



3506
3507
3508
# File 'lib/stripe/services/payment_intent_service.rb', line 3506

def transfer_data
  @transfer_data
end

#transfer_groupObject

A string that identifies the resulting payment as part of a group. Learn more about the [use case for connected accounts](stripe.com/docs/connect/separate-charges-and-transfers).



3508
3509
3510
# File 'lib/stripe/services/payment_intent_service.rb', line 3508

def transfer_group
  @transfer_group
end

#use_stripe_sdkObject

Set to ‘true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions.



3510
3511
3512
# File 'lib/stripe/services/payment_intent_service.rb', line 3510

def use_stripe_sdk
  @use_stripe_sdk
end