Dainius
Dainius

Reputation: 1852

How to allow customers to apply promo code on existing subscription in stripe customer portal?

in stripe customer portal settings I have set "Allow customers to apply promotion codes", but when I open customer portal I can't find anywhere, where I could add promo code. I can cancel subscription, update payment methods or customer data as I configured in settings, but not promotion code. Is there something special that needs to be done? In production we are opening that via special BillingPortalSession (stripe api), but I also checked with generated link from stripe it self.

billing portal configuration features looks like this:

"features": {
"customer_update": {
  "allowed_updates": [
    "email",
    "address",
    "phone"
  ],
  "enabled": true
},
"invoice_history": {
  "enabled": true
},
"payment_method_update": {
  "enabled": true
},
"subscription_cancel": {
  "cancellation_reason": {
    "enabled": true,
    "options": [
      "too_expensive",
      "missing_features",
      "switched_service",
      "unused",
      "other",
      "customer_service",
      "too_complex"
    ]
  },
  "enabled": true,
  "mode": "at_period_end",
  "proration_behavior": "none"
},
"subscription_pause": {
  "enabled": false
},
"subscription_update": {
  "default_allowed_updates": [
    "price",
    "promotion_code"
  ],
  "enabled": true,
  "proration_behavior": "create_prorations"
}

Upvotes: 1

Views: 3006

Answers (1)

Pompey
Pompey

Reputation: 1354

If you are using the default portal configuration on your account, make sure to double check that your "Allow customers to apply promotion codes" setting is enabled in your dashboard settings[1].

If you are using the API to define your billing portal configuration, make sure to check that promotion_code is included in your portal's features.subscription_update.default_allowed_updates list[2].

If neither of those seem to work for you, you can get help by going to Stripe's Discord Server[3] or writing in to their support team[4]. If you go to one of those, please make sure to have an example request ID[5] from a time when you created a customer portal session and did not see the behavior that you were expecting.


[1] https://dashboard.stripe.com/test/settings/billing/portal

[2] https://stripe.com/docs/api/customer_portal/configurations/create#create_portal_configuration-features-subscription_update-default_allowed_updates

[3] https://stripe.com/go/developer-chat

[4] https://support.stripe.com/?contact=true

[5] https://stripe.com/docs/api/request_ids

Upvotes: 6

Related Questions