Card type detection
Card type detection and consistency in routing across the DEUNA Admin ensures accurate detection and usage of card types across critical areas:
- Routing strategies: Routing decisions respect the card type derived from the BIN detector.
- Admin (Merchant order details): Card type displayed accurately reflects what was used in the transaction.
Data consistency
Information regarding card type is stored in the card_type
field and is available across all products where method_type
has an impact.
Objectives of card detection:
-
Support for
"credit"
,"debit"
and"prepaid"
card types in routing conditions, using the BIN detector. -
Display the correct card type in the DEUNA Admin, based on the BIN detector.
-
Logging and error handling for value mismatches.
-
Ensure consistent usage of the correct card type across order processing, routing, reporting, and responses on the DEUNA ecosystem.
Card type support
The BIN detector service recognizes the card six digits of the card number.
The Routing Engine recognizes and supports the following card types:
credit_card
debit_card
prepaid_card
If the BIN detector detects a credit card but the payment processor response is different then the card type logs the mismatch and alerts the system.
Routing behavior follows standard rule evaluation. If a rule targets debit cards and the BIN detector identifies the card as a debit, then the standard rule applies.
Card type recognition works for all DEUNA flows like:
- Incoming raw card details
- Tokenized DEUNA cards
- Cards tokenized with DEUNA and with PSP
Routing strategies defined in the DEUNA Admin use a condition on
method_type (==
!=
in
not in) debit_card
,credit_card
, orprepaid_card
.
Example:
json
CopyEdit
"conditions": [
{
"rule_option": {
"label": "method_type"
},
"operator": "in",
"operand": "debit_card"
}
]
Card type rendering
In the DEUNA Admin, the values are parsed from the BIN detector:
The BIN detector extracts the information from the card number and standardizes it: If the value is:
CREDIT
forcredit_card
, then the detector displays"credit_card"
DEBIT
fordebit_card
, then the detector displays"debit_card"
PREPAID
forprepaid_card
, then the detector displays"prepaid_card"
"from_card": { // card object
"bank_name": "Santander",
"country_iso": "MX",
"credential_source": "f",
"expiry_month": "11",
"expiry_year": "2031",
"card_type": "debit_card"
}
Updated about 5 hours ago