Documentation

v2.0

Everything you need to integrate RecoverPay Circuit™ and protect your Stripe account from fraud, chargebacks, and account freezes.

Getting Started

Welcome to RecoverPay

RecoverPay Circuit™ is a Revenue Defense Platform that protects your Stripe account from fraud, recovers failed payments, and prevents account freezes—all without changing your existing payment flow.

Enterprise-Grade Protection
Used by 500+ SaaS companies processing over $2B annually. Average customer sees 73% reduction in chargebacks within 30 days.

What you can do with Circuit™

Recover Failed Payments

Intelligent dunning with AI-powered retry scheduling. Recover 15-30% of failed payments automatically.

Monitor Account Health

Real-time freeze risk scoring and dispute trajectory alerts. Know your Stripe standing before it's too late.

Block Fraud in Real-Time

Device fingerprinting, velocity checks, and VPN detection. Stop bad actors before they cost you money.

Auto-Collect Evidence

Automatically gather screenshots, logs, and metadata for dispute responses. Win more chargebacks.

Choose your integration path

5 Minute Setup

Quick Start Guide

Get protected in under 5 minutes. No code changes required for basic protection—just connect your Stripe account.

1

Connect your Stripe account

Authorize RecoverPay via Stripe OAuth. We'll immediately start analyzing your payment health and identifying recovery opportunities.

Connect StripeRead-only access. We never touch your funds.
2

Choose your protection level

Select a plan based on your needs. Start with Recover for dunning, or Insight to audit your fraud exposure with Shadow Mode.

Recover$49/mo

Dunning emails + basic retry

Insight$149/mo

Shadow Mode + fingerprinting

3

Add Shield.js for active blocking

Shield+ Only

For real-time fraud blocking, add our lightweight SDK to your checkout page. Takes about 15 minutes.

Add to your checkout page <head>
<script 
  src="https://recoverpay.io/shield.js" 
  data-key="pk_live_your_public_key"
  async defer
></script>
💡
Need help?
Our team offers free onboarding calls for Shield and Titanium customers. Schedule a call →
Pricing

Plans & Feature Matrix

Choose the right level of protection for your business. All plans include Stripe OAuth integration and real-time webhooks.

FeatureRecover
$49/mo
Growth
$99/mo
Insight
$149/mo
Shield
$299/mo
Titanium
$599/mo
Smart Dunning Emails
Retry OptimizationBasicAI-PoweredAI-PoweredAI-PoweredAI-Powered
Health Dashboard
Dispute AlertsDailyHourlyReal-timeReal-time
Shadow Mode
Device Fingerprinting
Active Blocking
VPN/Proxy Detection
Velocity Checks
Evidence Collection
Custom Rules Engine
Dedicated Support
Core Technology

Circuit™ Engine

The Circuit™ Engine is our intelligent protection system that monitors, detects, and defends your Stripe account from threats that lead to account freezes.

How It Works

Customer
Initiates payment
Circuit™ Engine
Scan → Score → Decide
Stripe
Process or block

Core Components

Watchtower

24/7 monitoring of your dispute rate, failure patterns, and account health metrics.

Growth+

Shield

Real-time risk scoring and blocking of high-risk transactions before they process.

Shield+

Medic

Smart payment recovery with AI-optimized retry timing and personalized dunning.

All Plans
<150ms
Scan Latency
99.9%
Uptime SLA
73%
Chargeback Reduction
$2B+
Protected Annually
Setup Options

Integration Modes

Choose the integration that fits your needs. Start with webhooks for zero-code setup, or add the SDK for real-time blocking.

RecommendedRecover & Growth

Webhook Integration

Zero-code setup. Connect your Stripe account and we handle everything automatically via webhooks.

  • No code changes required
  • 60-second setup
  • Recovery & monitoring
Stripe → Webhook → Circuit™ → Action
AdvancedInsight+ Plans

SDK Integration

Add Shield.js to your checkout for real-time risk scanning and active blocking before payment.

  • Real-time fraud blocking
  • Device fingerprinting
  • Pre-payment scanning
Shield.js → Scan → Decide → Stripe
Audit Mode

Shadow Mode

💡
Available on: Insight tier ($149/mo)
Shadow Mode lets you see exactly what threats Circuit™ would block—without actually blocking anything.

It's the perfect way to audit your risk exposure before enabling active protection. See real-time risk scores, device fingerprints, and velocity patterns for every transaction.

Risk Scoring

See risk scores for every transaction without blocking

Device Fingerprints

Collect device data to identify repeat offenders

Velocity Patterns

Track transaction frequency and amounts per user

Revenue Recovery

Payment Recovery

Automatically recover failed payments with intelligent retry scheduling and personalized dunning emails.

Smart Retry Timing

AI analyzes payment patterns to find the optimal retry window for each customer.

Personalized Dunning

Customizable email sequences that match your brand and tone.

Account Health

Health Monitoring

Real-time monitoring of your Stripe account health with proactive alerts before issues become critical.

Dispute Rate Tracking

Monitor your dispute rate against Stripe's thresholds.

Freeze Risk Score

Predictive scoring based on multiple risk factors.

Proactive Alerts

Get notified before problems escalate.

Fraud Prevention

Risk Detection

Multi-layered fraud detection combining device fingerprinting, velocity checks, and IP intelligence.

CheckLocationLatency
Device FingerprintFrontend<50ms
Velocity CheckBackend (Redis)<10ms
VPN/Proxy DetectionBackend (Cached)<100ms
Email Risk ScoreBackend<150ms
Active Protection

Active Blocking

⚠️
Shield+ Plans Only
Active blocking requires the Shield.js SDK integration and is available on Shield ($299/mo) and Titanium ($599/mo) plans.

