#Subscription Payment erro

1 messages · Page 1 of 1 (latest)

solemn trellis
#

We noticed one issue. I initially subscribed to a €1.00 plan and then upgraded to a €1.10 plan (a €0.10 difference). I expected to be charged only the prorated difference, but instead I was charged €1.00 again and €0.90 was added to my customer wallet.
Could you clarify why this happens, and whether it’s possible to charge only the additional amount so the upgrade is easier for customers to understand?

midnight onyxBOT
# solemn trellis We noticed one issue. I initially subscribed to a €1.00 plan and then upgraded t...

This is expected behavior based on the proration mode used.

What’s happening

  • Your upgrade was done with full_immediately billing.
  • Dodo charges the full new plan price (€1.00) immediately.
  • The unused value from the old plan (€0.90) is returned as customer wallet credit.
  • Net effect is correct financially, but it looks confusing to customers.

How to charge only the €0.10 difference

  • Use difference_immediately when changing plans.
  • This charges only the price difference on upgrade.
  • No extra wallet credit is created.

Recommended setup

  • For simple upgrades: difference_immediately
  • For time‑accurate billing: prorated_immediately
  • Avoid full_immediately unless you want to reset the billing cycle

Helpful Links

Dodo Payments Documentation

Learn how to change a customer's subscription plan, handle proration, and process webhooks reliably.

Dodo Payments Documentation

This guide will help you integrate the Dodo Payments Subscription Product into your website.

Dodo Payments Documentation

Increase revenue with one-click purchases using saved payment methods for post-purchase offers, subscription upgrades, and cross-sells.

#

Hey @solemn trellis, We have limited availability over weekends, but rest assured we'll get back to you as soon as possible!

past sail
solemn trellis
midnight onyxBOT
# solemn trellis <@1053386709737414739> I used prorated_immediately and wasn't charged the differ...

This is expected with prorated_immediately in small-price upgrades.

Why you weren’t charged

  • prorated_immediately charges only the time‑weighted difference for the remaining cycle.
  • In your case, the prorated amount was €0.00 after rounding, so no charge was created.
  • Dodo does not force a minimum charge for proration.

Important distinction

  • prorated_immediately ≠ “charge full price difference”
  • It’s time-based, not amount-based.

What to use instead

  • Use difference_immediately to always charge the exact upgrade delta (e.g. €0.10).
  • This avoids wallet credits and zero-charge upgrades.

Recommendation

  • Simple plan upgrades → difference_immediately
  • Time‑accurate SaaS billing → prorated_immediately

Helpful Links

Dodo Payments Documentation

Learn how to change a customer's subscription plan, handle proration, and process webhooks reliably.

Dodo Payments Documentation

This guide will help you integrate the Dodo Payments Subscription Product into your website.

#

Hey @solemn trellis, We have limited availability over weekends, but rest assured we'll get back to you as soon as possible!

solemn trellis
# midnight onyx This is expected with **`prorated_immediately`** in small-price upgrades. **Why...

I use prorated_immediately and I initially subscribed to a €1.00 plan and then upgraded to a €1.10 plan (a €0.10 difference). I expected to be charged only the prorated difference, but instead I was charged €1.00 again and €0.90 was added to my customer wallet.
Could you clarify why this happens, and whether it’s possible to charge only the additional amount so the upgrade is easier for customers to understand?

midnight onyxBOT
# solemn trellis I use prorated_immediately and I initially subscribed to a €1.00 plan and then u...

This happens because prorated_immediately can fall back to full rebill + wallet credit in low‑amount upgrades.

Why you saw €1.00 charged + €0.90 wallet

  • Dodo recalculates the subscription from “now” on the new plan.
  • It charges the full new plan price (€1.10 → rounded/processed as €1.00 in your setup).
  • The unused portion of the old plan (~€0.90) is returned as wallet credit.
  • Net result is correct, but the invoice looks confusing.

Key point

  • prorated_immediately is time‑based, not “charge the price delta”.
  • With very small amounts, rounding + billing mechanics can trigger this behavior.

How to charge only €0.10

  • Use difference_immediately for upgrades.
  • It always charges exactly the plan price difference.
  • No wallet credits, no rebill confusion.

Recommendation

  • Customer‑friendly upgrades → difference_immediately
  • Strict time‑accurate billing → prorated_immediately
  • Avoid full_immediately unless you want a hard reset

Helpful Links

Dodo Payments Documentation

Learn how to change a customer's subscription plan, handle proration, and process webhooks reliably.

Dodo Payments Documentation

Increase revenue with one-click purchases using saved payment methods for post-purchase offers, subscription upgrades, and cross-sells.