#JohnnyB - Payments
1 messages · Page 1 of 1 (latest)
great question, we're using two:
- Payment Element for when we send a payment link to the caller
- Twilio + Stripes: IVR pay
Stripe + Twilio <Pay>https://stripe.com › phone-payments-with-twilio-pay
Okay, but are you generating Charges or Payment Intents? I have no insight into the Stripe + Twilio integration as that is not directly maintained by us
Payment intents
Okay well payment intents don't have a failed status per se. They are designed to allow for recovery to allow users to provide updated payment method details
So what part of your integration is not behaving as you expect?
we need to have finite statuses
if it's successful, the connet the call
if it's failed, we need to either disconnect or reroute
if it's pending (or recovery status) we can hold it to let them try again
otherwise they'll be on an infinite loop
Okay but that is essentially up to your integration to make those determinations. Stripe has the defined statuses we provide and it's up to our users to design their integration to make best use of them.
If you want immediate failure when credit cards are declined or entered incorrectly then using Charges will achieve that result.
what are the defined statuses?
and how/where do we define the failure parameters for a status?
in a perfect world, we can allow 3 recoveries, or switching of a credit card, before giving a hard failure
in a perfect world, we can allow 3 recoveries, or switching of a credit card, before giving a hard failure
That's up to your integration
This forum is to help developers unblock integration issues with Stripe APIs, I"m not certain that is the advice you are after though.
You can read about the status options for a Charge object here:
https://stripe.com/docs/api/charges/object#charge_object-status
But which integrationm?
these are around your fixed and as you said, defined statuses
we will do whatever we have to
but we're asking about the way that you report different statuses
and also how to modify the tolerance of each (if possible)
specfically, where do I configure 3 attempts before we get a failed?
In whatever software you are using to integrate with Stripe APIs
I don't really understand what the question is about unfortunately
let me rephrase
how do we configure how many attempts for recovery a user can do, before giving a failed payment status
If I understand correctly you are not writing code yourself and are using Twilio's overall integration for payments over the phone right? If so there's no such thing as "recovery" and such
I'm not writing the code myself, and have our team of developers on the phone with me
We
Were not worried about payments from Twilio as they are simply successful or failed, and Twilio allows us to define how many attempts are allowed
We use an internal calculation to get a price on our system, we then feed that to Stripe via API to Payment Element, we then use Twilio to send that Payment element link. The client clicks on it and sees your Payment element Page.
The payment is going to either:
- Succeed on first try
- Fail
Since the customer is on the phone, we need to know what to do.
If failed, we'd like to be able to set how many recoveries are allowed before getting a FAILED status, which forces us to disconnect the call.
Earlier you said you use IVR. IVR is someone typing card details on their phone over a phone call. Not using PaymentElement
Now you say you use PaymentElement and just use Twilio to send a link to your website.
Ultimately if your question is: how many times can someone confirm the same PaymentIntent in a row and get declined every time, then there is no real limit. It'd be on you/your integration to add limits
I want to focus on the Stripe Link Payment Element
and not the IVR
as twilio is smart enough to allow for specific recovery attempts
GREAT, where do we add the limits?
In your own code
There is no "setting" for this that you set set to like "17 failed attempts" on a PaymentIntent. You write code, to measure/track all the confirmation and decide when to block
Alternatively, you could use Radar for fraud teams and then make your own Radar rules to limit that. You can read more about Radar here: https://stripe.com/radar and also about rules here: https://stripe.com/docs/radar/rules