Stripe event taxonomy
Every attribute on every Stripe event collection, with its type, an example value and what it means.
Overview
Synced from a connected Stripe account.
One section per event collection, one row per attribute. Types are the wire types the platform stores, and examples come from the schema itself. An attribute marked (hidden) arrives on the event but is not offered in the console attribute pickers. A very long example value is shortened with an ellipsis.
stripe_cash_balance
| Attribute | Type | Example | Description |
|---|---|---|---|
settings.reconciliationMode | String | automatic | How incoming bank transfers are reconciled against open invoices: 'automatic' or 'manual'. |
settings.usingMerchantDefault | Boolean | true | True when this customer inherits the merchant-level reconciliation setting. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Customer that owns this cash balance. |
attribute.user.cashBalance | String | [{"currency": "USD", "amount": 5000}] | Per-currency balances available to this customer in the smallest currency unit. |
stripe_charges
| Attribute | Type | Example | Description |
|---|---|---|---|
chargeId | String | ch_3Nxxxx | Unique Stripe charge identifier. |
paymentIntentId | String | pi_3Nxxxx | Linked PaymentIntent. Use as the join key to dedupe revenue against payment_intent.succeeded. |
invoiceId | String | in_1Nxxxx | Linked invoice if this charge paid a recurring invoice. |
disputeId | String | dp_1Nxxxx | Linked dispute record if this charge has been disputed. |
status | String | succeeded | Charge status: 'succeeded', 'pending', or 'failed'. |
amount | Integer | 5000 | Total charge amount in the smallest currency unit (e.g. cents). |
amountCaptured | Integer | 5000 | Amount actually captured from the authorized amount. |
amountRefunded | Integer | 1000 | Total refunded so far (sum of all refunds against this charge). |
currency | String | USD | Three-letter ISO currency code. |
paid | Boolean | true | True when the charge succeeded or was authorized for a later capture. |
captured | Boolean | true | True when the charge has been captured. |
refunded | Boolean | false | True when the full charge has been refunded. |
disputed | Boolean | false | True when a dispute has been opened on this charge. |
created | String | 2024-07-05T22:10:00Z | Time the charge was created. |
description | String | Monthly subscription | Free-text description of the charge. Visible to the customer on receipts. |
statementDescriptor | String | ACME * SUBSCRIPTION | Text appearing on the customer's bank/card statement. |
receiptUrl | String | https://pay.stripe.com/receipts/... | Hosted Stripe URL for the receipt. Use in email templates. |
receiptNumber | String | 1234-5678 | Stripe-generated human-readable receipt number. |
failureCode | String | card_declined | Machine-readable failure code (e.g. card_declined, expired_card). Used for recovery journey personalization. |
failureMessage | String | Your card was declined. | Human-readable failure message. |
paymentMethod | String | pm_1Nxxxx | ID of the Payment Method used for this charge. |
paymentMethodDetails.type | String | card | The type of payment method used (e.g. card, sepa_debit, us_bank_account). |
paymentMethodDetails.cardBrand | String | visa | Card brand: 'visa', 'mastercard', 'amex', 'discover', etc. |
paymentMethodDetails.cardLast4 | String | 4242 | Last four digits of the card. |
paymentMethodDetails.cardCountry | String | US | Two-letter ISO country code where the card was issued. |
paymentMethodDetails.cardFunding | String | credit | Card funding type: 'credit', 'debit', 'prepaid', or 'unknown'. |
paymentMethodDetails.cardExpMonth | Integer | 12 | Two-digit card expiration month (1-12). |
paymentMethodDetails.cardExpYear | Integer | 2027 | Four-digit card expiration year. |
paymentMethodDetails.cardNetwork | String | visa | Card network used for processing (visa, mastercard, etc.). |
paymentMethodDetails.cardWallet | String | apple_pay | Wallet type if the card was tokenized through one (apple_pay, google_pay, etc.). |
outcome.networkStatus | String | approved_by_network | Card network's response status: 'approved_by_network', 'declined_by_network', etc. |
outcome.reason | String | elevated_risk_level | Reason code returned by Stripe Radar. |
outcome.riskLevel | String | normal | Stripe Radar risk classification: 'normal', 'elevated', 'highest', 'not_assessed', or 'unknown'. |
outcome.riskScore | Integer | 12 | Numeric Stripe Radar risk score (0-100). Higher means riskier. |
outcome.sellerMessage | String | Payment complete. | Human-readable explanation of the outcome for the seller. |
outcome.type | String | authorized | Outcome type: 'authorized', 'manual_review', 'issuer_declined', 'blocked', or 'invalid'. |
outcome.rule | String | block_if_risk_level_above_75 | Stripe Radar rule that triggered this outcome (if any). |
fraudDetails.stripeReport | String | fraudulent | Stripe's classification of this charge as fraudulent: 'fraudulent' or empty. |
fraudDetails.userReport | String | safe | Merchant's classification of this charge: 'fraudulent', 'safe', or empty. |
metadata | String | {"order_id": "ord_123"} | Merchant-defined key-value pairs on the charge. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Stripe customer this charge belongs to. |
attribute.user.receiptEmail | String | buyer@example.com | Email address the receipt was sent to (may differ from customer email). |
attribute.user.billingName | String | Jane Doe | Name on the billing details captured at charge time. |
attribute.user.billingEmail | String | jane.doe@example.com | Email on the billing details captured at charge time. |
attribute.user.billingPhone | String | +15555550123 | Phone on the billing details captured at charge time. |
attribute.user.billingAddressLine1 | String | 123 Apple St. | Line 1 of the billing address at charge time. |
attribute.user.billingAddressLine2 | String | Suite 200 | Line 2 of the billing address at charge time. |
attribute.user.billingAddressCity | String | New York | Billing address city. |
attribute.user.billingAddressState | String | NY | Billing address state. |
attribute.user.billingAddressPostalCode | String | 10001 | Billing address postal code. |
attribute.user.billingAddressCountry | String | US | Billing address two-letter country code. |
stripe_checkout_sessions
| Attribute | Type | Example | Description |
|---|---|---|---|
checkoutSessionId | String | cs_test_a1xxxx | Unique Stripe Checkout Session identifier. |
paymentIntentId | String | pi_3Nxxxx | PaymentIntent created by this checkout session. |
subscriptionId | String | sub_1Nxxxx | Subscription created by this checkout session (mode = subscription). |
invoiceId | String | in_1Nxxxx | Invoice created by this checkout session. |
paymentLinkId | String | plink_1Nxxxx | Stripe Payment Link this checkout session was opened from (if any). |
recoveredFromId | String | cs_test_b2yyyy | If this session was created to recover an expired session, the ID of the original session. |
clientReferenceId | String | intempt_user_42 | Merchant-supplied attribution ID. Commonly the Intempt user ID or session ID. |
mode | String | subscription | Checkout mode: 'payment', 'setup', or 'subscription'. |
status | String | complete | Session state: 'open', 'complete', or 'expired'. |
paymentStatus | String | paid | 'paid', 'unpaid', or 'no_payment_required'. Async methods can be complete-but-unpaid. |
currency | String | USD | Three-letter ISO currency code. |
amountTotal | Integer | 5000 | Total amount in the smallest currency unit, including tax and shipping. |
amountSubtotal | Integer | 4500 | Subtotal amount before tax, discounts, and shipping. |
url | String | https://checkout.stripe.com/c/pay/cs_test_a1xxxx | Hosted Stripe Checkout URL. |
successUrl | String | https://example.com/success?session_id={CHECKOUT_SESSION_ID} | URL the customer is redirected to after successful payment. |
cancelUrl | String | https://example.com/cancel | URL the customer is redirected to if they cancel checkout. |
created | String | 2024-07-05T22:10:00Z | Time the session was created. |
expiresAt | String | 2024-07-06T22:10:00Z | Time after which an unpaid session expires (for abandoned-checkout journeys). |
paymentMethodTypes | String | ["card", "klarna"] | Payment method types offered in this checkout session. |
paymentMethodCollection | String | always | How payment methods are collected: 'always' or 'if_required'. |
totalDetails.amountDiscount | Integer | 500 | Total discount applied across the session. |
totalDetails.amountShipping | Integer | 1000 | Total shipping amount. |
totalDetails.amountTax | Integer | 400 | Total tax amount. |
shippingCost.amountTotal | Integer | 1000 | Total shipping cost in the smallest currency unit. |
shippingCost.amountSubtotal | Integer | 900 | Shipping cost before tax. |
shippingCost.amountTax | Integer | 100 | Tax portion of the shipping cost. |
consent.promotions | String | opt_in | Customer's marketing consent: 'opt_in' or 'opt_out'. Important for journey eligibility. |
consent.termsOfService | String | accepted | Customer's acceptance of terms of service: 'accepted' or null. |
metadata | String | {"utm_source": "google", "utm_campaign": "spring_sale"} | Merchant-defined key-value pairs. Common location for UTM and campaign data. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Stripe customer for this session. May be null for guest checkouts (fall back to customerEmail). |
attribute.user.customerEmail | String | guest@example.com | Email captured at checkout (used for guest checkouts). |
attribute.user.customerName | String | Jane Doe | Name captured at checkout. |
attribute.user.customerPhone | String | +15555550123 | Phone number captured at checkout. |
attribute.user.customerBusinessName | String | Acme Corp | Business name captured at checkout. |
attribute.user.customerTaxExempt | String | none | Tax exemption captured at checkout: 'none', 'exempt', or 'reverse'. |
attribute.user.customerAddressLine1 | String | 123 Apple St. | Billing address line 1 captured at checkout. |
attribute.user.customerAddressLine2 | String | Suite 200 | Billing address line 2 captured at checkout. |
attribute.user.customerAddressCity | String | New York | Billing city captured at checkout. |
attribute.user.customerAddressState | String | NY | Billing state captured at checkout. |
attribute.user.customerAddressPostalCode | String | 10001 | Billing postal code captured at checkout. |
attribute.user.customerAddressCountry | String | US | Billing country captured at checkout. |
attribute.user.locale | String | en | Customer's preferred language captured at checkout. |
attribute.user.shippingName | String | Jane Doe | Shipping recipient name captured at checkout. |
attribute.user.shippingPhone | String | +15555550123 | Shipping phone captured at checkout. |
attribute.user.shippingAddressLine1 | String | 456 Banana Ave. | Shipping line 1 captured at checkout. |
attribute.user.shippingAddressLine2 | String | Apt 3B | Shipping line 2 captured at checkout. |
attribute.user.shippingAddressCity | String | Brooklyn | Shipping city captured at checkout. |
attribute.user.shippingAddressState | String | NY | Shipping state captured at checkout. |
attribute.user.shippingAddressPostalCode | String | 11201 | Shipping postal code captured at checkout. |
attribute.user.shippingAddressCountry | String | US | Shipping country captured at checkout. |
stripe_customer_cash_balance_transactions
| Attribute | Type | Example | Description |
|---|---|---|---|
transactionId | String | ccsbtxn_1Nxxxx | Unique cash balance transaction identifier. |
appliedToPaymentId | String | pi_3Nxxxx | Payment this transaction was applied to (when the type is 'applied_to_payment'). |
appliedToInvoiceId | String | in_1Nxxxx | Invoice this transaction was applied to. |
refundedFromPaymentId | String | pi_3Nxxxx | Payment this transaction was refunded from. |
type | String | funded | Transaction type: 'funded', 'applied_to_payment', 'refunded_from_payment', 'unapplied_from_payment', 'adjusted_for_overdraft', etc. |
netAmount | Integer | 5000 | Net amount of this transaction in the smallest currency unit (positive deposit, negative outflow). |
endingBalance | Integer | 5000 | Cash balance after this transaction was applied. |
currency | String | USD | Three-letter ISO currency code. |
created | String | 2024-07-05T22:10:00Z | Time the transaction posted to the cash balance. |
funded.reference | String | INV-1024 | Free-text reference the customer included with the bank transfer. |
funded.fundingType | String | bank_transfer | How the funds were sent: 'bank_transfer', 'wire', 'ach_credit', 'sepa_credit', or 'multibanco'. |
funded.bankName | String | Chase | Bank that originated the transfer. |
funded.bankCountry | String | US | Two-letter ISO country code of the originating bank. |
funded.last4 | String | 6789 | Last 4 digits of the originating bank account. |
funded.senderName | String | Acme Corp | Name of the sender on the bank transfer. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Customer this cash balance transaction belongs to. |
stripe_customer_tax_ids
| Attribute | Type | Example | Description |
|---|---|---|---|
taxIdId | String | txi_1Nxxxx | Stripe Tax ID object identifier (e.g. txi_xxx). Used to dedupe and address an individual tax record on update/delete. |
created | String | 2024-07-05T22:10:00Z | Time at which the tax ID record was added to the customer. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Stripe customer this tax ID belongs to. |
attribute.user.taxId | String | DE123456789 | The actual tax identifier value (VAT number, EIN, GST, etc.). |
attribute.user.taxIdType | String | eu_vat | Tax identifier type (e.g. eu_vat, us_ein, gb_vat). See Stripe Tax ID types. |
attribute.user.taxIdCountry | String | DE | Two-letter ISO country code the tax ID is registered in. |
attribute.user.taxIdVerificationStatus | String | verified | Stripe verification status: 'pending', 'verified', 'unverified', or 'unavailable'. |
attribute.user.taxIdVerifiedName | String | Acme GmbH | Legal name returned by the tax authority's verification. |
attribute.user.taxIdVerifiedAddress | String | Hauptstrasse 1, Berlin | Address returned by the tax authority's verification. |
stripe_customers
| Attribute | Type | Example | Description |
|---|---|---|---|
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Unique Stripe customer identifier (e.g. cus_Nxxxx). Primary join key across Stripe objects. |
attribute.user.email | String | jane.doe@example.com | The customer's email address. Primary contact for email journeys. |
attribute.user.name | String | Jane Doe | The customer's full name or business name. Used for personalization in journeys. |
attribute.user.phone | String | +15555550123 | The customer's phone number. Used for SMS journeys. |
attribute.user.description | String | Acme Corp — enterprise plan | Free-text note. Useful for B2B account identification. |
attribute.user.created | String | 2024-07-05T22:10:00Z | Time at which the customer was created. Used for cohort analysis and tenure segmentation. |
attribute.user.currency | String | USD | Three-letter ISO code for the currency the customer is billed in. |
attribute.user.balance | Integer | -500 | Customer's account credit balance in the smallest currency unit (e.g. cents). Can influence churn-risk scoring. |
attribute.user.delinquent | Boolean | false | True when the customer has past-due invoices. Strong churn signal. |
attribute.user.taxExempt | String | none | Tax exemption status: 'none', 'exempt', or 'reverse'. Useful for B2B segmentation. |
attribute.user.preferredLocales | String | ["en-US", "es-MX"] | Customer's preferred languages, ordered by preference. Used for localized email/SMS content. |
attribute.user.defaultSource | String | card_1Nxxxx | Reference to the customer's default payment source (legacy). |
attribute.user.defaultPaymentMethod | String | pm_1Nxxxx | Reference to the customer's default Payment Method. |
attribute.user.livemode | Boolean | true | True when the customer record is in Stripe live mode (vs test mode). |
attribute.user.deleted | Boolean | false | True when the customer has been deleted in Stripe. Used for GDPR suppression. |
attribute.user.addressLine1 | String | 123 Apple St. | Billing address line 1 (street, PO Box, or company name). |
attribute.user.addressLine2 | String | Suite 200 | Billing address line 2 (apartment, suite, unit, or building). |
attribute.user.city | String | New York | Billing address city, district, suburb, town, or village. |
attribute.user.state | String | NY | Billing address state, county, province, or region. |
attribute.user.postalCode | String | 10001 | Billing address ZIP or postal code. |
attribute.user.country | String | US | Billing address two-letter country code (ISO 3166-1 alpha-2). |
attribute.user.shipping.name | String | Jane Doe | Name on the shipping address. |
attribute.user.shipping.phone | String | +15555550123 | Phone number on the shipping address. |
attribute.user.shipping.address.line1 | String | 456 Banana Ave. | Shipping address line 1. |
attribute.user.shipping.address.line2 | String | Apt 3B | Shipping address line 2. |
attribute.user.shipping.address.city | String | Brooklyn | Shipping address city. |
attribute.user.shipping.address.state | String | NY | Shipping address state. |
attribute.user.shipping.address.postalCode | String | 11201 | Shipping address postal code. |
attribute.user.shipping.address.country | String | US | Shipping address two-letter country code. |
attribute.user.metadata | String | {"utm_source": "google", "plan_tier": "enterprise"} | Merchant-defined key-value pairs on the customer (utm_source, campaign_id, intempt_user_id, etc.). |
stripe_discounts
| Attribute | Type | Example | Description |
|---|---|---|---|
discountId | String | di_1Nxxxx | Unique Stripe discount identifier. |
subscriptionId | String | sub_1Nxxxx | Subscription this discount is applied to (if any). |
invoiceId | String | in_1Nxxxx | Invoice this discount is applied to (if any). |
promotionCodeId | String | promo_1Nxxxx | Promotion code that was redeemed (if any). |
start | String | 2024-07-05T22:10:00Z | Time the discount became active. |
end | String | 2024-10-05T22:10:00Z | Time the discount expires (null if forever). |
coupon.couponId | String | WELCOME20 | Identifier of the coupon backing this discount. |
coupon.name | String | Welcome 20% off | Human-readable coupon name. |
coupon.amountOff | Integer | 500 | Fixed-amount discount in the smallest currency unit. |
coupon.percentOff | Decimal | 20.0 | Percentage discount. |
coupon.currency | String | USD | Currency for fixed-amount discounts. |
coupon.duration | String | repeating | How long the coupon applies: 'once', 'forever', or 'repeating'. |
coupon.durationInMonths | Integer | 3 | For 'repeating' coupons, the number of months the discount lasts. |
coupon.maxRedemptions | Integer | 1000 | Maximum number of times the coupon can be redeemed. |
coupon.timesRedeemed | Integer | 42 | Number of times the coupon has been redeemed so far. |
coupon.redeemBy | String | 2024-12-31T23:59:59Z | Latest time the coupon can be redeemed. |
coupon.valid | Boolean | true | True when the coupon can still be applied (within window and under max redemptions). |
coupon.created | String | 2024-01-01T00:00:00Z | Time the coupon was created. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Stripe customer this discount applies to. |
stripe_disputes
| Attribute | Type | Example | Description |
|---|---|---|---|
disputeId | String | dp_1Nxxxx | Unique Stripe dispute identifier. |
chargeId | String | ch_3Nxxxx | Charge being disputed. |
paymentIntentId | String | pi_3Nxxxx | PaymentIntent associated with the disputed charge. |
amount | Integer | 5000 | Disputed amount in the smallest currency unit. |
currency | String | USD | Three-letter ISO currency code. |
status | String | needs_response | Dispute status: 'warning_needs_response', 'warning_under_review', 'warning_closed', 'needs_response', 'under_review', 'won', or 'lost'. |
reason | String | fraudulent | Reason for the dispute (fraudulent, product_not_received, duplicate, etc.). |
isChargeRefundable | Boolean | false | True if the charge can still be refunded. |
created | String | 2024-07-10T12:00:00Z | Time the dispute was opened. |
evidenceDueBy | String | 2024-07-25T23:59:59Z | Deadline for submitting evidence to contest the dispute. |
networkReasonCode | String | 10.4 | Card network's reason code for the dispute. |
metadata | String | {"support_ticket": "sup_456"} | Merchant-defined key-value pairs on the dispute. |
stripe_early_fraud_warnings
| Attribute | Type | Example | Description |
|---|---|---|---|
earlyFraudWarningId | String | issfr_1Nxxxx | Unique Stripe Radar Early Fraud Warning identifier. |
chargeId | String | ch_3Nxxxx | Charge that received the fraud warning. |
paymentIntentId | String | pi_3Nxxxx | PaymentIntent for the flagged charge. |
fraudType | String | made_with_stolen_card | Type of fraud the card network reported (made_with_stolen_card, misc, etc.). |
actionable | Boolean | true | True when the warning is actionable (you can refund to avoid a chargeback). |
created | String | 2024-07-10T12:00:00Z | Time the warning was issued. |
stripe_invoices
| Attribute | Type | Example | Description |
|---|---|---|---|
invoiceId | String | in_1Nxxxx | Unique Stripe invoice identifier. |
subscriptionId | String | sub_1Nxxxx | Subscription this invoice belongs to (null for one-off invoices). |
paymentIntentId | String | pi_3Nxxxx | PaymentIntent created to pay this invoice. |
chargeId | String | ch_3Nxxxx | Charge that paid this invoice (legacy / direct-charge flows). |
defaultPaymentMethodId | String | pm_1Nxxxx | Payment method to be used for this invoice. |
defaultSourceId | String | card_1Nxxxx | Legacy source to be used for this invoice. |
number | String | INV-1024 | Human-readable invoice number for customer-facing comms. |
receiptNumber | String | 1234-5678 | Stripe-generated receipt number once paid. |
status | String | paid | Invoice status: 'draft', 'open', 'paid', 'uncollectible', or 'void'. Drives the dunning state machine. |
billingReason | String | subscription_cycle | Why the invoice was created: 'subscription_cycle', 'subscription_create', 'subscription_update', 'manual', 'upcoming', etc. |
collectionMethod | String | charge_automatically | 'charge_automatically' or 'send_invoice'. |
currency | String | USD | Three-letter ISO currency code. |
total | Integer | 5500 | Final invoice total in the smallest currency unit, including tax and shipping. |
subtotal | Integer | 5000 | Subtotal before tax, discounts, and shipping. |
tax | Integer | 500 | Total tax amount. |
amountDue | Integer | 0 | Amount the customer still owes. |
amountPaid | Integer | 5500 | Amount the customer has paid so far. |
amountRemaining | Integer | 0 | Amount remaining to be paid. |
amountShipping | Integer | 1000 | Total shipping amount on the invoice. |
amountOverpaid | Integer | 0 | Amount paid in excess of the amount due. |
paid | Boolean | true | True when the invoice is fully paid. |
paidOutOfBand | Boolean | false | True when the invoice was marked paid externally (not via Stripe). |
attempted | Boolean | true | True when Stripe has attempted to collect on this invoice. |
attemptCount | Integer | 1 | Number of payment attempts. Drives recovery journey timing. |
nextPaymentAttempt | String | 2024-07-08T22:10:00Z | Scheduled time of the next automatic retry. |
created | String | 2024-07-05T22:10:00Z | Time the invoice was created. |
finalizedAt | String | 2024-07-05T22:11:00Z | Time the invoice was finalized. |
dueDate | String | 2024-07-15T22:10:00Z | When the invoice is due to be paid. |
effectiveAt | String | 2024-07-05T22:10:00Z | Effective date for the invoice. |
periodStart | String | 2024-07-05T22:10:00Z | Start of the service period this invoice covers. Essential for revenue recognition. |
periodEnd | String | 2024-08-05T22:10:00Z | End of the service period this invoice covers. |
hostedInvoiceUrl | String | https://invoice.stripe.com/i/acct_xxx/test_xxx | Stripe-hosted page where the customer can view and pay the invoice. Use in email/SMS templates. |
invoicePdf | String | https://pay.stripe.com/invoice/.../pdf | URL to a PDF version of the invoice. |
discount.discountId | String | di_1Nxxxx | Active discount on this invoice. |
discount.couponId | String | WELCOME20 | Coupon backing the active discount. |
discount.couponName | String | Welcome 20% off | Human-readable coupon name. |
discount.amountOff | Integer | 500 | Fixed-amount discount. |
discount.percentOff | Decimal | 20.0 | Percentage discount. |
discount.duration | String | once | 'once', 'forever', or 'repeating'. |
discount.currency | String | USD | Currency for fixed-amount discounts. |
lastFinalizationError.code | String | invoice_no_payment_method_types | Stripe error code from invoice finalization failure. |
lastFinalizationError.message | String | No payment method types are configured. | Human-readable finalization error message. |
lastFinalizationError.type | String | invalid_request_error | Error type returned by Stripe (e.g. invalid_request_error). |
lastPaymentError.code | String | card_declined | Stripe error code from the most recent payment attempt failure. |
lastPaymentError.declineCode | String | insufficient_funds | Card-network decline code (e.g. insufficient_funds). |
lastPaymentError.message | String | Your card was declined. | Human-readable failure message. Use for dunning journey personalization. |
lastPaymentError.paymentMethodType | String | card | Type of payment method that failed. |
lastPaymentError.cardBrand | String | visa | Card brand that was declined (visa, mastercard, etc.). |
lastPaymentError.cardLast4 | String | 4242 | Last 4 digits of the declined card. |
metadata | String | {"order_id": "ord_123"} | Merchant-defined key-value pairs on the invoice. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Stripe customer billed on this invoice. |
attribute.user.customerEmail | String | jane.doe@example.com | Customer email captured at invoice time. Preserved for historical accuracy. |
attribute.user.customerName | String | Jane Doe | Customer name at invoice time. |
attribute.user.customerPhone | String | +15555550123 | Customer phone at invoice time. |
attribute.user.customerAddressLine1 | String | 123 Apple St. | Customer address line 1 at invoice time. |
attribute.user.customerAddressLine2 | String | Suite 200 | Customer address line 2 at invoice time. |
attribute.user.customerAddressCity | String | New York | Customer city at invoice time. |
attribute.user.customerAddressState | String | NY | Customer state at invoice time. |
attribute.user.customerAddressPostalCode | String | 10001 | Customer postal code at invoice time. |
attribute.user.customerAddressCountry | String | US | Customer country at invoice time. |
stripe_payment_intents
| Attribute | Type | Example | Description |
|---|---|---|---|
paymentIntentId | String | pi_3Nxxxx | Unique Stripe PaymentIntent identifier. |
invoiceId | String | in_1Nxxxx | Linked invoice if this PaymentIntent was created for an invoice. |
latestChargeId | String | ch_3Nxxxx | Charge that represents the completed payment for this PaymentIntent. Use for revenue dedup against charges. |
paymentMethodId | String | pm_1Nxxxx | Payment Method used for this PaymentIntent. |
status | String | succeeded | PaymentIntent status: 'requires_payment_method', 'requires_confirmation', 'requires_action', 'processing', 'requires_capture', 'canceled', or 'succeeded'. |
amount | Integer | 5000 | Authorized amount in the smallest currency unit. |
amountReceived | Integer | 5000 | Amount actually received after capture. |
amountCapturable | Integer | 0 | Amount remaining that can still be captured (for two-step authorize/capture). |
currency | String | USD | Three-letter ISO currency code. |
created | String | 2024-07-05T22:10:00Z | Time the PaymentIntent was created. |
canceledAt | String | 2024-07-05T22:15:00Z | Time the PaymentIntent was canceled. |
cancellationReason | String | requested_by_customer | Reason for cancellation: 'duplicate', 'fraudulent', 'requested_by_customer', 'abandoned', 'failed_invoice', 'void_invoice', or 'automatic'. |
description | String | Order #1234 | Free-text description of the PaymentIntent. |
statementDescriptor | String | ACME * ORDER | Text appearing on the customer's bank/card statement. |
statementDescriptorSuffix | String | ORDER1234 | Suffix appended to the merchant's default statement descriptor. |
setupFutureUsage | String | off_session | Indicates whether the payment method can be saved for future charges: 'on_session' or 'off_session'. |
paymentMethodTypes | String | ["card", "sepa_debit"] | Payment method types this PaymentIntent accepts. |
lastPaymentError.code | String | card_declined | Stripe error code from the most recent failed payment attempt. |
lastPaymentError.declineCode | String | insufficient_funds | Card network decline code from the most recent failed attempt. |
lastPaymentError.message | String | Your card was declined. | Human-readable error message. Use for recovery journey personalization. |
lastPaymentError.paymentMethodType | String | card | Payment method type that failed. |
metadata | String | {"order_id": "ord_123", "utm_source": "google"} | Merchant-defined key-value pairs on the PaymentIntent. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Stripe customer this PaymentIntent belongs to. |
attribute.user.receiptEmail | String | buyer@example.com | Email address the receipt is sent to. |
attribute.user.shippingName | String | Jane Doe | Recipient name on the shipping address. |
attribute.user.shippingPhone | String | +15555550123 | Phone number on the shipping address. |
attribute.user.shippingCarrier | String | UPS | Shipping carrier name. |
attribute.user.shippingTrackingNumber | String | 1Z999AA10123456784 | Tracking number for the shipment. |
attribute.user.shippingAddressLine1 | String | 456 Banana Ave. | Line 1 of the shipping address. |
attribute.user.shippingAddressLine2 | String | Apt 3B | Line 2 of the shipping address. |
attribute.user.shippingAddressCity | String | Brooklyn | Shipping address city. |
attribute.user.shippingAddressState | String | NY | Shipping address state. |
attribute.user.shippingAddressPostalCode | String | 11201 | Shipping address postal code. |
attribute.user.shippingAddressCountry | String | US | Shipping address two-letter country code. |
stripe_payment_methods
| Attribute | Type | Example | Description |
|---|---|---|---|
paymentMethodId | String | pm_1Nxxxx | Unique Stripe Payment Method identifier. |
type | String | card | Payment method type: 'card', 'sepa_debit', 'us_bank_account', 'apple_pay', etc. |
created | String | 2024-07-05T22:10:00Z | Time the payment method was attached. |
card.brand | String | visa | Card brand: 'visa', 'mastercard', 'amex', 'discover', etc. |
card.last4 | String | 4242 | Last four digits of the card. Used in 'your Visa ending 4242' templates. |
card.expMonth | Integer | 12 | Two-digit card expiration month (1-12). Used to derive expiring-card journeys. |
card.expYear | Integer | 2027 | Four-digit card expiration year. |
card.country | String | US | Two-letter ISO country code where the card was issued. |
card.funding | String | credit | 'credit', 'debit', 'prepaid', or 'unknown'. |
card.wallet | String | apple_pay | Wallet type if tokenized through one (apple_pay, google_pay, etc.). |
card.network | String | visa | Card network used for processing. |
sepaDebit.last4 | String | 3000 | Last 4 digits of the SEPA bank account. |
sepaDebit.country | String | DE | Two-letter ISO country code of the SEPA bank. |
sepaDebit.bankCode | String | 37040044 | Bank code of the SEPA debit account. |
sepaDebit.branchCode | String | 0000 | Branch code of the SEPA debit account. |
usBankAccount.last4 | String | 6789 | Last 4 digits of the US bank account. |
usBankAccount.bankName | String | Chase | Bank name for the US bank account. |
usBankAccount.accountType | String | checking | 'checking' or 'savings'. |
usBankAccount.accountHolderType | String | individual | 'individual' or 'company'. |
metadata | String | {"primary": "true"} | Merchant-defined key-value pairs on the payment method. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Customer this payment method is attached to. |
attribute.user.billingName | String | Jane Doe | Name on the payment method's billing details. |
attribute.user.billingEmail | String | jane.doe@example.com | Email on the payment method's billing details. |
attribute.user.billingPhone | String | +15555550123 | Phone on the payment method's billing details. |
attribute.user.billingAddressLine1 | String | 123 Apple St. | Line 1 of the billing address. |
attribute.user.billingAddressLine2 | String | Suite 200 | Line 2 of the billing address. |
attribute.user.billingAddressCity | String | New York | Billing city. |
attribute.user.billingAddressState | String | NY | Billing state. |
attribute.user.billingAddressPostalCode | String | 10001 | Billing postal code. |
attribute.user.billingAddressCountry | String | US | Billing two-letter country code. |
stripe_products
| Attribute | Type | Example | Description |
|---|---|---|---|
productId | String | prod_Nxxxx | Unique Stripe product identifier. |
defaultPriceId | String | price_1Nxxxx | Convenience pointer to the canonical price for this product. |
name | String | Pro Plan | Human-readable product name. |
description | String | Unlimited seats with priority support. | Marketing copy for the product. Useful in journey templates. |
active | Boolean | true | Soft-delete flag. Filter inactive products from catalog views. |
type | String | service | 'service' or 'good'. Distinguishes physical vs digital products. |
taxCode | String | txcd_10000000 | Stripe Tax classification code. |
url | String | https://example.com/pro-plan | Marketing page URL for the product. Useful in journey CTAs. |
images | String | ["https://files.stripe.com/products/prod_xxx_1.png"] | URLs of product images. Use in rich emails and journey templates. |
created | String | 2024-01-01T00:00:00Z | Time the product was created. |
updated | String | 2024-07-05T22:10:00Z | Time the product was last updated. |
metadata | String | {"category": "saas", "tier": "pro"} | Merchant-defined tags (category, tier, SKU, etc.). |
stripe_refunds
| Attribute | Type | Example | Description |
|---|---|---|---|
refundId | String | re_3Nxxxx | Unique Stripe refund identifier. |
chargeId | String | ch_3Nxxxx | Charge that was refunded. |
paymentIntentId | String | pi_3Nxxxx | PaymentIntent associated with the refunded charge. |
balanceTransactionId | String | txn_1Nxxxx | Stripe balance transaction representing the refund's impact on your Stripe balance. |
amount | Integer | 1000 | Refund amount in the smallest currency unit. Negative revenue signal. |
currency | String | USD | Three-letter ISO currency code. |
status | String | succeeded | Refund status: 'pending', 'requires_action', 'succeeded', 'failed', or 'canceled'. |
reason | String | requested_by_customer | Reason for the refund: 'duplicate', 'fraudulent', or 'requested_by_customer'. |
failureReason | String | expired_or_canceled_card | If the refund failed, the reason it failed (lost_or_stolen_card, expired_or_canceled_card, etc.). |
receiptNumber | String | 1234-5678 | Stripe-generated receipt number for the refund. |
description | String | Customer requested refund — order #1234 | Free-text description of the refund. |
created | String | 2024-07-10T12:00:00Z | Time the refund was created. |
metadata | String | {"support_ticket": "sup_456"} | Merchant-defined key-value pairs on the refund. |
stripe_reviews
| Attribute | Type | Example | Description |
|---|---|---|---|
reviewId | String | prv_1Nxxxx | Unique Stripe Radar review identifier. |
chargeId | String | ch_3Nxxxx | Charge under review. |
paymentIntentId | String | pi_3Nxxxx | PaymentIntent for the reviewed charge. |
reason | String | rule | Why the review was opened (rule, manual, etc.). |
openedReason | String | rule | Reason the review was originally opened. |
closedReason | String | approved | How the review was closed: 'approved', 'refunded', 'refunded_as_fraud', 'disputed', or 'redacted'. |
open | Boolean | true | True while the review is still open. |
created | String | 2024-07-10T12:00:00Z | Time the review was opened. |
stripe_subscription_schedule
| Attribute | Type | Example | Description |
|---|---|---|---|
scheduleId | String | sub_sched_1Nxxxx | Unique Stripe Subscription Schedule identifier. |
subscriptionId | String | sub_1Nxxxx | Subscription currently driven by this schedule. |
releasedSubscriptionId | String | sub_1Nxxxx | Subscription that was detached when the schedule was released. |
status | String | active | Schedule status: 'not_started', 'active', 'completed', 'released', or 'canceled'. |
endBehavior | String | release | What happens when the schedule ends: 'release', 'cancel', or 'none'. |
created | String | 2024-07-05T22:10:00Z | Time the schedule was created. |
canceledAt | String | 2024-07-10T12:00:00Z | Time the schedule was canceled. |
completedAt | String | 2025-07-05T22:10:00Z | Time all phases finished executing. |
releasedAt | String | 2024-12-01T00:00:00Z | Time the schedule was released (subscription detached). |
expiresAt | String | 2025-07-05T22:10:00Z | Time the schedule will expire. |
currentPhase.startDate | String | 2024-07-05T22:10:00Z | Start of the currently active phase. |
currentPhase.endDate | String | 2024-10-05T22:10:00Z | End of the currently active phase. |
defaultSettings.collectionMethod | String | charge_automatically | Default 'charge_automatically' or 'send_invoice' for the schedule. |
defaultSettings.billingCycleAnchor | String | automatic | When the billing cycle anchors: 'automatic', 'phase_start', etc. |
defaultSettings.defaultPaymentMethodId | String | pm_1Nxxxx | Default payment method for invoices created from this schedule. |
defaultSettings.onBehalfOf | String | acct_1Nxxxx | Connected account on behalf of which charges will be made. |
defaultSettings.description | String | Annual contract — Q3 2024 | Default description for invoices. |
metadata | String | {"contract_id": "ctr_456"} | Merchant-defined key-value pairs on the schedule. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Customer this schedule belongs to. |
stripe_subscriptions
| Attribute | Type | Example | Description |
|---|---|---|---|
subscriptionId | String | sub_1Nxxxx | Unique Stripe subscription identifier. |
latestInvoiceId | String | in_1Nxxxx | Most recent invoice for this subscription. |
scheduleId | String | sub_sched_1Nxxxx | Stripe Subscription Schedule driving this subscription (if any). |
defaultPaymentMethodId | String | pm_1Nxxxx | Payment method used for this subscription's invoices (overrides customer-level default). |
status | String | active | Subscription status: 'active', 'trialing', 'past_due', 'canceled', 'unpaid', 'incomplete', 'incomplete_expired', or 'paused'. |
collectionMethod | String | charge_automatically | 'charge_automatically' or 'send_invoice'. Distinguishes self-serve from sales-led billing. |
currency | String | USD | Three-letter ISO currency code. |
amount | Integer | 5000 | Total amount charged per billing period in the smallest currency unit. Sum of items[].amount. |
mrr | Integer | 5000 | Monthly recurring revenue in the smallest currency unit, normalized regardless of billing interval. |
arr | Integer | 60000 | Annual recurring revenue in the smallest currency unit (mrr * 12). |
created | String | 2024-07-05T22:10:00Z | Time the subscription was created. |
currentPeriodStart | String | 2024-07-05T22:10:00Z | Start of the current billing period. |
currentPeriodEnd | String | 2024-08-05T22:10:00Z | End of the current billing period. Subscription renews immediately after this. |
trialStart | String | 2024-07-05T22:10:00Z | Start of the trial period. |
trialEnd | String | 2024-07-19T22:10:00Z | End of the trial period. Drives 'Trial Ending Soon' logic. |
cancelAt | String | 2024-08-05T22:10:00Z | Scheduled cancellation time (set when cancelling at period end). |
canceledAt | String | 2024-08-05T22:10:00Z | Time the subscription was actually canceled. |
endedAt | String | 2024-08-05T22:10:00Z | Time the subscription fully ended (after any cancel-at-period-end window). |
cancelAtPeriodEnd | Boolean | false | True if the subscription will cancel at the end of the current billing period. Pre-cancellation churn signal. |
cancellationDetails.reason | String | cancellation_requested | Cancellation classification: 'cancellation_requested', 'payment_disputed', or 'payment_failed'. |
cancellationDetails.feedback | String | too_expensive | Customer's structured feedback (too_expensive, missing_features, switched_service, etc.). |
cancellationDetails.comment | String | Found a cheaper alternative. | Free-text comment provided by the customer when canceling. |
previousAttributes.previousStatus | String | trialing | Status before the most recent update. Used to derive trial-to-paid conversions. |
previousAttributes.previousQuantity | Integer | 5 | Quantity before the most recent update. Used to detect seat expansions/contractions. |
previousAttributes.previousPriceId | String | price_1Nxxxx | Price ID before the most recent update. Used to derive plan upgrades/downgrades. |
previousAttributes.previousProductId | String | prod_Nxxxx | Product ID before the most recent update. |
previousAttributes.previousUnitAmount | Integer | 1000 | Per-unit price before the most recent update. |
previousAttributes.previousCurrency | String | USD | Currency before the most recent update. |
previousAttributes.previousInterval | String | month | Billing interval before the most recent update (month, year, etc.). |
previousAttributes.previousCancelAtPeriodEnd | Boolean | true | Cancel-at-period-end flag value before the most recent update. |
previousAttributes.previousTrialEnd | String | 2024-07-19T22:10:00Z | Trial end before the most recent update. |
discount.discountId | String | di_1Nxxxx | Active discount applied to the subscription. |
discount.couponId | String | WELCOME20 | Coupon backing the active discount. |
discount.couponName | String | Welcome 20% off | Human-readable coupon name. |
discount.amountOff | Integer | 500 | Fixed amount discount in the smallest currency unit. |
discount.percentOff | Decimal | 20.0 | Percentage discount. |
discount.duration | String | repeating | How long the discount applies: 'once', 'forever', or 'repeating'. |
discount.currency | String | USD | Currency for fixed-amount discounts. |
metadata | String | {"plan_tier": "enterprise"} | Merchant-defined key-value pairs on the subscription. |
attribute.user.customerId | String | cus_NffrFeUfNV2Hib | Stripe customer this subscription belongs to. |
attribute.user.subscriptionStatus | String | active | Mirrored subscription status on the user profile for real-time segmentation. |
attribute.user.currentPriceId | String | price_1Nxxxx | Active price ID on the user profile. |
attribute.user.currentProductId | String | prod_Nxxxx | Active product ID on the user profile. |
attribute.user.mrr | Integer | 5000 | Customer's monthly recurring revenue in the smallest currency unit. |
attribute.user.arr | Integer | 60000 | Customer's annual recurring revenue in the smallest currency unit. |
