Evaluation requested

This event occurs asynchronously when the platform completes a flex control evaluation request. The flex controls evaluation happens when flex controls are configured and considered for a transaction. This event contains information about the evaluated parameters and the evaluation result.
More information: Flexible transaction controls

Type: object
Domain: rules
Event: evaluation_requested
Version: 1

|
request required

Title: The evaluation request
Type: object

amount required

Title: Transaction amount
Description: Payment transaction amount.
Type: integer
Example:
49999

accounts

Title: Transaction-related accounts
Description: Accounts related to the transaction.
Type: object

from required

Title: Account origin
Description: Account the transaction originated from
Type: object
Example:

{
    "id": 292933,
    "customer_id": 50000,
    "card_id": 40000,
    "processing_code": "007100",
    "currency_code": "USD",
    "balance": 60000
}
id required

Title: Account ID
Description: Account ID.
Type: integer
Example:
292933

balance

Title: Account balance
Description: Account balance.
Type: integer
Example:
60000

card_id

Title: Card ID
Description: Card ID.
Type: integer
Example:
40000

currency_code

Title: Currency code
Description: ISO-4217 currency code.
Type: string
Example:
USD

customer_id

Title: Customer ID
Description: Customer ID.
Type: integer
Example:
50000

processing_code

Title: Transaction processing code
Description: Processing code. For more information, see Processing codes and transaction types.
Type: string
Min length: 1
Max length: 6
Example:
007100

to

Title: Target account
Description: Transaction target account.
Type: object
Example:

{
    "id": 292344,
    "customer_id": 50000,
    "card_id": 40000,
    "processing_code": "007100",
    "currency_code": "USD",
    "balance": 10000
}
id required

Title: Account ID
Description: Account ID.
Type: integer
Example:
292344

balance

Title: Account balance
Description: Account balance.
Type: integer
Example:
10000

card_id

Title: Card ID
Description: Card ID.
Type: integer
Example:
40000

currency_code

Title: Currency code
Description: ISO-4217 currency code.
Type: string
Example:
USD

customer_id

Title: Customer ID
Description: Customer ID.
Type: integer
Example:
50000

processing_code

Title: Transaction processing code
Description: Transaction processing code.
Type: string
Min length: 1
Max length: 6
Example:
007100

currency_code

Title: Currency code
Description: ISO-4217 currency code.
Type: string
Min length: 1
Max length: 3
Example:
USD

entry_mode

Title: Entry mode
Description: Entry mode is a numeric or string ISO 8583 standard code that identifies how a card transaction was entered.
Type: string
Min length: 1
Max length: 1024
Example:
9180

force

Title: Force
Description: Indicates whether to ignore flex controls and force the transaction approval.
Type: boolean
Example:
true

merchant_category_code

Title: Merchant category code
Description: Merchant category code (MCC). A 4-digit ISO 18245 (retail financial services) number.
Type: string
Min length: 1
Max length: 1024
Example:
5542

merchant_id

Title: Merchant ID
Description: Merchant ID.
Type: string
Min length: 1
Max length: 1024
Example:
2ca51949-3d57-4f70-81b7-cc6a20d6bb4b

simulation

Title: Simulation
Description: Indicates whether the request is a simulation. Since the transactions are not simulated, the boolean is false.
Type: boolean
Example:
false

tracking_id

Title: Tracking ID
Description: Request's tracking ID.
Type: string
Min length: 1
Max length: 254
Example:
ee065d92-339f-405d-99fd-4ed75b784bc7

country_code

Title: Country code
Description: Transaction's origin country - a 3-letter ISO 3166-1 code.
Type: string
Min length: 3
Max length: 3
Example:
BRA

number_of_installments

Title: Number of installments
Description: Number of operation installments.
Type: integer
Example:
false

is_password_present

Title: Is password present
Description: Indicates whether the password is present in the evaluation request.
Type: boolean
Example:
false

is_physical_card_present

Title: Is physical card present
Description: Indicates whether a physical card is present.
Type: boolean
Example:
false

card_mode

Title: Card mode
Description: Card mode - CREDIT, DEBIT, or COMBO. For more information, see Cards overview.
Type: string
Must be one of the following:
credit
debit
combo
Example:
credit

is_device_registered

