A clearer picture of each payment
Connect device, network and payment context. See the contributing signals alongside the score.
Payment risk, without the guesswork
Add one script. See what you would have declined, what it cost, and why — beside your current PSP. Start in shadow mode. Change nothing until you’re ready.
npm i @riskcogs/js
Illustrative installation · see integration notes
Scroll to explore · Illustrative console screens
Example: shadow mode flags 312 payments with €18,420 in simulated avoided loss. The inspector explains a score of 0.86. Review that evidence before choosing whether to enforce a card-testing rule. These are illustrative figures, not customer results.
Start with evidence. Change your rules when you’re ready.
Install the script and send a server-side event for each payment. Keep your current PSP and fraud setup.
rc.track('payment', {
id: 'pay_9d6e12', amount: '89.00'
});RiskCogs scores every payment in shadow mode. No blocks, no changes to checkout.
risk_score: 0.86Shadowaction: observe_onlySee what would have been blocked and what it cost. Switch rules to enforce one by one when you trust the results.
312 payments€18,420From evidence to confidence
You keep your payment flow. RiskCogs makes the signals visible, so you can choose what happens next.
Interactive illustration · no live decisions
pay_7f2a910.93Card testing · 14 attempts / 2 minpay_8b4c830.88Device seen on 6 accountspay_9d6e120.86BIN country ≠ IP countrypay_a1f8400.12Trusted returning customerAll decisions simulated. Your PSP stays in control.
€89.00 · Visa debit · just now
Would have declined. No action taken.
You decide when a rule is ready.
card.attempts_2m > 10Illustrative avoided loss, not a guarantee.
Your rules. Your thresholds. Your decision.
Different clues become useful when you can see how they fit together. Start by observing, then decide what deserves a response.
Connect device, network and payment context. See the contributing signals alongside the score.
Move from a payment to its matched rules and supporting evidence, without losing the original context.
Device and browser signals help connect repeated activity. Capture replay only with consent.
Observe a rule in shadow mode before choosing whether to enforce it. A score is evidence to review, not a verdict.
One score, with the evidence attached. Inspect the signals behind each payment decision.
€89.00 · Visa debit · just now
Would have declined. No action taken.
Spot card testing and friendly fraud without adding friction to checkout.
Connect bonus abuse, multi-accounting and deposit velocity in one view.
Set per-merchant rules. One integration covers all your sub-merchants.
Catch account takeover and trial abuse before the next billing cycle.
Every rule shows its precision on your own traffic before you turn it on.
Illustrative evaluation · last 7 days| Name | Condition | Mode | Hits 7d | Precision |
|---|---|---|---|---|
| Card testing | card.attempts_2m > 10 | Shadow | 142 | 99.3% |
| Shared device | device.accounts_7d > 6 | Shadow | 96 | 98.0% |
| Country mismatch | bin.country != ip.country | Shadow | 74 | 94.6% |
| Trusted customer | customer.successful > 3 | Enforce | 1,284 | 99.8% |
| Known blocked device | device.id in blocklist | Enforce | 38 | 100.0% |
From install to your first scored payment.
npm i @riskcogs/js
# Add a browser signal
# Send a server-side eventUse the language already in your stack.
const result = await riskcogs.score({
payment_id: 'pay_9d6e12',
amount: '89.00', currency: 'EUR'
});Close the loop with confirmed outcomes.
{
"payment_id": "pay_9d6e12",
"outcome": "chargeback"
}No card. Delete your data any time. EU-hosted.