Supported attributes

This page lists every attribute available in the Corgi Intelligence Rule Engine. Use these attributes to build Allow, Block, and Review rules. Each entry includes the attribute name, its type, and a sample value.


3D Secure

AttributeTypeSample value
three_d_secure<br>Identifies if the payment uses a 3D Secure source.Booleantrue
three_d_secure_authenticated<br>Identifies if the payment was authenticated after a successfully completed 3D Secure verification (either risk-based or challenge-based).Booleantrue
three_d_secure_authentication_flow<br>The authentication flow used for 3D Secure on this payment.Case-insensitive stringchallenge
three_d_secure_result<br>The 3D Secure result for the card used to make the payment. The supported values are: authenticated, attempt_acknowledged, processing_error, exempted.Case-insensitive stringauthenticated

Address

Billing address

AttributeTypeSample value
billing_address<br>The full provided billing address.Case-insensitive string123 Main St #3J Chicago, IL 60007 US
billing_address_line1<br>The first line of the provided billing address (typically a street name and number).Case-insensitive string123 Main St
billing_address_line2<br>The second line of the provided billing address (typically an apartment or unit number).Case-insensitive string#3J
billing_address_postal_code<br>The postal code of the provided billing address.Case-insensitive string60007
billing_address_city<br>The city of the provided billing address.Case-insensitive stringChicago
billing_address_state<br>The state of the provided billing address.Case-insensitive stringIL
billing_address_country<br>The two-letter code corresponding to the country of the provided billing address.Case-insensitive countryUS

Shipping address

AttributeTypeSample value
shipping_address<br>The full provided shipping address.Case-insensitive string123 Main St #3J Chicago, IL 60007 US
shipping_address_line1<br>The first line of the provided shipping address (typically a street name and number).Case-insensitive string123 Main St
shipping_address_line2<br>The second line of the provided shipping address (typically an apartment or unit number).Case-insensitive string#3J
shipping_address_postal_code<br>The postal code (ZIP) of the provided shipping address.Case-insensitive string60007
shipping_address_city<br>The city of the provided shipping address.Case-insensitive stringChicago
shipping_address_state<br>The state of the provided shipping address.Case-insensitive stringIL
shipping_address_country<br>The two-letter code corresponding to the country of the provided shipping address.Case-insensitive countryUS

Amount

AttributeTypeSample value
amount_in_usd<br>The amount of the payment, converted to USD. For non-USD payments, Corgi Labs automatically calculates a converted amount based on a reference exchange rate, updated daily.Case-insensitive string50

Card info

AttributeTypeSample value
card_brand<br>The brand of the card used to make the payment. The supported values are: amex (American Express), visa (Visa), mc (Mastercard), dscvr (Discover), diners (Diners Club), interac (Interac), jcb (JCB), and cup (UnionPay).Case-insensitive stringvisa
card_bin<br>The Bank Identification Number (BIN) of the card used to make the payment. The BIN is the first six digits of the card number.Case-insensitive string371758
card_country<br>The two-letter code corresponding to the country where the card was issued.Case-insensitive countryUS
card_fingerprint<br>The fingerprint of the card used to make the payment. The card fingerprint is a unique identifier of a particular card number.Case-sensitive stringexample_fingerprint
card_funding<br>Whether the card is a prepaid, debit, or credit card. The supported values are: credit, debit, prepaid, unknown.Case-sensitive stringcredit
card_description<br>A high-level description of the type of cards issued in this range. This attribute is case-insensitive, but it's punctuation sensitive.Case-insensitive stringVisa Signature
card_issuer<br>The name of the card's issuing bank. This attribute is case-insensitive, but it's punctuation sensitive.Case-insensitive stringJP Morgan Chase
cardholder_name<br>The provided name associated with a purchaser's card information. This attribute is case-insensitive, but it's punctuation sensitive.<br><br>Use this attribute only to block names or name patterns of individuals who you have reason to believe have previously committed fraud on your service. Your operations team should be prepared to respond to any customer complaints and to add legitimate customers to an allowlist where appropriate.Case-insensitive stringJane Doe
statement_descriptor<br>The statement descriptor provided on a payment.Case-insensitive stringexample descriptor

