Stripe Radar’s machine learning models use many signals to distinguish between fraudulent and legitimate payments. Some of these signals are computed automatically, but many of them depend on the information provided by your integration. In general, the more data provided by your integration, the more successful fraud prevention can be.
If you don’t collect enough information from your customers, it can reduce the effectiveness of fraud detection. Conversely, if you collect too much information, it can negatively impact the checkout experience and result in a lower conversion rate.
The following recommendations have been tested to ensure that your conversion rate remains high while maximizing the performance of our machine learning models.
The most important action you can take to prevent against fraud is to collect customer payment information and tokenize it using Stripe.js and Elements, Checkout, or our mobile SDK libraries. Each method collects important high-signal data, such as device information and IP addresses, automatically. To further improve fraud detection, we highly recommend you collect the cardholder name, customer’s full billing address and ZIP code, and their card’s CVC code during checkout.
You can build a seamless checkout flow within your website or app using any of these methods, and sensitive card information is securely transmitted directly to Stripe without it passing through your servers—greatly simplifying your PCI compliance. You should determine which integration makes the most sense for your business and product goals, but any of these integration methods will help optimize your integration for fraud prevention.
Using Customer objects when creating payments allows Stripe to track the payment patterns for each customer over time. This significantly increases our ability to identify irregularities in purchasing behavior. To do this, you should:
- Save cards to
Customerobjects and use them to create subsequent payments.
- Provide your customer’s email address when creating a
- Provide your customer’s name when you tokenize their card information.
Customerobject can also store multiple payment methods, so you can enhance your customer’s checkout experience by offering to save multiple cards. Stripe can continue to track payment patterns for each customer, regardless of which one they use.
If you ship physical goods, we also recommend collecting the customer’s shipping address and saving this to their associated
- Save cards to
Include Stripe.js on every page of your site, not just the checkout page where your customer enters their payment information. By doing so, Stripe can detect anomalous behavior that may be indicative of fraud as customers browse your website—providing additional signals that increase the effectiveness of our detection.