amount | int | Yes | Amount in minor currency units. Must be at least 50 (for example, $0.50), or a ValidationError is thrown. See Money and currency. |
currency | string | No | 3-letter ISO code. Defaults to the currency configured on init. |
customerId | string | No | An existing Stripe customer to bill. |
email | string | No | Used as customer_email on the Checkout Session (api flow) or as receipt_email (elements flow) when customerId is not given. |
userId | string|int | No | Your own internal user ID, stamped on the persisted record. Only used in the elements flow, where a KitPaymentRecord is saved. |
description | string | No | Shown on the Checkout Session's line item, or set as the PaymentIntent's description. |
metadata | array<string,string> | No | Merged with StripeKit's own source: "stripekit" entry. |
paymentMethodId | string | Only for elements flow | An existing payment method to charge directly instead of collecting a new one. |
receiptEmail | string | Only for elements flow | Overrides email for the receipt address specifically. |
offSession | bool | Only for elements flow | Marks the PaymentIntent as off-session. |
confirm | bool | Only for elements flow | Forces immediate confirmation. Defaults to true automatically when both paymentMethodId and offSession are set. |
captureMethod | 'automatic'|'manual' | Only for elements flow | Defaults to 'automatic'. |
statementDescriptor | string | Only for elements flow | Shown on the customer's card statement. |
applicationFeeAmount | int | Only for elements flow | For Stripe Connect platforms taking a fee. |
returnUrl | string | No | Unused by create() itself; kept for parity with other payment calls. |
mode | 'api'|'elements' | Only when global mode is 'both' | Overrides the resolved flow for this call. |