Title: Is device registered
Description: Indicates whether the device used for the operation is registered according to the financial institution's security policies.
Type: boolean
Example:
false

result required

Title: Result
Description: Evaluation result.
Type: object

result required

Title: Evaluation result
Description: Indicates whether the flex controls evaluation resulted in approval (true) or denial (false).
Type: boolean
Example:
true

deny_code

Title: Deny code
Description: Deny code explains why the evaluation is denied. You can configure this code when creating a flex control.
Type: string
Min length: 1
Max length: 100
Example:
MAX_LIMIT_USD_P1M

custom_code

Title: Custom code
Description: Alphanumeric three-character custom code and can be the alternative custom code. Alternative custom code overrides the standard platform custom code and provides the reason set in the alternative custom code. When the platform denies a control evaluation, the custom code provides the denial code.
Type: string
Min length: 3
Max length: 3
Example:
A1B

message

Title: Message
Description: Result message.
Type: string
Min length: 1
Max length: 1024
Example:
[dd9ff885-14da-40e6-8b54-bb56fce06936] Got value '22095' and the rule value is '1'.

response_code

Title: Response code
Description: Alphanumeric two-character response code. This can be the standard card network response code or an alternative custom response code. When the platform denies a control evaluation, the platform returns the response code that provides the precise reason for the denial by the card network or anti-fraud solution.
Type: string
Min length: 2
Max length: 2
Example:
FM
57
05

evaluated_controls
id

Title: Flex control ID
Description: Flex control ID.
Type: string
Min length: 1
Max length: 1024
Example:
dd9ff885-14da-40e6-8b54-bb56fce06936

name

Title: Name
Description: Flex control name.
Type: string
Min length: 1
Max length: 1024
Example:
Purchase 1M limit

result

Title: Result
Description: Indicates whether the flex controls evaluation resulted in approval (true) or denial (false).
Type: boolean
Example:
true

message

Title: Message
Description: Result message.
Type: string
Min length: 1
Max length: 1024
Example:
[dd9ff885-14da-40e6-8b54-bb56fce06936] Got value '22095' and the rule value is '1'.

deny_code

Title: Deny code
Description: Deny code related to the restriction. This code is returned when the evaluation does not meet the conditions.
Type: string
Min length: 1
Max length: 100
Example:
MAX_LIMIT_USD_P1M

custom_code

Title: Custom code
Description: Alphanumeric three-character custom code and can be the alternative custom code. Alternative custom code overrides the standard platform custom code and provides the reason set in the alternative custom code. When the platform denies a control evaluation, the custom code provides the denial code.
Type: string
Min length: 3
Max length: 3
Example:
A1B

response_code

Title: Response code
Description: When the platform denies a control evaluation, the platform returns a response code indicating the card network's or anti-fraud solution's denial reason.
Type: string
Example:
FM
57
05

max_limit

Title: Max limit
Description: Max flex control limit. Once met or exceeded, the evaluation control flow declines any further transactions.
Type: integer

available_limit

Title: Available limit
Description: Flex control for total available limit. The value is the difference of max_limit and current_spend_limit.
Type: integer
Example:
1000

max_amount

Title: Maximum accumulated amount
Description: Maximum allowed accumulated amount. Once exceeded, the evaluation control flow declines subsequent transactions. Applies only to cumulative flex controls.
Type: integer
Example:
10000

available_amount

Title: Current available amount
Description: Current available amount. The amount available is updated as the Pismo platform evaluates flex controls. The value for available_amount is deducted or reset according to entry_mode and reset_strategy. Applies only to cumulative flex controls.
Type: integer
Example:
5000

max_transactions

Title: Max transactions allowed
Description: Max transactions allowed. Applies only to cumulative flex controls.
Type: integer
Example:
10

available_transactions

