We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.2.0
Create a customer.subscription.created event, then try to access the plan field of the subscription.
customer.subscription.created
plan
Example Event with API version: 2025-03-31.basil (From stripe)
API version: 2025-03-31.basil
{ "object": { "id": "sub_1RChCzDC4Fizwk4lpuLvu7Bg", "object": "subscription", "application": null, "application_fee_percent": null, "automatic_tax": { "disabled_reason": null, "enabled": false, "liability": null }, "billing_cycle_anchor": 1744376484, "billing_cycle_anchor_config": null, "cancel_at": null, "cancel_at_period_end": false, "canceled_at": null, "cancellation_details": { "comment": null, "feedback": null, "reason": null }, "collection_method": "charge_automatically", "created": 1744376484, "currency": "usd", "customer": "cus_S6v3W4tTAAwHmd", "days_until_due": null, "default_payment_method": "pm_1RChCxDC4Fizwk4lHXW629kv", "default_source": null, "default_tax_rates": [], "description": null, "discounts": [], "ended_at": null, "invoice_settings": { "account_tax_ids": null, "issuer": { "type": "self" } }, "items": { "object": "list", "data": [ { "id": "si_S6v39hdZ0pif6M", "object": "subscription_item", "created": 1744376484, "current_period_end": 1746968484, "current_period_start": 1744376484, "discounts": [], "metadata": {}, "plan": { "id": "price_1RC0eTDC4Fizwk4lAGHVuxqL", "object": "plan", "active": true, "amount": 1500, "amount_decimal": "1500", "billing_scheme": "per_unit", "created": 1744212897, "currency": "usd", "interval": "month", "interval_count": 1, "livemode": false, "metadata": {}, "meter": null, "nickname": null, "product": "prod_S6D4U7hNT3EM2n", "tiers_mode": null, "transform_usage": null, "trial_period_days": null, "usage_type": "licensed" }, "price": { "id": "price_1RC0eTDC4Fizwk4lAGHVuxqL", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1744212897, "currency": "usd", "custom_unit_amount": null, "livemode": false, "lookup_key": null, "metadata": {}, "nickname": null, "product": "prod_S6D4U7hNT3EM2n", "recurring": { "interval": "month", "interval_count": 1, "meter": null, "trial_period_days": null, "usage_type": "licensed" }, "tax_behavior": "unspecified", "tiers_mode": null, "transform_quantity": null, "type": "recurring", "unit_amount": 1500, "unit_amount_decimal": "1500" }, "quantity": 1, "subscription": "sub_1RChCzDC4Fizwk4lpuLvu7Bg", "tax_rates": [] } ], "has_more": false, "total_count": 1, "url": "/v1/subscription_items?subscription=sub_1RChCzDC4Fizwk4lpuLvu7Bg" }, "latest_invoice": "in_1RChCzDC4Fizwk4lPZJTK1hZ", "livemode": false, "metadata": {}, "next_pending_invoice_item_invoice": null, "on_behalf_of": null, "pause_collection": null, "payment_settings": { "payment_method_options": { "acss_debit": null, "bancontact": null, "card": { "network": null, "request_three_d_secure": "automatic" }, "customer_balance": null, "konbini": null, "sepa_debit": null, "us_bank_account": null }, "payment_method_types": null, "save_default_payment_method": "off" }, "pending_invoice_item_interval": null, "pending_setup_intent": null, "pending_update": null, "plan": { "id": "price_1RC0eTDC4Fizwk4lAGHVuxqL", "object": "plan", "active": true, "amount": 1500, "amount_decimal": "1500", "billing_scheme": "per_unit", "created": 1744212897, "currency": "usd", "interval": "month", "interval_count": 1, "livemode": false, "metadata": {}, "meter": null, "nickname": null, "product": "prod_S6D4U7hNT3EM2n", "tiers_mode": null, "transform_usage": null, "trial_period_days": null, "usage_type": "licensed" }, "quantity": 1, "schedule": null, "start_date": 1744376484, "status": "active", "test_clock": null, "transfer_data": null, "trial_end": null, "trial_settings": { "end_behavior": { "missing_payment_method": "create_invoice" } }, "trial_start": null }, "previous_attributes": null }
iex(7)> event %Stripe.Event{ account: nil, api_version: "2025-03-31.basil", created: 1744376486, data: %{ object: %Stripe.Subscription{ default_tax_rates: [], pending_update: nil, id: "sub_1RChCzDC4Fizwk4lpuLvu7Bg", transfer_data: nil, items: %Stripe.List{ object: "list", data: [ %Stripe.SubscriptionItem{ billing_thresholds: nil, created: 1744376484, id: "si_S6v39hdZ0pif6M", metadata: %{}, object: "subscription_item", plan: %Stripe.Plan{ active: true, aggregate_usage: nil, amount: 1500, amount_decimal: "1500", billing_scheme: "per_unit", created: 1744212897, currency: "usd", id: "price_1RC0eTDC4Fizwk4lAGHVuxqL", interval: "month", interval_count: 1, livemode: false, metadata: %{}, nickname: nil, object: "plan", product: "prod_S6D4U7hNT3EM2n", tiers: nil, tiers_mode: nil, transform_usage: nil, trial_period_days: nil, usage_type: "licensed" }, price: %Stripe.Price{ active: true, billing_scheme: "per_unit", created: 1744212897, currency: "usd", currency_options: nil, custom_unit_amount: nil, id: "price_1RC0eTDC4Fizwk4lAGHVuxqL", livemode: false, lookup_key: nil, metadata: %{}, nickname: nil, object: "price", product: "prod_S6D4U7hNT3EM2n", recurring: %{ interval: "month", meter: nil, interval_count: 1, trial_period_days: nil, usage_type: "licensed" }, tax_behavior: "unspecified", tiers: nil, tiers_mode: nil, transform_quantity: nil, type: "recurring", unit_amount: 1500, unit_amount_decimal: "1500" }, quantity: 1, subscription: "sub_1RChCzDC4Fizwk4lpuLvu7Bg", tax_rates: [] } ], has_more: false, total_count: 1, url: "/v1/subscription_items?subscription=sub_1RChCzDC4Fizwk4lpuLvu7Bg" }, status: "active", current_period_start: nil, trial_start: nil, trial_settings: %{ end_behavior: %{missing_payment_method: "create_invoice"} }, cancel_at: nil, trial_end: nil, created: 1744376484, currency: "usd", latest_invoice: "in_1RChCzDC4Fizwk4lPZJTK1hZ", current_period_end: nil, canceled_at: nil, schedule: nil, automatic_tax: %{enabled: false, disabled_reason: nil, liability: nil}, test_clock: nil, billing_cycle_anchor: 1744376484, billing_cycle_anchor_config: nil, object: "subscription", cancel_at_period_end: false, default_source: nil, next_pending_invoice_item_invoice: nil, billing_thresholds: nil, pending_invoice_item_interval: nil, plan: %Stripe.Plan{ active: true, aggregate_usage: nil, amount: 1500, amount_decimal: "1500", billing_scheme: "per_unit", created: 1744212897, currency: "usd", id: "price_1RC0eTDC4Fizwk4lAGHVuxqL", interval: "month", interval_count: 1, livemode: false, metadata: %{}, nickname: nil, object: "plan", product: "prod_S6D4U7hNT3EM2n", tiers: nil, tiers_mode: nil, ... }, application: nil, payment_settings: %{ payment_method_options: %{ sepa_debit: nil, customer_balance: nil, bancontact: nil, konbini: nil, us_bank_account: nil, card: %{network: nil, request_three_d_secure: "automatic"}, acss_debit: nil }, payment_method_types: nil, save_default_payment_method: "off" }, days_until_due: nil, ended_at: nil, customer: "cus_S6v3W4tTAAwHmd", pause_collection: nil, on_behalf_of: nil, start_date: 1744376484, discount: nil, pending_setup_intent: nil, cancellation_details: %{reason: nil, comment: nil, feedback: nil}, description: nil, metadata: %{}, default_payment_method: "pm_1RChCxDC4Fizwk4lHXW629kv", collection_method: "charge_automatically", livemode: false, application_fee_percent: nil } }, id: "evt_1RChD1DC4Fizwk4lO3OwEIHS", livemode: false, object: "event", pending_webhooks: 3, request: %{id: nil, idempotency_key: "0f533d6e-24ff-46e5-a250-f316c15e0a6d"}, type: "customer.subscription.created" }
[info] Stripe: Processing customer.subscription.created [info] Sent 500 in 14ms [error] ** (KeyError) key :plan not found in: %Stripe.Subscription{ default_tax_rates: [], pending_update: nil, id: "sub_1RCepPDC4Fizwk4lDL6kSUR7", transfer_data: nil, items: %Stripe.List{ object: "list", data: [ %Stripe.SubscriptionItem{ billing_thresholds: nil, created: 1744367336, id: "si_S6saziihpqX5js", metadata: %{}, object: "subscription_item", plan: %Stripe.Plan{ active: true, aggregate_usage: nil, amount: 1500, amount_decimal: "1500", billing_scheme: "per_unit", created: 1744367335, currency: "usd", id: "price_1RCepPDC4Fizwk4lggKScl6A", interval: "month", interval_count: 1, livemode: false, metadata: %{}, nickname: nil, object: "plan", product: "prod_S6sagMyxdrwYkI", tiers: nil, tiers_mode: nil, transform_usage: nil, trial_period_days: nil, usage_type: "licensed" }, price: %Stripe.Price{ active: true, billing_scheme: "per_unit", created: 1744367335, currency: "usd", currency_options: nil, custom_unit_amount: nil, id: "price_1RCepPDC4Fizwk4lggKScl6A", livemode: false, lookup_key: nil, metadata: %{}, nickname: nil, object: "price", product: "prod_S6sagMyxdrwYkI", recurring: %{ interval: "month", meter: nil, aggregate_usage: nil, interval_count: 1, trial_period_days: nil, usage_type: "licensed" }, tax_behavior: "unspecified", tiers: nil, tiers_mode: nil, transform_quantity: nil, type: "recurring", unit_amount: 1500, unit_amount_decimal: "1500" }, quantity: 1, subscription: "sub_1RCepPDC4Fizwk4lDL6kSUR7", tax_rates: [] } ], has_more: false, total_count: 1, url: "/v1/subscription_items?subscription=sub_1RCepPDC4Fizwk4lDL6kSUR7" }, status: "active", current_period_start: 1744367335, trial_start: nil, trial_settings: %{end_behavior: %{missing_payment_method: "create_invoice"}}, cancel_at: nil, trial_end: nil, created: 1744367335, currency: "usd", latest_invoice: "in_1RCepPDC4Fizwk4leFbfnaSu", current_period_end: 1746959335, canceled_at: nil, schedule: nil, automatic_tax: %{enabled: false, liability: nil, disabled_reason: nil}, test_clock: nil, billing_cycle_anchor: 1744367335, billing_cycle_anchor_config: nil, object: "subscription", cancel_at_period_end: false, default_source: nil, next_pending_invoice_item_invoice: nil, billing_thresholds: nil, pending_invoice_item_interval: nil, application: nil, payment_settings: %{ payment_method_types: nil, payment_method_options: nil, save_default_payment_method: "off" }, days_until_due: nil, ended_at: nil, customer: "cus_S6sa66uXRou8ZU", pause_collection: nil, on_behalf_of: nil, start_date: 1744367335, discount: nil, pending_setup_intent: nil, cancellation_details: %{reason: nil, comment: nil, feedback: nil}, description: nil, metadata: %{}, default_payment_method: nil, collection_method: "charge_automatically", livemode: false, application_fee_percent: nil }
The text was updated successfully, but these errors were encountered:
I have a PR on my machine for this, if approved.
Sorry, something went wrong.
diff --git a/lib/generated/subscription.ex b/lib/generated/subscription.ex index 164142c..f3fa2dd 100644 --- a/lib/generated/subscription.ex +++ b/lib/generated/subscription.ex @@ -31,6 +31,7 @@ defmodule Stripe.Subscription do :next_pending_invoice_item_invoice, :billing_thresholds, :pending_invoice_item_interval, + :plan, :application, :payment_settings, :days_until_due, @@ -88,6 +89,7 @@ defmodule Stripe.Subscription do pending_invoice_item_interval: term | nil, pending_setup_intent: (binary | Stripe.SetupIntent.t()) | nil, pending_update: term | nil, + plan: (binary | Stripe.Plan.t()) | nil, schedule: (binary | Stripe.SubscriptionSchedule.t()) | nil, start_date: integer, status: binary, @@ -491,6 +493,7 @@ defmodule Stripe.Subscription do | :default_incomplete | :error_if_incomplete | :pending_if_incomplete, + optional(:plan) => binary, optional(:items) => list(items), optional(:transfer_data) => transfer_data, optional(:proration_behavior) => :always_invoice | :create_prorations | :none, @@ -550,6 +553,7 @@ defmodule Stripe.Subscription do optional(:payment_settings) => payment_settings, optional(:pending_invoice_item_interval) => pending_invoice_item_interval | binary, + optional(:plan) => binary, optional(:promotion_code) => binary, optional(:proration_behavior) => :always_invoice | :create_prorations | :none, optional(:proration_date) => integer,
No branches or pull requests
Existing Issue or Pull Request Verification
Package Version
3.2.0
Are you using the latest version?
Steps to Reproduce
Create a
customer.subscription.created
event, then try to access theplan
field of the subscription.Example Event with
API version: 2025-03-31.basil
(From stripe)Expected Result
Actual Result
The text was updated successfully, but these errors were encountered: