#nivcoo_best-practices
1 messages · Page 1 of 1 (latest)
đź‘‹ Welcome to your new thread!
⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
đź”— This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1491710603872436316
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
to offer a trial only if the user’s card has not already benefited from a free trial?
There is no native feature for this. You need to make this control from your own integration/database
Ok thanks
Ok so just to be sure, is it a good thing to : send user with trial on checkout and check after with webhook if this card is already used and cancel the trial after that (if already used) ?
You should do the check before creating the Checkout if possible (by checking the customer account for example)
But if you want to rely just on Card details, then yes your approach is a good one
Yes but if user create multiple account
I want to prevent any subscription abuse from users above all, but I also want to make sure that on Stripe’s side it wouldn’t be considered abuse if, in this case, the trial is immediately canceled after a subscription when the card has already been used
I don't think that it will concern lot of subscription, maybe 1/100 because it's just a protection and when user will know that there is this kind of protection they will not abuse to it
Yeah I understand your inquiry, that make sense.
That's not necessarily problematic for us, but it could skew your account metrics (e.g. trial conversion rates, etc)
I think our recommendation would be to persist a list of known cards that have been used for trials. You can leverage the fingerprint property on the PM object for this, which is unique per card
Yes i will keep in memory finger print, but i prefer to use checkout than host the form on my website so that's why i can't check if the card is already used before send user to checkout form. That’s why the approach I’m considering is to let Stripe handle things on its side, and then when I receive the subscription and therefore the card fingerprint, I cancel the trial if it has already been used by a card. Or perhaps it would be possible to suggest adding an option when creating a Checkout session to specify that the trial should be available only for new cards?
Or perhaps it would be possible to suggest adding an option when creating a Checkout session to specify that the trial should be available only for new cards?
That's good feedback, but not supported today
If your preference is to use Checkout then what you describe is likely the best approach. Alternatively you could use Checkout in mode: 'setup' to collect a card/PM, and then initiate the subscription in your own code assuming the card is valid. The downside there is that the Checkout UI wouldn't convey the terms of the subscription, etc
So if i use checkout as "setup" the checkout will be used like card form only ? Do you have any image/screenshot of that form ?
Exactly, this guide: https://docs.stripe.com/payments/checkout/save-and-reuse?payment-ui=stripe-hosted
Should be easier for you to create a session and redirect to it to see the UI