So my system consists of a backend and a frontend. We're doing Stripe integration.
I'm implementing Stripe checkout form on frontend to simply PCI compliance process, and I want Stripe to verify everything, including CVV / Address line 1/ ZIP before returning a token, which I use to send to the backend for further actions.
Here's how I create a token, very simple (I'm using React and Stripe Elements):
const {token, error} = await this.props.stripe.createToken(card)
The issue is a token is always returned successfully even when I fill in wrong cvc/expiry date/address 1/postal code. And I see these fields in the response:
address_line1_check: "unchecked"
address_zip_check: "unchecked"
cvc_check: "unchecked"
My question is:
Is it possible to verify CVC, ZIP code, and Address 1 before actually issuing a token?
Here is how the form looks like:
Feel free to enlighten me because I'm very new to online payment standards. :D
I know it's an old post but recently I was faced with the same Issue. It turned out that stripe does not check for cvc/zip etc when you try to create the stripe token/source using stripe.js
However CVC etc. is checked when you try to create the customer object using this card token/source, or try to attach this token/source to the exiting customer.
Also see the accepted answer in this thread Verify CVC code before creating charge
Thanks!
Finally, I found this is not set by code but in the account dashboard. You can add rules to allow/block a payment in Radar -> Rules segment. When you add a rule says "Block if CVC verification fails", then all payment with wrong CVC will blocked by stripe. And notice what rules in main account and connected account need to set rules up separately.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With