Advanced fraud toolsBeta
Reduce fraud with Issuing’s advanced tooling.
Stripe Issuing’s advanced fraud tools help you identify and prevent transaction fraud. Use our real-time webhook functionality to approve or reject authorizations with the API. This guide helps you understand how to use these signals and features to drive down transaction fraud while minimizing impact on legitimate transactions.
Fraud controls
Stripe provides access to fraud-adjacent features such as spending controls, dispute filing, token management, and card management tools. To get started, review and enable the following controls that align with your business needs. While these settings might not be customized to your business model, geography, or cardholder behavior, you can use them as a source of directional guidance when using Stripe’s tools. Contact us for support in adjusting these thresholds.
3D Secure (3DS) | Verify cardholders for online purchases. |
Stripe Defense Layer | Automatically block high-risk transactions based on Stripe’s risk modeling. |
Fraud challenges | Trigger SMS-based verification of authorizations. Use this to verify users or to let users verify Stripe. |
Authorization signals |
|
Stripe’s risk score | Incorporate Stripe’s risk assessment when deciding whether to approve or reject an authorization. |
Compromised card alerting | Stripe assesses whether a card has been compromised in a card testing attack. |
3D Secure (3DS)
3DS uses multi-factor authentication to reduce fraud for online transactions where a card isn’t physically present. It’s triggered by businesses in online checkout flows, and requires multi-factor authentication (usually through SMS or email-based one-time passcode that Stripe sends) to complete.
Protection against online fraud with 3DS verification and SCA compliance
In most cases, merchants are responsible for online fraud losses in card-not-present transactions. To protect themselves, businesses can trigger 3DS verification to reduce the chances of accepting a fraudulent transaction. If a merchant triggers 3DS verification, the cardholder needs to complete the verification step if your Stripe cards are enrolled in 3DS. In the UK and EU, 3DS is the standard for implementing the regulatory requirements of Strong Customer Authentication (SCA).
Request enrollment of your cards
You must request enrollment of your Issuing account through Support to use 3DS. After enrollment, your cards are set up to trigger additional verification on authorizations in which a merchant requests 3DS.
Learn more about Cardholder authentication using 3D Secure.
Stripe Defense Layer
Stripe’s proprietary monitoring can help identify transactions that are high risk and decline them before they can impact your bottom line. The Stripe Defense Layer is enabled for all Stripe Issuing users, and provides several automatic controls to help reduce your fraud exposure without changing loss liability. Among other considerations, Stripe blocks authorizations that:
- Appear to be card testing
- Seem high risk based on our fraud risk modeling
These defenses typically impact a very small subset (less than 0.5%) of authorizations.
Fraud challenges
Fraud challenges provide you with the ability to request additional, SMS-based verification in situations where you prefer not to outright decline potentially risky authorizations.
False positive declines can occur in fraud protection. To allow cardholders to override potential false-positive declines, and limit disruption for them, you can trigger SMS-based verification.
SMS verification works as an override option to a decline. For cardholders, the process looks like this:
- Attempt a transaction, but receive a fraud-related decline.
- Successfully complete a fraud challenge by replying to an SMS, sent to the cardholder’s phone number on file with Stripe.
- Try the transaction again and receive approval.
You can can let Stripe manage fraud challenges for you, send them yourself, or use a mixture of both:
Stripe-managed fraud challenges
If you enable fraud challenges, Stripe automatically triggers SMS verification for authorizations that we consider to be high risk.
If the cardholder successfully completes the verification within 60 minutes, the merchant is allow-listed on that card for 7 days. Subsequent authorizations during that time won’t encounter fraud-related declines.
We recommend using this option if you’re an Issuing user who’s comfortable with Stripe’s risk thresholds and would prefer if Stripe managed the process of reconciling post-verification authorizations after the challenge has been completed.
User-managed fraud challenges
You can respond to an issuing_
webhook to decline a transaction, and send a fraud challenge at the same time.
In these scenarios, you can define your own logic to trigger fraud challenges. We recommend using this option if you’re an Issuing user who prefers to own the logic that triggers SMS prompts.
Optimize for approval rate | Balance approval rate and risk prevention | Optimize for risk prevention |
---|---|---|
Enabled by default, trigger this through a webhook | Optional | Optional |
Learn more about the Fraud challenge flow.
Authorization signals
During authorization, we provide a comprehensive set of signals that you can use to make informed approve or decline decisions in real-time webhook responses.
Signal | Description |
---|---|
Verification data | Whether the CVV, expiration, billing address, zip code, and PIN (when entered) match those on file |
Fraud disputability likelihood | Whether an authorization can be disputed in the event of fraud |
High risk merchant alerts | Dispute risk of the acquiring merchant on a transaction |
Card testing risk | Assessment of whether the authorization is part of a fraudulent card testing event |
Learn more about Authorization signals.
Stripe’s risk score
Stripe uses a variety of risk signals to assess the risk level of an authorization then makes this assessment available to you through the API. You can incorporate Stripe’s assessment into your decision logic when determining whether to approve or decline an authorization.
Optimize for approval rate | Balance approval rate and risk prevention | Optimize for risk prevention |
---|---|---|
Block authorizations with score above 75 | Block authorizations with score above 50 | Block authorizations with score above 25 |
Learn more about Stripe’s risk score.
Compromised card alerting
Stripe notifies you through the API when we believe a card might have been compromised. This helps you know when to cancel and reissue a card, file disputes, or notify a cardholder.
Prevent subsequent abuse and initiate cardholder communications
Canceling a card suspected to be compromised can help you prevent future fraudulent use of PANs that have been compromised. You can use these indicators to initiate communications and a reissuance workflow for cardholders. If Stripe observes that a card has been successfully used in a card testing attack, we flag the card as compromised.
Mitigate risk and take action
When Stripe observes a successful authorization during a severe card testing attack (defined as a risk_
of elevated
or highest
), the card’s fraud_
field will have a value of card_
. The started_
value corresponds to the date that the successful authorization in card testing attack took place. This value won’t update if the card is compromised again in a later attack.
After Stripe sets the type
field to card_
, we recommend contacting the cardholder, canceling the card, and issuing a new one. This mitigates the risk of subsequent authorizations on what a fraudulent actor likely assumes is a valid PAN that they can use.
Issuing advanced fraud tools are currently limited to beta users. You must be an Issuing customer to join the beta. To request access to the beta, log in to your Stripe account and refresh the page. Contact Stripe for more information.