In order to maintain transaction security, Stripe requires that merchants collect card verification codes, or CVCs, from customers when collecting card details on a client-side surface using a Publishable Key. This requirement excludes cases where such collection isn’t possible, like digital wallets (Link, Apple Pay, Google Pay, etc.) and card details collected in person using Terminal. Cards collected client-side without a CVC will result in an API error if you attempt to charge them. In order to comply with this requirement, we recommend one of the following integration patterns to securely collect cards details:
If you have any questions about the above options or notice another use case where you cannot collect CVCs, please reach out to Stripe support.