Corgi Rule Engine
Corgi Rule Engine lets you set criteria-based rules that automatically act on incoming payments. The supported actions are Request 3DS, Block, Allow, and Review.
Request 3DS. Corgi Labs requests the issuer to perform 3D Secure (3DS), if the acquirer and the card issuer support it.
Block. Corgi Labs cancels the payment.
Allow. Corgi Labs attempts to process the payment, bypassing any block or review rules. Payments may still be subject to 3DS initiated by the acquirer or the issuer, and the acquirer or issuer may still block the payment due to their risk decisions.
Review. Corgi Labs processes the payment normally, then places it in the review queue where you can approve or cancel/refund it.
If you process payments via Stripe, an integration change is required to ensure Corgi Labs rules are enforced. Otherwise, your rules might be overwritten by Stripe Radar.
Rule Evaluation Order
Corgi Labs evaluates each payment in the following order by action type:
Request 3DS. Request the issuer to do 3DS. Whether or not there are matches on these rules, any allow, block, and review rules will still be evaluated.
Allow. Allow the payment to be processed. Payments that match allow rules will not be evaluated against any block or review rules. If a payment matches both request 3DS and allow rules, 3DS will still be attempted.
Block. Block the payment. Blocked payments will show up as cancelled
PaymentIntent. Payments that match block rules will not be evaluated against any review rules. If a payment matches both request 3DS and block rules, 3DS will not be attempted.Review. Place the payment in the review queue. The payment is processed and your customers will be charged as normal, but you can review the order for any precautionary measures in your review queue. If a payment matches both request 3DS and review rules, 3DS will still be attempted.
Rules of the same action type are not ordered. If you create multiple Allow rules, Corgi Labs does not define which Allow rule is evaluated first, second, etc. Only the action type ordering matters.
Example: How Rules Interact
To illustrate, if you have the following rules in place:
Allow payments with amount less than or equal to $300
Allow payments from customers in the
VIP_listRequest 3DS on payments with amount greater than $800
Block payments with amount greater than $1,000
Review payments made with a billing address outside of the US
With these rules:
All payments less than 300 USD are processed, regardless of the customer or billing address location, because the payments match rule 1.
A 500 USD payment made by a customer in the
VIP_listis processed, because it matches rule 2.A 500 USD payment made by a non-US customer is processed and placed in the review queue, because it matches rule 5.
A 900 USD payment is processed and subject to 3DS, because it matches rule 3.
A 1,500 USD payment made by a VIP customer is processed and subject to 3DS, because it matches rules 2 and 3. Even though the payment matches a block rule (rule 4), allow rules (rule 2) take precedence.
A 1,500 USD payment made by a non-VIP customer is blocked because it matches rule 4. Even though it matches a request 3DS rule (rule 3), 3DS is not triggered when a block rule also matches.
You have the option to review a payment before the customer is charged by using manual capture. Find more in Review Queue.
Migrate rules from your payment provider
If you have any rules on your existing payment provider, we can migrate those rules to Corgi Labs on your behalf. Please contact your Account Manager for instructions.
You will also be able to review the effectiveness of your historic rules once the migration is completed.
Create new rules and backtesting
View how to create new rules here. Before you implement a rule, Corgi Rule Engine also runs a backtest to estimate the impact of the new rule so that you can deploy it with confidence.
Supported rule attributes
View the full list of supported attributes, types, and sample values here.
| Attribute | Type | Description |
|---|---|---|
| Amount | Number | Payment amount in the currency's smallest unit. |
| Billing Address | String | Billing address fields (country, state, city, etc.). |
| Card BIN | String | First 6 digits of the card number. |
| Card Country | String | Country where the card was issued. |
| Card Fingerprint | String | Stripe card fingerprint (hashed card number). |
| Charge Description | String | Description attached to the charge. |
| Client IP Address | String | IP address of the customer. |
| Client IP Country | String | Country derived from the customer's IP address. |
| Customer ID | String | Stripe customer identifier. |
| String | Customer email address. | |
| Email Domain | String | Domain portion of the customer email. |
This is a partial list. See the full supported attributes page for the complete set.
Rules based on lists
If you have rules based on the supported attributes, lists allow you to create rules for multiple items. For example, you can use the Allow rule action and an Email list to allow all payments from a list of VIP customers, based on their email address.
By default, Corgi Labs has a set of lists that you can use in rules:
| List Type | Description |
|---|---|
| Card BIN | Bank Identification Numbers |
| Card Country | Card-issuing country codes |
| Card Fingerprint | Stripe card fingerprints |
| Charge Description | Payment description strings |
| Client IP Address | Specific payer IP addresses |
| Client IP Country | ISO country codes from payer IP |
| Customer ID | Stripe customer identifiers |
| Full email addresses | |
| Email Domain | Email domains |
You can also create and manage your own list by selecting the desired attribute from the supported attributes.
Related Tools
Review Queue — approve or cancel/refund payments placed under review
Create new rules and backtesting — how to build rules and preview their impact
Supported attributes — full list of attributes, types, and sample values
Archive — how to archive existing rules
Last updated: 2026-06-23