Title: Current available transactions
Description: Current available transactions. The number of available transactions reduces by 1 after each transaction or resets according to entry_mode and reset_strategy. Applies only to cumulative flex control.
Type: integer
Example:
3

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "type": "object",
    "title": "Evaluation requested",
    "description": "This event occurs asynchronously when the platform completes a flex control evaluation request. The flex controls evaluation happens when flex controls are configured and considered for a transaction. This event contains information about the evaluated parameters and the evaluation result. <br>More information: <a href='https://developers.pismo.io/pismo-docs/docs/flex-controls' target='_blank'>Flexible transaction controls</a>",
    "required": [
        "request",
        "result"
    ],
    "properties": {
        "request": {
            "required": [
                "amount"
            ],
            "title": "The evaluation request",
            "type": "object",
            "properties": {
                "amount": {
                    "title": "Transaction amount",
                    "description": "Payment transaction amount.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 18446744073709551617,
                    "examples": [
                        49999
                    ]
                },
                "accounts": {
                    "required": [
                        "from"
                    ],
                    "title": "Transaction-related accounts",
                    "description": "Accounts related to the transaction.",
                    "type": "object",
                    "properties": {
                        "from": {
                            "examples": [
                                {
                                    "id": 292933,
                                    "customer_id": 50000,
                                    "card_id": 40000,
                                    "processing_code": "007100",
                                    "currency_code": "USD",
                                    "balance": 60000
                                }
                            ],
                            "required": [
                                "id"
                            ],
                            "title": "Account origin",
                            "description": "Account the transaction originated from",
                            "type": "object",
                            "properties": {
                                "id": {
                                    "title": "Account ID",
                                    "description": "Account ID.",
                                    "type": "integer",
                                    "minimum": 1,
                                    "maximum": 18446744073709551617,
                                    "examples": [
                                        292933
                                    ]
                                },
                                "balance": {
                                    "title": "Account balance",
                                    "description": "Account balance.",
                                    "type": "integer",
                                    "minimum": 1,
                                    "maximum": 18446744073709551617,
                                    "examples": [
                                        60000
                                    ]
                                },
                                "card_id": {
                                    "title": "Card ID",
                                    "description": "Card ID.",
                                    "type": "integer",
                                    "minimum": 1,
                                    "maximum": 18446744073709551617,
                                    "examples": [
                                        40000
                                    ]
                                },
                                "currency_code": {
                                    "examples": [
                                        "USD"
                                    ],
                                    "title": "Currency code",
                                    "description": "ISO-4217 currency code.",
                                    "type": "string"
                                },
                                "customer_id": {
                                    "title": "Customer ID",
                                    "description": "Customer ID.",
                                    "type": "integer",
                                    "minimum": 1,
                                    "maximum": 18446744073709551617,
                                    "examples": [
                                        50000
                                    ]
                                },
                                "processing_code": {
                                    "title": "Transaction processing code",
                                    "description": "Processing code. For more information, see <a href='https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types' target='_blank'>Processing codes and transaction types</a>.",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 6,
                                    "examples": [
                                        "007100"
                                    ]
                                }
                            }
                        },
                        "to": {
                            "examples": [
                                {
                                    "id": 292344,
                                    "customer_id": 50000,
                                    "card_id": 40000,
                                    "processing_code": "007100",
                                    "currency_code": "USD",
                                    "balance": 10000
                                }
                            ],
                            "required": [
                                "id"
                            ],
                            "title": "Target account",
                            "description": "Transaction target account.",
                            "type": "object",
                            "properties": {
                                "id": {
                                    "title": "Account ID",
                                    "description": "Account ID.",
                                    "type": "integer",
                                    "minimum": 1,
                                    "maximum": 18446744073709551617,
                                    "examples": [
                                        292344
                                    ]
                                },
                                "balance": {
                                    "title": "Account balance",
                                    "description": "Account balance.",
                                    "type": "integer",
                                    "minimum": 1,
                                    "maximum": 18446744073709551617,
                                    "examples": [
                                        10000
                                    ]
                                },
                                "card_id": {
                                    "title": "Card ID",
                                    "description": "Card ID.",
                                    "type": "integer",
                                    "minimum": 1,
                                    "maximum": 18446744073709551617,
                                    "examples": [
                                        40000
                                    ]
                                },
                                "currency_code": {
                                    "examples": [
                                        "USD"
                                    ],
                                    "title": "Currency code",
                                    "description": "ISO-4217 currency code.",
                                    "type": "string"
                                },
                                "customer_id": {
                                    "title": "Customer ID",
                                    "description": "Customer ID.",
                                    "type": "integer",
                                    "minimum": 1,
                                    "maximum": 18446744073709551617,
                                    "examples": [
                                        50000
                                    ]
                                },
                                "processing_code": {
                                    "title": "Transaction processing code",
                                    "description": "Transaction processing code.",
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 6,
                                    "examples": [
                                        "007100"
                                    ]
                                }
                            }
                        }
                    }
                },
                "currency_code": {
                    "title": "Currency code",
                    "description": "ISO-4217 currency code.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 3,
                    "examples": [
                        "USD"
                    ]
                },
                "entry_mode": {
                    "title": "Entry mode",
                    "description": "Entry mode is a numeric or string ISO 8583 standard code that identifies how a card transaction was entered.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1024,
                    "examples": [
                        "9180"
                    ]
                },
                "force": {
                    "title": "Force",
                    "description": "Indicates whether to ignore flex controls and force the transaction approval.",
                    "type": "boolean",
                    "examples": [
                        true
                    ]
                },
                "merchant_category_code": {
                    "title": "Merchant category code",
                    "description": "Merchant category code (MCC). A 4-digit ISO 18245 (retail financial services) number.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1024,
                    "examples": [
                        "5542"
                    ]
                },
                "merchant_id": {
                    "title": "Merchant ID",
                    "description": "Merchant ID.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1024,
                    "examples": [
                        "2ca51949-3d57-4f70-81b7-cc6a20d6bb4b"
                    ]
                },
                "simulation": {
                    "title": "Simulation",
                    "description": "Indicates whether the request is a simulation. Since the transactions are not simulated, the boolean is `false`.",
                    "type": "boolean",
                    "examples": [
                        false
                    ]
                },
                "tracking_id": {
                    "title": "Tracking ID",
                    "description": "Request's tracking ID.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 254,
                    "examples": [
                        "ee065d92-339f-405d-99fd-4ed75b784bc7"
                    ]
                },
                "country_code": {
                    "title": "Country code",
                    "description": "Transaction's origin country - a 3-letter ISO 3166-1 code.",
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "examples": [
                        "BRA"
                    ]
                },
                "number_of_installments": {
                    "title": "Number of installments",
                    "description": "Number of operation installments.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 255,
                    "examples": [
                        false
                    ]
                },
                "is_password_present": {
                    "title": "Is password present",
                    "description": "Indicates whether the password is present in the evaluation request.",
                    "type": "boolean",
                    "examples": [
                        false
                    ]
                },
                "is_physical_card_present": {
                    "title": "Is physical card present",
                    "description": "Indicates whether a physical card is present. ",
                    "type": "boolean",
                    "examples": [
                        false
                    ]
                },
                "card_mode": {
                    "title": "Card mode",
                    "description": "Card mode - CREDIT, DEBIT, or COMBO. For more information, see <a href='https://developers.pismo.io/pismo-docs/docs/cards-overview-1#create-a-combination-card-with-card-modes' target='_blank'>Cards overview</a>.",
                    "type": "string",
                    "enum": [
                        "credit",
                        "debit",
                        "combo"
                    ],
                    "examples": [
                        "credit"
                    ]
                },
                "is_device_registered": {
                    "title": "Is device registered",
                    "description": "Indicates whether the device used for the operation is registered according to the financial institution's security policies.",
                    "type": "boolean",
                    "examples": [
                        false
                    ]
                }
            }
        },
        "result": {
            "required": [
                "result"
            ],
            "title": "Result",
            "description": "Evaluation result.",
            "type": "object",
            "properties": {
                "result": {
                    "title": "Evaluation result",
                    "description": "Indicates whether the flex controls evaluation resulted in approval (`true`) or denial (`false`). ",
                    "type": "boolean",
                    "examples": [
                        true
                    ]
                },
                "deny_code": {
                    "title": "Deny code",
                    "description": "Deny code explains why the evaluation is denied. You can configure this code when creating a flex control.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100,
                    "examples": [
                        "MAX_LIMIT_USD_P1M"
                    ]
                },
                "custom_code": {
                    "title": "Custom code",
                    "description": "Alphanumeric three-character custom code and can be the alternative custom code. Alternative custom code overrides the standard platform custom code and provides the reason set in the alternative custom code. When the platform denies a control evaluation, the custom code provides the denial code.",
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "examples": [
                        "A1B"
                    ]
                },
                "message": {
                    "title": "Message",
                    "description": "Result message.",
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1024,
                    "examples": [
                        "[dd9ff885-14da-40e6-8b54-bb56fce06936] Got value '22095' and the rule value is '1'."
                    ]
                },
                "response_code": {
                    "title": "Response code",
                    "description": "Alphanumeric two-character response code. This can be the standard card network response code or an alternative custom response code. When the platform denies a control evaluation, the platform returns the response code that provides the precise reason for the denial by the card network or anti-fraud solution.",
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 2,
                    "examples": [
                        "FM",
                        "57",
                        "05"
                    ]
                },
                "evaluated_controls": {
                    "type": "array",
                    "title": "Evaluated controls",
                    "description": "List of evaluated flex controls.",
                    "items": {
                        "properties": {
                            "id": {
                                "title": "Flex control ID",
                                "description": "Flex control ID.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 1024,
                                "examples": [
                                    "dd9ff885-14da-40e6-8b54-bb56fce06936"
                                ]
                            },
                            "name": {
                                "title": "Name",
                                "description": "Flex control name.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 1024,
                                "examples": [
                                    "Purchase 1M limit"
                                ]
                            },
                            "result": {
                                "title": "Result",
                                "description": "Indicates whether the flex controls evaluation resulted in approval (`true`) or denial (`false`).",
                                "type": "boolean",
                                "examples": [
                                    true
                                ]
                            },
                            "message": {
                                "title": "Message",
                                "description": "Result message.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 1024,
                                "examples": [
                                    "[dd9ff885-14da-40e6-8b54-bb56fce06936] Got value '22095' and the rule value is '1'."
                                ]
                            },
                            "deny_code": {
                                "title": "Deny code",
                                "description": "Deny code related to the restriction. This code is returned when the evaluation does not meet the conditions.",
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 100,
                                "examples": [
                                    "MAX_LIMIT_USD_P1M"
                                ]
                            },
                            "custom_code": {
                                "title": "Custom code",
                                "description": "Alphanumeric three-character custom code and can be the alternative custom code. Alternative custom code overrides the standard platform custom code and provides the reason set in the alternative custom code. When the platform denies a control evaluation, the custom code provides the denial code.",
                                "type": "string",
                                "minLength": 3,
                                "maxLength": 3,
                                "examples": [
                                    "A1B"
                                ]
                            },
                            "response_code": {
                                "title": "Response code",
                                "description": "When the platform denies a control evaluation, the platform returns a response code indicating the card network's or anti-fraud solution's denial reason.",
                                "type": "string",
                                "examples": [
                                    "FM",
                                    "57",
                                    "05"
                                ]
                            },
                            "max_limit": {
                                "title": "Max limit",
                                "description": "Max flex control limit. Once met or exceeded, the evaluation control flow declines any further transactions.",
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 18446744073709551617,
                                "examples": []
                            },
                            "available_limit": {
                                "title": "Available limit",
                                "description": "Flex control for total available limit. The value is the difference of `max_limit` and `current_spend_limit`.",
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 18446744073709551617,
                                "examples": [
                                    1000
                                ]
                            },
                            "max_amount": {
                                "title": "Maximum accumulated amount",
                                "description": "Maximum allowed accumulated amount. Once exceeded, the evaluation control flow declines subsequent transactions. Applies only to cumulative flex controls.",
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 18446744073709551617,
                                "examples": [
                                    10000
                                ]
                            },
                            "available_amount": {
                                "title": "Current available amount",
                                "description": "Current available amount. The amount available is updated as the Pismo platform evaluates flex controls. The value for `available_amount` is deducted or reset according to `entry_mode` and `reset_strategy`. Applies only to cumulative flex controls.",
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 18446744073709551617,
                                "examples": [
                                    5000
                                ]
                            },
                            "max_transactions": {
                                "title": "Max transactions allowed",
                                "description": "Max transactions allowed. Applies only to cumulative flex controls.",
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 18446744073709551617,
                                "examples": [
                                    10
                                ]
                            },
                            "available_transactions": {
                                "title": "Current available transactions",
                                "description": "Current available transactions. The number of available transactions reduces by 1 after each transaction or resets according to `entry_mode` and `reset_strategy`. Applies only to cumulative flex control.",
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 18446744073709551617,
                                "examples": [
                                    3
                                ]
                            }
                        }
                    }
                }
            }
        }
    }
}