#pay what you want for subscriptions
1 messages · Page 1 of 1 (latest)
The "Pay What You Want" (PWYW) feature is currently available only for one-time payment products and not for subscription products. This means that you cannot enable PWYW for subscriptions using the PHP SDK or any other settings in the business dashboard【4:0†source】.
If you are looking to implement a flexible pricing model for subscriptions, you may need to consider setting different subscription tiers manually, or potentially using other strategies like offering discounts or promotions. Unfortunately, the PWYW model is not directly supported for recurring payments at this time.
For more detailed guidance or to explore potential workarounds, you might want to contact Dodo Payments support directly.
Helpful Links:
how do i go about adding tiers? i see that the documentation has a small section for it but api-wise and product-price-model wise i cant find any fields for that. Are Products basically Tiers?
What you can do is create a separate product for each tier that you want to provide.
yea thats what i was thinking of, but if custom amounts can be anything between 1 USD and 10000 USD that is potentially a lot of products to create
You can use usage-based billing in that case
hm that sounds a bit out of whack
its not really based on usage its like "oh this 5 dollar tier looks cool but i'd be happy to chip in 2 usd more than what it costs because i want to support the creator beyond what they request"
You can handle the amount you want to charge the user. If they want to give extra money to support the creator, add it the the subscription cost and charge them every month, year, etc. based on whatever your pricing model is.
With this system, it will be your work to enumerate all the users and charge them unlike the subscription feature where it will automatically charge the user based on the specified time,
It's like subscription but manual mode
thats what i'm doing, i create the product based on the amount the creator set as minimum and when i create the checkout session, i supply the price the customer wants to pay. the way i understand the api reference is that this will be ignored unless pay_what_you_want is active
$productCart = [
(new ProductCart())
->withProductID($dodoProductId)
->withAmount((int) $subscription->getMoney()->getAmount())
->withQuantity(1)
];
where $subscription->getMoney() can be higher than the Product that was created. would that already work?
Just a moment, I'll try doing it myself
This reply of mine doesn't seem fully accurate
Sorry for it
i'm basing my information on this part of the docs: https://docs.dodopayments.com/api-reference/checkout-sessions/create#body-product-cart-amount
So I built a test instance of usage-based billing and it seems like you only add the extra units only if customers want to pay in your case. You can set the base price of the subscription for the usage based billing in the dashboard which is the price that will charged every month regardless of whether the person wants to pay extra to the creator or not. If the person want to add extra money to support the creator, you will have to manually add it via the API.
would addons work for that?
Addon of a custom price you mean?
As in pay what you want
as an addon?
if Addons work as sort of sub-line-items i see 3 ways with that:
for any creator that can set up any amount of tiers with a min-amount, each creator has one product with a base price of 0$ and each tier is added via an addon specifying its min-amount plus another addon for "leftover" money
second i could have each creator-tier be its own product and if and only if the amount is higher than the product price, add the leftover money as an addon
third i could just have any final amount be its own product which could potentially create a high amount of products
in stripe we solved that by having the creator map to a product and each checkout price creates its own final price in the currency provided if it doesnt already exist. i'm trying to map that concept to dodo
@torn inlet Can you please help here?
Would this work better for you @earnest prawn?
https://docs.dodopayments.com/developer-resources/ondemand-subscriptions
well, we dont charge variable amounts, the amount is finalized during checkout and then never changes. the concept you linked me are usage-based and thus it feels like i would not use it for its intended purpose. also it seems that usage-based subscriptions require us to continuously update the usage meters
also, us handling our own charges is what i wanted to avoid, i'd rather just tell dodo "charge this every month and tell me when it was paid via webhook so i can extend the subscription"
I think @torn inlet will handle this query better
ok i'll wait. thank you for your assistance 🙏
Hey @earnest prawn what you are looking for is on-demand subscription.
It would solve your use case. Please check the docs and let me know if you have any doubts.
https://docs.dodopayments.com/developer-resources/ondemand-subscriptions
if i chose on-demand subscriptions, will they renew automatically each month or do i have to manually create charges myself?
You have the option to charge whenever you want @earnest prawn
i understand that. but my question is towards the automatic charges or manual charges
if they are manual with this method, then the implementation complexity goes up
Its not automatic @earnest prawn
would love to know more on this.
why do you think like that?
well, if i create a regular subscription once and then each month the webhook events come in as the subscription is continuously renewed, that is less complex for me to handle compared to having to maintain a cronjob and billing-system to detect when to make the next charge manually
imo, i understand this would take some time to implement but this is not complex.
many merchants prefer on-demand subscriptions because of the flexibility it provides.
to achieve your use case on-demand subscription is the best possible way rn.
the only flexibility i require is to initially set a custom price that is equal or above a minimum subscription price that afterwards never changes. its not like the subscription prices are dynamic
for my first implementation i'll try out the addons for the surplus value.
if a creator offers a tier at 3$ and the customer decides to spent 5$ i'll set the product at 3$ and generate a 2$ addon, that feels more intuitive for me right now
Sure. You can try that if you are okay with it.
Pl let me know if you face any issues in this.