Email

AttributeTypeSample value
email<br>The email address supplied with the payment.Case-insensitive stringuser@example.com
email_domain<br>The domain of the email supplied with the payment.Case-insensitive stringexample.com

IP address

AttributeTypeSample value
ip_address<br>The IP address from which the payment originated. Sourced from device fingerprinting.Case-insensitive string192.168.1.1
ip_country<br>The two-letter country code corresponding to the IP address of the payment.Case-insensitive stringUS
ip_state<br>The state or region corresponding to the IP address of the payment.Case-insensitive stringCalifornia
is_anonymous_ip<br>Identifies if the payment originated from a known anonymous IP (for example, a VPN, Tor, or proxy).Booleantrue

Issuer checks

These attributes are only evaluated after authorization. A Block rule using these attributes is still enforced even if a pre-auth Allow rule matched the payment. If your payment provider has IC++ pricing, a small authorization interchange fee may still be incurred.

AttributeTypeSample value
address_line1_check<br>A check by the card issuer to match the first line of the provided billing address (typically a street name and number) against the information they have on file for the cardholder. The supported values are: pass, fail, unavailable, unchecked, not_provided.Case-sensitive stringpass
address_zip_check<br>A check by the card issuer to match the provided postal code against the information they have on file for the cardholder. The supported values are: pass, fail, unavailable, unchecked, not_provided.Case-sensitive stringpass
cvc_check<br>A check by the card issuer to match the provided CVC (also referred to as CVV) against the information they have on file for the cardholder. The supported values are: pass, fail, unavailable, unchecked, not_provided.Case-sensitive stringpass

Customer

AttributeTypeSample value
customer<br>The Customer object ID supplied with the payment.Case-sensitive stringcus_x6UEhEYs5JHZhu
customer_name<br>The name associated with the Customer object.Case-insensitive stringJane Doe
delinquent<br>Whether the customer is marked as delinquent.Booleantrue
hours_since_customer_was_created<br>The number of hours since the Customer object making the payment was created on your account.Numeric50
minutes_since_customer_was_created<br>The number of minutes since the Customer object making the payment was created on your account.Numeric50
seconds_since_customer_was_created<br>The number of seconds since the Customer object making the payment was created on your account.Numeric50
hours_since_customer_was_created_on_transactions<br>The number of hours since the Customer object making the transaction was created on your account.Numeric50
minutes_since_customer_was_created_on_transactions<br>The number of minutes since the Customer object making the transaction was created on your account.Numeric50
seconds_since_customer_was_created_on_transactions<br>The number of seconds since the Customer object making the transaction was created on your account.Numeric50

Metadata and custom attributes

You can pass custom attributes in the metadata. Corgi Labs automatically parses the fields you include and adds them to your Rule Engine.

AttributeTypeSample value
::metadata_key::<br>Access custom metadata attached to the payment. Replace metadata_key with the key name you set when creating the payment. For example, if you set metadata[item_id], the rule attribute is ::item_id::.Stringsku_12345

Stripe Radar risk assessment

If you process payments via Stripe, Stripe Radar evaluation results are available.

AttributeTypeSample value
stripe_risk_level<br>The risk level assigned to the payment by Stripe Radar's model. The supported values are: normal, elevated, highest, not_assessed.Case-insensitive stringelevated
stripe_risk_score<br>The risk score assigned to the payment by Stripe Radar's model, from 0 (lowest risk) to 100 (highest risk).Numeric50

Other details

