Documentation
Everything you need to integrate RecoverPay Circuit™ and protect your Stripe account from fraud, chargebacks, and account freezes.
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.
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
Quick Start Guide
Get protected in under 5 minutes. No code changes required for basic protection—just connect your Stripe account.
Connect your Stripe account
Authorize RecoverPay via Stripe OAuth. We'll immediately start analyzing your payment health and identifying recovery opportunities.
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.
Dunning emails + basic retry
Shadow Mode + fingerprinting
Add Shield.js for active blocking
Shield+ OnlyFor real-time fraud blocking, add our lightweight SDK to your checkout page. Takes about 15 minutes.
<script
src="https://recoverpay.io/shield.js"
data-key="pk_live_your_public_key"
async defer
></script>Plans & Feature Matrix
Choose the right level of protection for your business. All plans include Stripe OAuth integration and real-time webhooks.
| Feature | Recover $49/mo | Growth $99/mo | Insight $149/mo | Shield $299/mo | Titanium $599/mo |
|---|---|---|---|---|---|
| Smart Dunning Emails | ✓ | ✓ | ✓ | ✓ | ✓ |
| Retry Optimization | Basic | AI-Powered | AI-Powered | AI-Powered | AI-Powered |
| Health Dashboard | — | ✓ | ✓ | ✓ | ✓ |
| Dispute Alerts | — | Daily | Hourly | Real-time | Real-time |
| Shadow Mode | — | — | ✓ | ✓ | ✓ |
| Device Fingerprinting | — | — | ✓ | ✓ | ✓ |
| Active Blocking | — | — | — | ✓ | ✓ |
| VPN/Proxy Detection | — | — | — | ✓ | ✓ |
| Velocity Checks | — | — | — | ✓ | ✓ |
| Evidence Collection | — | — | — | ✓ | ✓ |
| Custom Rules Engine | — | — | — | — | ✓ |
| Dedicated Support | — | — | — | — | ✓ |
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
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 →Integration Modes
Choose the integration that fits your needs. Start with webhooks for zero-code setup, or add the SDK for real-time blocking.
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
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
Shadow Mode
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
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.
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.
Risk Detection
Multi-layered fraud detection combining device fingerprinting, velocity checks, and IP intelligence.
| Check | Location | Latency |
|---|---|---|
| Device Fingerprint | Frontend | <50ms |
| Velocity Check | Backend (Redis) | <10ms |
| VPN/Proxy Detection | Backend (Cached) | <100ms |
| Email Risk Score | Backend | <150ms |
Active Blocking
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.
@recoverpay/shield
Add real-time fraud detection to your checkout with our lightweight JavaScript SDK (~12KB minified).
Installation
<script
src="https://cdn.recoverpay.io/shield.min.js"
data-key="pk_live_your_public_key"
async defer
></script>npm install @recoverpay/shieldUsage
Call shield.scan() before processing 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
ALLOWTransaction is safe. Proceed with payment.
BLOCKHigh risk detected. Do not process payment.
SHADOW_BLOCKWould be blocked, but allowed for testing.
@recoverpay/shield-node
Verify Shield tokens on your backend, manage blacklists, and report fraud.
Installation
npm install @recoverpay/shield-nodeToken Verification
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:
// 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 transactionsExpress Middleware
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
JWT Signature Verification
Validates token signature using your secret key
Expiration Check
Tokens expire after 5 minutes
Tamper Detection
Verifies email and amount match the original scan
Retry Logic
Automatic retries with exponential backoff
API Reference
RESTful API endpoints for direct integration. All endpoints require authentication via API key.
https://api.recoverpay.io/v1/shield/scanScan a transaction for fraud risk
/v1/shield/report-fraudReport confirmed fraud after chargeback
/v1/health/snapshotGet current account health metrics
/v1/failuresList recent payment failures
Webhooks
Receive real-time notifications about important events. Configure your webhook endpoint in the dashboard.
All events are sent as POST requests with JSON body
POST https://your-app.com/webhooks/recoverpayAvailable Events
| Event | Description | Plan |
|---|---|---|
payment.recovered | A failed payment was successfully recovered | All |
payment.failed | A payment failed and entered recovery queue | All |
health.warning | Account health dropped below safe threshold | Growth+ |
health.critical | Account at high risk of freeze | Growth+ |
transaction.blocked | A high-risk transaction was blocked | Shield+ |
circuit.tripped | Circuit breaker activated due to high risk volume | Shield+ |
{
"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"
}
}Need help getting started?
Our team of payment protection experts is here to help you integrate RecoverPay and optimize your fraud prevention strategy.