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:

  1. 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.

  2. 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.

  3. 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.

  4. 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:

  1. Allow payments with amount less than or equal to $300

  2. Allow payments from customers in the VIP_list

  3. Request 3DS on payments with amount greater than $800

  4. Block payments with amount greater than $1,000

  5. 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_list is 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.

AttributeTypeDescription
AmountNumberPayment amount in the currency's smallest unit.
Billing AddressStringBilling address fields (country, state, city, etc.).
Card BINStringFirst 6 digits of the card number.
Card CountryStringCountry where the card was issued.
Card FingerprintStringStripe card fingerprint (hashed card number).
Charge DescriptionStringDescription attached to the charge.
Client IP AddressStringIP address of the customer.
Client IP CountryStringCountry derived from the customer's IP address.
Customer IDStringStripe customer identifier.
EmailStringCustomer email address.
Email DomainStringDomain 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 TypeDescription
Card BINBank Identification Numbers
Card CountryCard-issuing country codes
Card FingerprintStripe card fingerprints
Charge DescriptionPayment description strings
Client IP AddressSpecific payer IP addresses
Client IP CountryISO country codes from payer IP
Customer IDStripe customer identifiers
EmailFull email addresses
Email DomainEmail domains

You can also create and manage your own list by selecting the desired attribute from the supported attributes.

  • 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