PaymentIntent constructor

const PaymentIntent({
  1. required int amount,
  2. required int amountCapturable,
  3. PaymentFlowsAmountDetails? amountDetails,
  4. required int amountReceived,
  5. ApplicationOrId? application,
  6. int? applicationFeeAmount,
  7. PaymentFlowsAutomaticPaymentMethodsPaymentIntent? automaticPaymentMethods,
  8. DateTime? canceledAt,
  9. PaymentIntentCancellationReason? cancellationReason,
  10. required PaymentIntentCaptureMethod captureMethod,
  11. String? clientSecret,
  12. required CustomerBalanceCustomerBalanceSettingsReconciliationMode confirmationMethod,
  13. required DateTime created,
  14. required String currency,
  15. BankAccountCustomerOrId? customer,
  16. String? description,
  17. required String id,
  18. InvoiceOrId? invoice,
  19. ApiErrors? lastPaymentError,
  20. ChargeOrId? latestCharge,
  21. required bool livemode,
  22. required Map<String, String> metadata,
  23. PaymentIntentNextAction? nextAction,
  24. AccountOrId? onBehalfOf,
  25. PaymentMethodOrId? paymentMethod,
  26. CheckoutSessionPaymentMethodConfigurationDetails? paymentMethodConfigurationDetails,
  27. PaymentIntentPaymentMethodOptions? paymentMethodOptions,
  28. required List<String> paymentMethodTypes,
  29. PaymentIntentProcessing? processing,
  30. String? receiptEmail,
  31. ReviewOrId? review,
  32. ConfirmationTokenSetupFutureUsage? setupFutureUsage,
  33. ChargeShipping? shipping,
  34. PaymentIntentSourceOrId? source,
  35. String? statementDescriptor,
  36. String? statementDescriptorSuffix,
  37. required PaymentIntentStatus status,
  38. PaymentIntentTransferData? transferData,
  39. String? transferGroup,
})

PaymentIntent

A PaymentIntent guides you through the process of collecting a payment from your customer. We recommend that you create exactly one PaymentIntent for each order or customer session in your system. You can reference the PaymentIntent later to see the history of payment attempts for a particular session. A PaymentIntent transitions through [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses) throughout its lifetime as it interfaces with Stripe.js to perform authentication flows and ultimately creates at most one successful charge. Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)

Implementation

const PaymentIntent({
  required this.amount,
  required this.amountCapturable,
  this.amountDetails,
  required this.amountReceived,
  this.application,
  this.applicationFeeAmount,
  this.automaticPaymentMethods,
  this.canceledAt,
  this.cancellationReason,
  required this.captureMethod,
  this.clientSecret,
  required this.confirmationMethod,
  required this.created,
  required this.currency,
  this.customer,
  this.description,
  required this.id,
  this.invoice,
  this.lastPaymentError,
  this.latestCharge,
  required this.livemode,
  required this.metadata,
  this.nextAction,
  this.onBehalfOf,
  this.paymentMethod,
  this.paymentMethodConfigurationDetails,
  this.paymentMethodOptions,
  required this.paymentMethodTypes,
  this.processing,
  this.receiptEmail,
  this.review,
  this.setupFutureUsage,
  this.shipping,
  this.source,
  this.statementDescriptor,
  this.statementDescriptorSuffix,
  required this.status,
  this.transferData,
  this.transferGroup,
});