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, description: nil, error_on_requires_action: nil, expand: 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.



3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
# File 'lib/stripe/services/payment_intent_service.rb', line 3325

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,
  description: nil,
  error_on_requires_action: nil,
  expand: 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
  @description = description
  @error_on_requires_action = error_on_requires_action
  @expand = expand
  @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).



3236
3237
3238
# File 'lib/stripe/services/payment_intent_service.rb', line 3236

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 payment amount. For more information, see the PaymentIntents [use case for connected accounts](stripe.com/docs/payments/connected-accounts).



3238
3239
3240
# File 'lib/stripe/services/payment_intent_service.rb', line 3238

def application_fee_amount
  @application_fee_amount
end

#async_workflowsObject

Automations to be run during the PaymentIntent lifecycle



3240
3241
3242
# File 'lib/stripe/services/payment_intent_service.rb', line 3240

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.



3242
3243
3244
# File 'lib/stripe/services/payment_intent_service.rb', line 3242

def automatic_payment_methods
  @automatic_payment_methods
end

#capture_methodObject

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



3244
3245
3246
# File 'lib/stripe/services/payment_intent_service.rb', line 3244

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).



3246
3247
3248
# File 'lib/stripe/services/payment_intent_service.rb', line 3246

def confirm
  @confirm
end

#confirmation_methodObject

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



3248
3249
3250
# File 'lib/stripe/services/payment_intent_service.rb', line 3248

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.



3252
3253
3254
# File 'lib/stripe/services/payment_intent_service.rb', line 3252

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).



3254
3255
3256
# File 'lib/stripe/services/payment_intent_service.rb', line 3254

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.



3260
3261
3262
# File 'lib/stripe/services/payment_intent_service.rb', line 3260

def customer
  @customer
end

#descriptionObject

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



3262
3263
3264
# File 'lib/stripe/services/payment_intent_service.rb', line 3262

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).



3264
3265
3266
# File 'lib/stripe/services/payment_intent_service.rb', line 3264

def error_on_requires_action
  @error_on_requires_action
end

#expandObject

Specifies which fields in the response should be expanded.



3266
3267
3268
# File 'lib/stripe/services/payment_intent_service.rb', line 3266

def expand
  @expand
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).



3268
3269
3270
# File 'lib/stripe/services/payment_intent_service.rb', line 3268

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).



3270
3271
3272
# File 'lib/stripe/services/payment_intent_service.rb', line 3270

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`.



3272
3273
3274
# File 'lib/stripe/services/payment_intent_service.rb', line 3272

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).



3274
3275
3276
# File 'lib/stripe/services/payment_intent_service.rb', line 3274

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).



3276
3277
3278
# File 'lib/stripe/services/payment_intent_service.rb', line 3276

def on_behalf_of
  @on_behalf_of
end

#payment_detailsObject

Provides industry-specific information about the charge.



3278
3279
3280
# File 'lib/stripe/services/payment_intent_service.rb', line 3278

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.



3282
3283
3284
# File 'lib/stripe/services/payment_intent_service.rb', line 3282

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.



3284
3285
3286
# File 'lib/stripe/services/payment_intent_service.rb', line 3284

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.



3288
3289
3290
# File 'lib/stripe/services/payment_intent_service.rb', line 3288

def payment_method_data
  @payment_method_data
end

#payment_method_optionsObject

Payment method-specific configuration for this PaymentIntent.



3290
3291
3292
# File 'lib/stripe/services/payment_intent_service.rb', line 3290

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).



3292
3293
3294
# File 'lib/stripe/services/payment_intent_service.rb', line 3292

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).



3294
3295
3296
# File 'lib/stripe/services/payment_intent_service.rb', line 3294

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).



3296
3297
3298
# File 'lib/stripe/services/payment_intent_service.rb', line 3296

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).



3298
3299
3300
# File 'lib/stripe/services/payment_intent_service.rb', line 3298

def return_url
  @return_url
end

#secret_key_confirmationObject

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



3300
3301
3302
# File 'lib/stripe/services/payment_intent_service.rb', line 3300

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).



3308
3309
3310
# File 'lib/stripe/services/payment_intent_service.rb', line 3308

def setup_future_usage
  @setup_future_usage
end

#shippingObject

Shipping information for this PaymentIntent.



3310
3311
3312
# File 'lib/stripe/services/payment_intent_service.rb', line 3310

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.



3314
3315
3316
# File 'lib/stripe/services/payment_intent_service.rb', line 3314

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.



3316
3317
3318
# File 'lib/stripe/services/payment_intent_service.rb', line 3316

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).



3319
3320
3321
# File 'lib/stripe/services/payment_intent_service.rb', line 3319

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).



3321
3322
3323
# File 'lib/stripe/services/payment_intent_service.rb', line 3321

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.



3323
3324
3325
# File 'lib/stripe/services/payment_intent_service.rb', line 3323

def use_stripe_sdk
  @use_stripe_sdk
end