AttributeTypeSample value
currency<br>The 3-digit currency code representing the currency in which the customer paid.Case-insensitive stringusd
digital_wallet<br>The type of digital wallet used to store payment information. The supported values are: android_pay, amex_express_checkout, apple_pay, masterpass, samsung_pay, visa_checkout, meta_pay, amazon_pay, revolut_pay, demo_pay, unknown, none.<br><br>Note: Except for android_pay (valid with or without cryptogram), these are only valid when Corgi Labs receives a cryptogram that can only be generated by a registered device, as opposed to an unencrypted Primary Account Number (PAN).Case-insensitive stringandroid_pay
payment_method_type<br>The payment method used on the payment. The supported values are: card, sepa_debit, and us_bank_account (ACH direct debit).Case-insensitive stringus_bank_account
charge_description<br>The description supplied with the payment.Case-insensitive stringexample descriptor
destination<br>For Connect users creating destination charges, the destination account on whose behalf the charge is made.Case-sensitive stringacct_19KCB9AlaaEw6AgR
is_off_session<br>Indicates when a Stripe Billing payment isn't triggered by direct user action, or when the off_session flag is set at PaymentIntent confirmation.Booleantrue
is_recurring<br>Identifies if the payment is recurring, for example, from subscriptions.Booleantrue
is_setup_intent<br>Identifies if the transaction is a SetupIntent.Booleantrue
transaction_type<br>(DEPRECATED: use is_setup_intent where possible.) The type of the transaction. The supported values are: charge, payment_intent, setup_intent. The payment_intent value is only supported for Request Credentials rules. In that case, any Allow, Block, or Review rules run against the charge attempts created when confirming the payment.Stringcharge

Non-card payment methods

By default, rules are evaluated on card payments (including digital wallet transactions where the underlying payment method is a card), SEPA Direct Debit, and ACH bank transfer.

To build rules for specific payment methods, including alternative payment methods such as stored-value wallets and Buy Now, Pay Later providers, specify payment_method_type:

AttributeTypeSample value
payment_method_type<br>The payment method used on the payment. The supported values are: acss_debit, affirm, afterpay_clearpay, alipay, alma, amazon_pay, au_becs_debit, bacs_debit, bancontact, billie, blik, boleto, card, card_present, cashapp, crypto, customer_balance, eps, fpx, giropay, grabpay, ideal, interac_present, kakao_pay, klarna, konbini, kr_card, link, mobilepay, multibanco, naver_pay, nz_bank_account, oxxo, p24, pay_by_bank, payco, paynow, paypal, pix, promptpay, revolut_pay, samsung_pay, satispay, sepa_debit, sofort, swish, twint, us_bank_account, wechat_pay, and zip.Case-insensitive stringklarna

The following attributes are only evaluated on SEPA Direct Debit and ACH bank transfer payments.

AttributeTypeSample value
sepa_debit_bank_code<br>The bank code of the SEPA Direct Debit payment method.Case-sensitive stringCOBADEFFXXX
sepa_debit_country<br>The two-letter country code of the SEPA Direct Debit payment method.Case-insensitive countryDE
sepa_debit_fingerprint<br>The unique fingerprint of the SEPA Direct Debit bank account.Case-sensitive stringexample_sepa_fp
us_bank_account_bank_name<br>The name of the US bank for ACH Direct Debit payments.Case-insensitive stringJP Morgan Chase
us_bank_account_fingerprint<br>The unique fingerprint of the US bank account.Case-sensitive stringexample_ach_fp
us_bank_account_routing_number<br>The routing number of the US bank account.Case-sensitive string021000021

Pre-computed aggregate attributes

Pre-computed attributes provide aggregate counts, sums, and averages of historical activity, grouped by a specific dimension and computed over a time window. These are useful for velocity checks and anomaly detection.

Grouping dimensions

Pre-computed attributes are grouped by the following dimensions:

DimensionDescription
Card (card_fingerprint)Groups activity by the unique card number fingerprint.
Customer (customer_id)Groups activity by the Stripe Customer object ID.
Email (email)Groups activity by the email address on the payment.
Billing Address (billing_address_postal_code)Groups activity by the billing address postal code.
Shipping Address (shipping_address_postal_code)Groups activity by the shipping address postal code.
Payment Method (payment_method_id)Groups activity by the Payment Method object ID.