When Circuit™ detects a high-risk transaction, it can automatically block the payment before it reaches Stripe.

BLOCK Verdict

Transaction is stopped. Customer sees a generic decline message.

SHADOW_BLOCK Verdict

Transaction is logged but allowed. Use for testing rules.

Frontend SDK

@recoverpay/shield

Add real-time fraud detection to your checkout with our lightweight JavaScript SDK (~12KB minified).

Installation

Option 1: Script Tag (CDN)
<script 
  src="https://cdn.recoverpay.io/shield.min.js" 
  data-key="pk_live_your_public_key"
  async defer
></script>
Option 2: npm
npm install @recoverpay/shield

Usage

Call shield.scan() before processing payment:

Scan before payment
import { RecoverPayShield } from '@recoverpay/shield';

const shield = new RecoverPayShield({ 
  publicKey: 'pk_live_your_public_key' 
});

// Wait for fingerprinting to complete
await shield.whenReady();

// Scan when user clicks "Pay"
const result = await shield.scan({
  email: customer.email,
  amount: 9900, // Amount in cents
  billingCountry: 'US'
});

if (result.action === 'BLOCK') {
  showError('Unable to process payment');
  return;
}

// Send token to your backend
await fetch('https://your-app.com/checkout', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    email: customer.email,
    amount: 9900,
    rpToken: result.token
  })
});

What It Detects

Device Fingerprinting

  • Canvas & WebGL fingerprint
  • Browser & OS detection
  • Screen & hardware info

Bot Detection

  • Selenium, Puppeteer, Playwright
  • Headless Chrome detection
  • Stealth plugin detection

Behavior Analysis

  • Mouse movement patterns
  • Keystroke timing entropy
  • Paste & autofill detection

Environment Checks

  • Incognito mode detection
  • DevTools detection
  • Browser tampering

Response Actions

ALLOW

Transaction is safe. Proceed with payment.

BLOCK

High risk detected. Do not process payment.

SHADOW_BLOCK

Would be blocked, but allowed for testing.

Backend SDK

@recoverpay/shield-node

Verify Shield tokens on your backend, manage blacklists, and report fraud.

Installation

Install via npm
npm install @recoverpay/shield-node

Token Verification

Verify token before charging
import { RecoverPayNode } from '@recoverpay/shield-node';

const rp = new RecoverPayNode({
  secretKey: process.env.RECOVERPAY_SECRET_KEY
});

// In your payment endpoint
app.post('/checkout', async (req, res) => {
  const { rpToken, email, amount } = req.body;

  const result = await rp.verify({
    token: rpToken,
    email,
    amount
  });

  if (!result.allowed) {
    return res.status(403).json({ 
      error: 'Payment blocked',
      reason: result.reason 
    });
  }

  // Proceed with Stripe payment
  const payment = await stripe.paymentIntents.create({
    amount,
    currency: 'usd',
    payment_method: req.body.paymentMethodId,
    confirm: true
  });

  return res.json({ success: true });
});

Report Fraud

After receiving a chargeback, report it to improve the risk model:

Report confirmed fraud
// After receiving a chargeback notification
await rp.reportFraud({
  scanId: 'scan_abc123',
  email: 'fraudster@example.com',
  amount: 9900,
  stripePaymentId: 'pi_xxx',
  chargebackReasonCode: '10.4'
});
// Auto-blacklists the email for future transactions

Express Middleware

Auto-verify on routes
import { shieldMiddleware } from '@recoverpay/shield-node';

app.use('/api/checkout', shieldMiddleware({
  secretKey: process.env.RECOVERPAY_SECRET_KEY
}));

// req.rpVerified contains verification result
app.post('/api/checkout', (req, res) => {
  if (!req.rpVerified?.allowed) {
    return res.status(403).json({ error: 'Blocked' });
  }
  // Process payment...
});

Security Checks

1

JWT Signature Verification

Validates token signature using your secret key

2

Expiration Check

Tokens expire after 5 minutes

3

Tamper Detection

Verifies email and amount match the original scan

4

Retry Logic

Automatic retries with exponential backoff

REST API

API Reference

RESTful API endpoints for direct integration. All endpoints require authentication via API key.

Base URLhttps://api.recoverpay.io
POST/v1/shield/scan
Shield+

Scan a transaction for fraud risk

POST/v1/shield/report-fraud
Shield+

Report confirmed fraud after chargeback

GET/v1/health/snapshot
Growth+

Get current account health metrics

GET/v1/failures
All

List recent payment failures

💡
Rate Limits
API requests are limited to 1,000 requests per minute per API key. Contact support for higher limits on Titanium plans.
Events

Webhooks

Receive real-time notifications about important events. Configure your webhook endpoint in the dashboard.

Webhook Endpoint

All events are sent as POST requests with JSON body

POST https://your-app.com/webhooks/recoverpay

Available Events

EventDescriptionPlan
payment.recoveredA failed payment was successfully recoveredAll
payment.failedA payment failed and entered recovery queueAll
health.warningAccount health dropped below safe thresholdGrowth+
health.criticalAccount at high risk of freezeGrowth+
transaction.blockedA high-risk transaction was blockedShield+
circuit.trippedCircuit breaker activated due to high risk volumeShield+
Example Webhook Payload
{
  "id": "evt_1234567890",
  "type": "transaction.blocked",
  "created": 1702800000,
  "data": {
    "email": "user@example.com",
    "amount": 99900,
    "risk_score": 92,
    "factors": ["velocity_exceeded", "vpn_detected"],
    "action": "BLOCK"
  }
}
Support Available 24/7

Need help getting started?

Our team of payment protection experts is here to help you integrate RecoverPay and optimize your fraud prevention strategy.