Time windows

Each aggregate attribute is computed over one of the following time windows:

Window suffixPeriod
_hourlyPast 1 hour
_dailyPast 1 day (24 hours)
_weeklyPast 7 days
_yearlyPast 1 year
_all_timeAll time

Naming convention

The naming convention for pre-computed attributes is:

{measure}_for_{dimension}_{time_window}

For example: count_dispute_for_card_daily is the count of disputes on a given card fingerprint in the past day.

Counts

MeasureDescriptionType
count_dispute_for_{dimension}_{window}Number of disputes filed against payments grouped by this dimension, within the time window.Numeric
count_payment_intent_for_{dimension}_{window}Number of payment intents (attempted payments) grouped by this dimension, within the time window.Numeric
count_refund_for_{dimension}_{window}Number of refunds issued for payments grouped by this dimension, within the time window.Numeric
count_fraud_for_{dimension}_{window}Number of payments flagged as fraudulent (based on dispute data) grouped by this dimension, within the time window.Numeric
count_chargeback_for_{dimension}_{window}Number of chargebacks filed against payments grouped by this dimension, within the time window.Numeric
count_card_for_{dimension}_{window}Number of distinct cards used, grouped by this dimension, within the time window. Not applicable when the dimension is Card.Numeric

Amount aggregates

MeasureDescriptionType
sum_amount_in_usd_for_{dimension}_{window}Total amount (in USD) of payments grouped by this dimension, within the time window.Numeric
avg_amount_in_usd_for_{dimension}_{window}Average amount (in USD) of payments grouped by this dimension, within the time window.Numeric
avg_dispute_amount_in_usd_for_{dimension}_{window}Average disputed amount (in USD) for payments grouped by this dimension, within the time window.Numeric
avg_refund_amount_in_usd_for_{dimension}_{window}Average refund amount (in USD) for payments grouped by this dimension, within the time window.Numeric

Spike detection

MeasureDescriptionType
is_new_max_amount_in_usd_for_{dimension}Whether the current payment amount is the highest ever seen for this dimension. Useful for detecting anomalously large payments on a card, customer, email, or other dimension.Boolean

Available dimension and window combinations

All combinations of the dimensions and windows listed above are available for count and amount aggregate measures.

Example attribute names using the Card dimension:

  • count_dispute_for_card_all_time

  • count_dispute_for_card_hourly / _daily / _weekly / _yearly

  • count_payment_intent_for_card_all_time / _hourly / _daily / _weekly / _yearly

  • count_refund_for_card_all_time / _hourly / _daily / _weekly / _yearly

  • count_fraud_for_card_all_time / _hourly / _daily / _weekly / _yearly

  • count_chargeback_for_card_all_time / _hourly / _daily / _weekly / _yearly

  • sum_amount_in_usd_for_card_all_time / _hourly / _daily / _weekly / _yearly

  • avg_amount_in_usd_for_card_all_time / _hourly / _daily / _weekly / _yearly

  • avg_dispute_amount_in_usd_for_card_all_time / _hourly / _daily / _weekly / _yearly

  • avg_refund_amount_in_usd_for_card_all_time / _hourly / _daily / _weekly / _yearly

  • is_new_max_amount_in_usd_for_card

Replace card with customer, email, billing_address, shipping_address, or payment_method to get the equivalent attributes for those dimensions.

Additional count attributes for non-card dimensions:

  • count_card_for_customer_{window} — Distinct cards used by this customer

  • count_card_for_email_{window} — Distinct cards used with this email

  • count_card_for_billing_address_{window} — Distinct cards used at this billing address

  • count_card_for_shipping_address_{window} — Distinct cards used at this shipping address

  • count_card_for_payment_method_{window} — Distinct cards associated with this payment method

Last updated: 2026-06-23