2026-06-09 13:17:13.005 [DEBUG] QUERY OK source="global_table" db=0.4ms decode=3.7ms queue=81.7ms idle=0.0ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-09 13:17:13.133 [INFO] Device phoenix_client_node_megha1 connected 2026-06-09 13:17:13.141 [INFO] Running DaProductAppWeb.Endpoint with Bandit 1.6.7 at 0.0.0.0:14777 (http) 2026-06-09 13:17:13.154 [INFO] Access DaProductAppWeb.Endpoint at http://localhost:14777 2026-06-09 13:17:35.645 [INFO] POST /v1/transaction-rules/evaluate 2026-06-09 13:17:35.672 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000020000"}, "bin" => "555942", "device_model" => "MF919 S10", "merchant_id" => "390888230000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000040", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-09 13:17:35.672 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 390888230000000 2026-06-09 13:17:35.680 [DEBUG] QUERY OK source="pos_terminals" db=0.6ms queue=0.4ms idle=785.2ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-09 13:17:35.682 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", store_id: 249, address_line1: "Dubai"} 2026-06-09 13:17:35.682 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 390888230000000 2026-06-09 13:17:35.684 [DEBUG] QUERY OK source="user_metadata" db=0.4ms queue=0.3ms idle=796.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["390888230000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-09 13:17:35.684 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1656} 2026-06-09 13:17:35.684 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1656 2026-06-09 13:17:35.686 [DEBUG] QUERY OK source="merchant_configuration" db=1.6ms queue=0.3ms idle=797.4ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1656] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-09 13:17:35.686 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1656/logo.jpg", model_name: 1, settings: %{"BASE_MERCHANT_NAME" => "nn", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES_CONFIGURATION" => nil, "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0} 2026-06-09 13:17:35.687 [INFO] Merged settings for merchant_id=390888230000000 user_id=1656 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-09 13:17:35.687 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.687 [DEBUG] setting=BASE_MERCHANT_NAME value="nn" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.687 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.687 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.687 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.688 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.688 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.688 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.688 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.688 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.688 [DEBUG] setting=DEVICES_CONFIGURATION value=nil source=:missing merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.688 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.688 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.688 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.689 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.689 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.689 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.689 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.690 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.690 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.690 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.690 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.690 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.690 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.691 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.691 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.692 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.692 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.692 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.692 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.692 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.693 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.694 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.694 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.694 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.694 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.694 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.694 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.694 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.694 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.695 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.695 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.695 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.696 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.696 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.696 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.696 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-09 13:17:35.697 [DEBUG] QUERY OK source="user_metadata" db=0.9ms queue=0.2ms idle=809.2ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["390888230000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-09 13:17:35.697 [INFO] fetch_rules_for - merchant_id: 390888230000000 mapped to user_id: 1656 2026-06-09 13:17:35.706 [DEBUG] QUERY OK source="transaction_rules" db=0.6ms queue=0.5ms idle=817.5ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1656] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-09 13:17:35.706 [INFO] fetch_rules_for - found 0 rules for user_id: 1656 2026-06-09 13:17:35.706 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260609131735-354458 X-Request-Id: e80d473e-18b1-4bb3-b511-119c67a53f8c Idempotency-Key: 6bc65a5f-2e11-4e65-88ea-0582089d9d61 Merchant ID: 390888230000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000020000"} Transaction: %{"stan" => "000040", "type" => "PURCHASE"} Rules Found: 0 2026-06-09 13:17:35.707 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-09 13:17:35.707 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-09 13:17:35.715 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 200.0, Rules: 0, Timestamp: 2026-06-09 13:17:35.707242Z 2026-06-09 13:17:35.715 [INFO] ALLOWED - All rules passed 2026-06-09 13:17:35.716 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-09 13:17:35.716 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{merchant_name: "Cafe", merchant_address: "Dubai", logo: "uploads/merchant_logos/1656/logo.jpg"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1656/logo.jpg"}, amount: %{value: "200.00", currency: "AED"}, model_name: true, cardholder_name: false, service_ref_id: "SVR-20260609131735-354458", decision: "ALLOW", provider_time: "2026-06-09T13:17:35.706903Z"} 2026-06-09 13:17:35.724 [INFO] Sent 200 in 78ms 2026-06-09 13:27:13.020 [DEBUG] QUERY OK source="global_table" db=1.1ms idle=1048.0ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 05:55:44.749 [DEBUG] QUERY OK source="global_table" db=0.5ms decode=1.8ms queue=68.3ms idle=0.0ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 05:55:44.902 [INFO] Device phoenix_client_node_megha1 connected 2026-06-10 05:55:44.908 [INFO] Running DaProductAppWeb.Endpoint with Bandit 1.6.7 at 0.0.0.0:14777 (http) 2026-06-10 05:55:44.921 [INFO] Access DaProductAppWeb.Endpoint at http://localhost:14777 2026-06-10 05:56:27.491 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 05:56:27.525 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000020000"}, "bin" => "416646", "device_model" => "MF919 S10", "merchant_id" => "390888230000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000044", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 05:56:27.540 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 390888230000000 2026-06-10 05:56:27.554 [DEBUG] QUERY OK source="pos_terminals" db=0.6ms queue=0.8ms idle=859.5ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 05:56:27.556 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-10 05:56:27.556 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 390888230000000 2026-06-10 05:56:27.558 [DEBUG] QUERY OK source="user_metadata" db=1.0ms queue=0.7ms idle=902.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["390888230000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 05:56:27.558 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1656} 2026-06-10 05:56:27.558 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1656 2026-06-10 05:56:27.560 [DEBUG] QUERY OK source="merchant_configuration" db=0.6ms queue=0.4ms idle=904.1ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1656] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 05:56:27.560 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1656/logo.jpg", settings: %{"BASE_MERCHANT_NAME" => "nn", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES_CONFIGURATION" => nil, "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 05:56:27.561 [INFO] Merged settings for merchant_id=390888230000000 user_id=1656 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 05:56:27.561 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.561 [DEBUG] setting=BASE_MERCHANT_NAME value="nn" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.561 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.561 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.561 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.561 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.561 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.561 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.561 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.562 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.562 [DEBUG] setting=DEVICES_CONFIGURATION value=nil source=:missing merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.562 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.562 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.562 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.562 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.562 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.562 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.563 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.571 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.571 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.571 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.571 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.571 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.571 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.571 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.572 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.572 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.572 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.572 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.572 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.572 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.572 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.572 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.572 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.572 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.573 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.573 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.573 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.573 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.574 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.574 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.574 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.574 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.574 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.574 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.574 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.574 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:27.578 [DEBUG] QUERY OK source="user_metadata" db=0.9ms idle=922.2ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["390888230000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 05:56:27.578 [INFO] fetch_rules_for - merchant_id: 390888230000000 mapped to user_id: 1656 2026-06-10 05:56:27.587 [DEBUG] QUERY OK source="transaction_rules" db=0.7ms queue=0.6ms idle=931.3ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1656] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 05:56:27.587 [INFO] fetch_rules_for - found 0 rules for user_id: 1656 2026-06-10 05:56:27.588 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610055627-493368 X-Request-Id: 447ce55c-4c55-4a03-b60b-7f216ca2c24c Idempotency-Key: c968ede4-216f-4990-9468-f002d365fe7b Merchant ID: 390888230000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000020000"} Transaction: %{"stan" => "000044", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 05:56:27.588 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 05:56:27.588 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 05:56:27.591 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 200.0, Rules: 0, Timestamp: 2026-06-10 05:56:27.588412Z 2026-06-10 05:56:27.591 [INFO] ALLOWED - All rules passed 2026-06-10 05:56:27.591 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 05:56:27.591 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1656/logo.jpg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1656/logo.jpg"}, amount: %{value: "200.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T05:56:27.588094Z", service_ref_id: "SVR-20260610055627-493368"} 2026-06-10 05:56:27.597 [INFO] Sent 200 in 106ms 2026-06-10 05:56:48.403 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 05:56:48.403 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000020000"}, "bin" => "416646", "device_model" => "MF919 S10", "merchant_id" => "390888230000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000045", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 05:56:48.403 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 390888230000000 2026-06-10 05:56:48.405 [DEBUG] QUERY OK source="pos_terminals" db=1.0ms idle=1705.0ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 05:56:48.405 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-10 05:56:48.405 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 390888230000000 2026-06-10 05:56:48.406 [DEBUG] QUERY OK source="user_metadata" db=1.4ms idle=1745.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["390888230000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 05:56:48.406 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1656} 2026-06-10 05:56:48.407 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1656 2026-06-10 05:56:48.408 [DEBUG] QUERY OK source="merchant_configuration" db=1.6ms idle=1747.2ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1656] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 05:56:48.409 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1656/logo.jpg", settings: %{"BASE_MERCHANT_NAME" => "nn", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES_CONFIGURATION" => nil, "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 05:56:48.409 [INFO] Merged settings for merchant_id=390888230000000 user_id=1656 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 05:56:48.409 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.409 [DEBUG] setting=BASE_MERCHANT_NAME value="nn" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.410 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.410 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.410 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.410 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.411 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.411 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.411 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.411 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.412 [DEBUG] setting=DEVICES_CONFIGURATION value=nil source=:missing merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.412 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.412 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.412 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.413 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.413 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.413 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.413 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.413 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.413 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.413 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.414 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.414 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.414 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.414 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.415 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.415 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.415 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.415 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.416 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.416 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.416 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.416 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.416 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.417 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.417 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.417 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.417 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.417 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.417 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.420 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.420 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.420 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.420 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.420 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.421 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=390888230000000 user_id=1656 2026-06-10 05:56:48.423 [DEBUG] QUERY OK source="user_metadata" db=1.4ms idle=1761.7ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["390888230000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 05:56:48.423 [INFO] fetch_rules_for - merchant_id: 390888230000000 mapped to user_id: 1656 2026-06-10 05:56:48.426 [DEBUG] QUERY OK source="transaction_rules" db=2.1ms idle=1763.5ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1656] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 05:56:48.426 [INFO] fetch_rules_for - found 0 rules for user_id: 1656 2026-06-10 05:56:48.426 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610055648-118217 X-Request-Id: 7e005e9d-b238-4ec3-9419-c82a835d223c Idempotency-Key: 49f363ba-d7cd-4057-b67e-6f208eeb08fa Merchant ID: 390888230000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000020000"} Transaction: %{"stan" => "000045", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 05:56:48.426 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 05:56:48.426 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 05:56:48.426 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 200.0, Rules: 0, Timestamp: 2026-06-10 05:56:48.426623Z 2026-06-10 05:56:48.426 [INFO] ALLOWED - All rules passed 2026-06-10 05:56:48.426 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 05:56:48.426 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1656/logo.jpg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1656/logo.jpg"}, amount: %{value: "200.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T05:56:48.426366Z", service_ref_id: "SVR-20260610055648-118217"} 2026-06-10 05:56:48.426 [INFO] Sent 200 in 23ms 2026-06-10 06:05:44.771 [DEBUG] QUERY OK source="global_table" db=2.3ms idle=1032.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 06:15:44.770 [DEBUG] QUERY OK source="global_table" db=1.3ms idle=1801.0ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 06:25:44.772 [DEBUG] QUERY OK source="global_table" db=2.8ms idle=1612.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 06:28:06.242 [ERROR] MyXQL.Connection (#PID<0.619.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.243 [ERROR] MyXQL.Connection (#PID<0.625.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.243 [ERROR] MyXQL.Connection (#PID<0.624.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.243 [ERROR] MyXQL.Connection (#PID<0.618.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.243 [ERROR] MyXQL.Connection (#PID<0.626.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.243 [ERROR] MyXQL.Connection (#PID<0.622.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.243 [ERROR] MyXQL.Connection (#PID<0.620.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.251 [ERROR] MyXQL.Connection (#PID<0.624.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:06.259 [ERROR] MyXQL.Connection (#PID<0.610.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.259 [ERROR] MyXQL.Connection (#PID<0.626.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:06.259 [ERROR] MyXQL.Connection (#PID<0.622.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:06.259 [ERROR] MyXQL.Connection (#PID<0.620.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:06.259 [ERROR] MyXQL.Connection (#PID<0.605.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.260 [ERROR] MyXQL.Connection (#PID<0.612.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.260 [ERROR] MyXQL.Connection (#PID<0.609.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:06.261 [ERROR] MyXQL.Connection (#PID<0.625.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:06.264 [ERROR] MyXQL.Connection (#PID<0.619.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:06.264 [ERROR] MyXQL.Connection (#PID<0.605.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:06.264 [ERROR] MyXQL.Connection (#PID<0.612.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:06.264 [ERROR] MyXQL.Connection (#PID<0.609.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:06.266 [ERROR] MyXQL.Connection (#PID<0.610.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:06.265 [ERROR] MyXQL.Connection (#PID<0.618.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.214 [ERROR] MyXQL.Connection (#PID<0.627.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:07.215 [ERROR] MyXQL.Connection (#PID<0.623.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:07.214 [ERROR] MyXQL.Connection (#PID<0.621.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:07.239 [ERROR] MyXQL.Connection (#PID<0.627.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.245 [ERROR] MyXQL.Connection (#PID<0.621.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.246 [ERROR] MyXQL.Connection (#PID<0.623.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.262 [ERROR] MyXQL.Connection (#PID<0.608.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:07.262 [ERROR] MyXQL.Connection (#PID<0.613.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:07.263 [ERROR] MyXQL.Connection (#PID<0.607.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:07.263 [ERROR] MyXQL.Connection (#PID<0.614.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:07.263 [ERROR] MyXQL.Connection (#PID<0.606.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:07.282 [ERROR] MyXQL.Connection (#PID<0.613.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.282 [ERROR] MyXQL.Connection (#PID<0.607.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.282 [ERROR] MyXQL.Connection (#PID<0.614.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.282 [ERROR] MyXQL.Connection (#PID<0.608.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.263 [ERROR] MyXQL.Connection (#PID<0.611.0>) disconnected: ** (DBConnection.ConnectionError) socket closed 2026-06-10 06:28:07.282 [ERROR] MyXQL.Connection (#PID<0.606.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.295 [ERROR] MyXQL.Connection (#PID<0.611.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.651 [ERROR] MyXQL.Connection (#PID<0.620.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.676 [ERROR] MyXQL.Connection (#PID<0.612.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.761 [ERROR] MyXQL.Connection (#PID<0.619.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.811 [ERROR] MyXQL.Connection (#PID<0.609.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:07.848 [ERROR] MyXQL.Connection (#PID<0.605.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:08.056 [ERROR] MyXQL.Connection (#PID<0.626.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:08.231 [ERROR] MyXQL.Connection (#PID<0.618.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:08.401 [ERROR] MyXQL.Connection (#PID<0.611.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:08.496 [ERROR] MyXQL.Connection (#PID<0.621.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:08.525 [ERROR] MyXQL.Connection (#PID<0.613.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:08.529 [ERROR] MyXQL.Connection (#PID<0.622.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:08.612 [ERROR] MyXQL.Connection (#PID<0.610.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:08.674 [ERROR] MyXQL.Connection (#PID<0.614.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:08.790 [ERROR] MyXQL.Connection (#PID<0.608.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:09.106 [ERROR] MyXQL.Connection (#PID<0.625.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:09.127 [ERROR] MyXQL.Connection (#PID<0.607.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:09.166 [ERROR] MyXQL.Connection (#PID<0.624.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:09.380 [ERROR] MyXQL.Connection (#PID<0.620.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:09.585 [ERROR] MyXQL.Connection (#PID<0.606.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:09.687 [ERROR] MyXQL.Connection (#PID<0.627.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:09.958 [ERROR] MyXQL.Connection (#PID<0.623.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:09.959 [ERROR] MyXQL.Connection (#PID<0.613.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:09.993 [ERROR] MyXQL.Connection (#PID<0.612.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:10.744 [ERROR] MyXQL.Connection (#PID<0.611.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:10.859 [ERROR] MyXQL.Connection (#PID<0.609.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:11.084 [ERROR] MyXQL.Connection (#PID<0.622.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:11.156 [ERROR] MyXQL.Connection (#PID<0.621.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:11.211 [ERROR] MyXQL.Connection (#PID<0.605.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:11.823 [ERROR] MyXQL.Connection (#PID<0.608.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:11.849 [ERROR] MyXQL.Connection (#PID<0.619.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:12.009 [ERROR] MyXQL.Connection (#PID<0.614.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:12.206 [ERROR] MyXQL.Connection (#PID<0.613.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:12.378 [ERROR] MyXQL.Connection (#PID<0.607.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:12.617 [ERROR] MyXQL.Connection (#PID<0.620.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:12.631 [ERROR] MyXQL.Connection (#PID<0.626.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:12.691 [ERROR] MyXQL.Connection (#PID<0.610.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:13.085 [ERROR] MyXQL.Connection (#PID<0.618.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:13.498 [ERROR] MyXQL.Connection (#PID<0.606.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:13.843 [ERROR] MyXQL.Connection (#PID<0.623.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:13.999 [ERROR] MyXQL.Connection (#PID<0.625.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:14.186 [ERROR] MyXQL.Connection (#PID<0.622.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:14.542 [ERROR] MyXQL.Connection (#PID<0.621.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:15.941 [ERROR] MyXQL.Connection (#PID<0.612.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:16.070 [ERROR] MyXQL.Connection (#PID<0.627.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:16.870 [ERROR] MyXQL.Connection (#PID<0.624.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:16.977 [ERROR] MyXQL.Connection (#PID<0.620.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:17.568 [ERROR] MyXQL.Connection (#PID<0.611.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:28:17.722 [ERROR] MyXQL.Connection (#PID<0.607.0>) failed to connect: ** (DBConnection.ConnectionError) (localhost:3306) connection refused - :econnrefused 2026-06-10 06:35:44.770 [DEBUG] QUERY OK source="global_table" db=1.4ms idle=1453.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 06:38:27.264 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 06:38:27.264 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000002300"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000011", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 06:38:27.264 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 06:38:27.268 [DEBUG] QUERY OK source="pos_terminals" db=3.5ms idle=1884.1ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 06:38:27.268 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 06:38:27.268 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 06:38:27.270 [DEBUG] QUERY OK source="user_metadata" db=1.3ms idle=936.1ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 06:38:27.270 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 06:38:27.270 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 06:38:27.272 [DEBUG] QUERY OK source="merchant_configuration" db=1.3ms idle=937.8ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 06:38:27.273 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 06:38:27.275 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 06:38:27.275 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.275 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.275 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.275 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.275 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.275 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.275 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.276 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.277 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.277 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.277 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.277 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.277 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.282 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.283 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.283 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.283 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.283 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.283 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.283 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.283 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.283 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.286 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.286 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.286 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.286 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.287 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.287 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.287 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.287 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.287 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.287 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.288 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.288 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.288 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:38:27.289 [DEBUG] QUERY OK source="user_metadata" db=1.0ms idle=955.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 06:38:27.289 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 06:38:27.293 [DEBUG] QUERY OK source="transaction_rules" db=3.2ms idle=956.7ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 06:38:27.293 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 06:38:27.294 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610063827-330271 X-Request-Id: 83468f58-89fb-415c-969f-ca94ef6d61dd Idempotency-Key: 1171ba38-155f-4b8f-bfb1-85cab718542b Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000002300"} Transaction: %{"rrn" => "123456789001", "stan" => "000011", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 06:38:27.294 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 06:38:27.294 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 06:38:27.294 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 23.0, Rules: 0, Timestamp: 2026-06-10 06:38:27.294351Z 2026-06-10 06:38:27.294 [INFO] ALLOWED - All rules passed 2026-06-10 06:38:27.295 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 06:38:27.295 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "23.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T06:38:27.294008Z", service_ref_id: "SVR-20260610063827-330271"} 2026-06-10 06:38:27.295 [INFO] Sent 200 in 31ms 2026-06-10 06:45:44.771 [DEBUG] QUERY OK source="global_table" db=0.9ms idle=1384.2ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 06:55:44.770 [DEBUG] QUERY OK source="global_table" db=1.4ms idle=1304.3ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 06:56:54.680 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 06:56:54.681 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000002500"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000012", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 06:56:54.681 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 06:56:54.683 [DEBUG] QUERY OK source="pos_terminals" db=1.8ms queue=0.1ms idle=1168.6ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 06:56:54.683 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 06:56:54.683 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 06:56:54.685 [DEBUG] QUERY OK source="user_metadata" db=1.5ms idle=1198.2ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 06:56:54.685 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 06:56:54.685 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 06:56:54.686 [DEBUG] QUERY OK source="merchant_configuration" db=0.4ms idle=1200.1ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 06:56:54.686 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 06:56:54.687 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 06:56:54.687 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.687 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.687 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.687 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.687 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.687 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.687 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.687 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.687 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.688 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.688 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.688 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.688 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.688 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.688 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.688 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.688 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.688 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.696 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.697 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.697 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.697 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.697 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.698 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.698 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.698 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.698 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.698 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.698 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.702 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.702 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.703 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.703 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.703 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.703 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.704 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.705 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.715 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.715 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.715 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.715 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.715 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.716 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.716 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.716 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.716 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 06:56:54.717 [DEBUG] QUERY OK source="user_metadata" db=0.6ms queue=0.9ms idle=230.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 06:56:54.718 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 06:56:54.719 [DEBUG] QUERY OK source="transaction_rules" db=1.1ms idle=232.6ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 06:56:54.719 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 06:56:54.719 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610065654-095953 X-Request-Id: 81a9964e-003a-4bf0-b7b9-ef33aec2c9fa Idempotency-Key: 9c5747bc-f85d-4adf-869a-a53570ac7510 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000002500"} Transaction: %{"rrn" => "123456789001", "stan" => "000012", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 06:56:54.719 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 06:56:54.720 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 06:56:54.720 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 25.0, Rules: 0, Timestamp: 2026-06-10 06:56:54.720604Z 2026-06-10 06:56:54.724 [INFO] ALLOWED - All rules passed 2026-06-10 06:56:54.725 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 06:56:54.726 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "25.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T06:56:54.719810Z", service_ref_id: "SVR-20260610065654-095953"} 2026-06-10 06:56:54.726 [INFO] Sent 200 in 45ms 2026-06-10 07:05:44.770 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1204.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 07:15:44.770 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1057.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 07:25:44.770 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1908.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 07:29:00.612 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 07:29:00.612 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000002500"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000013", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 07:29:00.612 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 07:29:00.616 [DEBUG] QUERY OK source="pos_terminals" db=3.2ms idle=1585.4ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 07:29:00.616 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 07:29:00.616 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 07:29:00.618 [DEBUG] QUERY OK source="user_metadata" db=0.9ms idle=1681.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 07:29:00.618 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 07:29:00.618 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 07:29:00.619 [DEBUG] QUERY OK source="merchant_configuration" db=1.3ms queue=0.1ms idle=1682.4ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 07:29:00.620 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 07:29:00.620 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 07:29:00.621 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.621 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.621 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.621 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.621 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.621 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.621 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.621 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.621 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.622 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.622 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.622 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.622 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.622 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.622 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.622 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.622 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.623 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.623 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.624 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.624 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.625 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.625 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.625 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.625 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.626 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.627 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.627 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.627 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.627 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.627 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.627 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.627 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.627 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.630 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.630 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.631 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.631 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.631 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.631 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.631 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.631 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.632 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.632 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.632 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.632 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.632 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:29:00.633 [DEBUG] QUERY OK source="user_metadata" db=0.9ms idle=1696.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 07:29:00.634 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 07:29:00.635 [DEBUG] QUERY OK source="transaction_rules" db=1.1ms queue=0.1ms idle=1698.0ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 07:29:00.635 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 07:29:00.635 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610072900-231786 X-Request-Id: ab1dd84b-0d6b-438d-a67f-317127d6095e Idempotency-Key: c3a06d96-60ad-46d4-ac65-fd7cb55b411e Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000002500"} Transaction: %{"rrn" => "123456789001", "stan" => "000013", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 07:29:00.635 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 07:29:00.635 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 07:29:00.636 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 25.0, Rules: 0, Timestamp: 2026-06-10 07:29:00.636006Z 2026-06-10 07:29:00.636 [INFO] ALLOWED - All rules passed 2026-06-10 07:29:00.636 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 07:29:00.636 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "25.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T07:29:00.635652Z", service_ref_id: "SVR-20260610072900-231786"} 2026-06-10 07:29:00.636 [INFO] Sent 200 in 24ms 2026-06-10 07:35:25.919 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 07:35:25.919 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000005600"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000014", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 07:35:25.919 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 07:35:25.921 [DEBUG] QUERY OK source="pos_terminals" db=0.8ms idle=1836.4ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 07:35:25.921 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 07:35:25.921 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 07:35:25.922 [DEBUG] QUERY OK source="user_metadata" db=0.9ms queue=0.1ms idle=1916.9ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 07:35:25.922 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 07:35:25.923 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 07:35:25.924 [DEBUG] QUERY OK source="merchant_configuration" db=1.1ms idle=917.8ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 07:35:25.924 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 07:35:25.925 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 07:35:25.925 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.925 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.927 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.927 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.927 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.927 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.928 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.929 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.929 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.929 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.929 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.929 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.929 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.929 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.929 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.930 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.930 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.930 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.930 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.934 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.935 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.935 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.935 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.936 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.937 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.937 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.937 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.937 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.937 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.937 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.937 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.937 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.937 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.937 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:35:25.940 [DEBUG] QUERY OK source="user_metadata" db=0.5ms queue=0.1ms idle=934.1ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 07:35:25.940 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 07:35:25.942 [DEBUG] QUERY OK source="transaction_rules" db=1.2ms queue=0.1ms idle=935.4ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 07:35:25.942 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 07:35:25.943 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610073525-765937 X-Request-Id: b9464595-1160-4bc2-9698-0beadfaaf449 Idempotency-Key: 015962e2-4405-4678-9359-1830063a1d05 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000005600"} Transaction: %{"rrn" => "123456789001", "stan" => "000014", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 07:35:25.943 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 07:35:25.943 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 07:35:25.943 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 56.0, Rules: 0, Timestamp: 2026-06-10 07:35:25.943899Z 2026-06-10 07:35:25.944 [INFO] ALLOWED - All rules passed 2026-06-10 07:35:25.944 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 07:35:25.944 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "56.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T07:35:25.943555Z", service_ref_id: "SVR-20260610073525-765937"} 2026-06-10 07:35:25.944 [INFO] Sent 200 in 25ms 2026-06-10 07:35:44.770 [DEBUG] QUERY OK source="global_table" db=0.9ms idle=1764.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 07:41:33.325 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 07:41:33.326 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000001000"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000015", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 07:41:33.326 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 07:41:33.328 [DEBUG] QUERY OK source="pos_terminals" db=1.2ms idle=206.3ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 07:41:33.328 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 07:41:33.328 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 07:41:33.329 [DEBUG] QUERY OK source="user_metadata" db=0.3ms idle=275.7ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 07:41:33.329 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 07:41:33.329 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 07:41:33.330 [DEBUG] QUERY OK source="merchant_configuration" db=0.7ms idle=277.0ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 07:41:33.331 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 07:41:33.332 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 07:41:33.332 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.332 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.332 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.332 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.332 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.332 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.332 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.333 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.333 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.333 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.334 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.335 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.335 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.335 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.335 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.335 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.335 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.335 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.335 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.335 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.336 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.336 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.336 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.340 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.340 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.340 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.340 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.340 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.341 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.342 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.342 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.344 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.344 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.344 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.344 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.344 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:41:33.345 [DEBUG] QUERY OK source="user_metadata" db=0.5ms idle=291.7ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 07:41:33.345 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 07:41:33.346 [DEBUG] QUERY OK source="transaction_rules" db=0.5ms idle=291.6ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 07:41:33.346 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 07:41:33.346 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610074133-271660 X-Request-Id: 4bfaa448-e4d0-4dd4-abb4-3c46631d4ecc Idempotency-Key: 10170a66-092d-4386-8611-cc1765c2c7b4 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000001000"} Transaction: %{"rrn" => "123456789001", "stan" => "000015", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 07:41:33.346 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 07:41:33.346 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 07:41:33.346 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 10.0, Rules: 0, Timestamp: 2026-06-10 07:41:33.346861Z 2026-06-10 07:41:33.346 [INFO] ALLOWED - All rules passed 2026-06-10 07:41:33.346 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 07:41:33.347 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "10.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T07:41:33.346610Z", service_ref_id: "SVR-20260610074133-271660"} 2026-06-10 07:41:33.347 [INFO] Sent 200 in 22ms 2026-06-10 07:45:44.770 [DEBUG] QUERY OK source="global_table" db=0.9ms idle=1617.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 07:50:13.065 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 07:50:13.065 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000000200"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000017", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 07:50:13.065 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 07:50:13.066 [DEBUG] QUERY OK source="pos_terminals" db=0.6ms idle=1844.1ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 07:50:13.066 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 07:50:13.066 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 07:50:13.067 [DEBUG] QUERY OK source="user_metadata" db=0.5ms idle=1863.2ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 07:50:13.067 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 07:50:13.067 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 07:50:13.068 [DEBUG] QUERY OK source="merchant_configuration" db=0.9ms idle=863.3ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 07:50:13.069 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 07:50:13.069 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 07:50:13.069 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.069 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.069 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.069 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.069 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.069 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.069 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.069 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.070 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.071 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.071 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.071 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.071 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.071 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.071 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.071 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.071 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.072 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.072 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.072 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.073 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.073 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.073 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.076 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.076 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.077 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.078 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.078 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.078 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.078 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.078 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.079 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.079 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 07:50:13.080 [DEBUG] QUERY OK source="user_metadata" db=0.6ms idle=875.1ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 07:50:13.080 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 07:50:13.081 [DEBUG] QUERY OK source="transaction_rules" db=0.5ms idle=876.4ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 07:50:13.081 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 07:50:13.081 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610075013-227095 X-Request-Id: 391b3031-62f5-4996-97ec-33accf2c9974 Idempotency-Key: d2b70a1e-5e56-4ef4-98ed-9755b0bf696f Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000000200"} Transaction: %{"rrn" => "123456789001", "stan" => "000017", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 07:50:13.081 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 07:50:13.082 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 07:50:13.082 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 2.0, Rules: 0, Timestamp: 2026-06-10 07:50:13.082084Z 2026-06-10 07:50:13.082 [INFO] ALLOWED - All rules passed 2026-06-10 07:50:13.082 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 07:50:13.082 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "2.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T07:50:13.081762Z", service_ref_id: "SVR-20260610075013-227095"} 2026-06-10 07:50:13.082 [INFO] Sent 200 in 17ms 2026-06-10 07:55:44.769 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1512.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 08:05:44.770 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1454.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 08:15:44.770 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1351.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 08:25:44.771 [DEBUG] QUERY OK source="global_table" db=1.6ms idle=1281.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 08:35:44.770 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1262.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 08:45:44.770 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1232.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 08:55:44.770 [DEBUG] QUERY OK source="global_table" db=0.8ms idle=1204.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 09:05:44.770 [DEBUG] QUERY OK source="global_table" db=0.8ms idle=1090.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 09:15:44.774 [DEBUG] QUERY OK source="global_table" db=4.5ms idle=1961.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 09:25:44.771 [DEBUG] QUERY OK source="global_table" db=1.4ms idle=1820.9ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 09:35:44.771 [DEBUG] QUERY OK source="global_table" db=2.4ms idle=1739.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 09:45:44.770 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1639.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 09:55:44.770 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1574.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 09:58:49.354 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 09:58:49.357 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000005600"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000018", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 09:58:49.358 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 09:58:49.366 [DEBUG] QUERY OK source="pos_terminals" db=7.7ms idle=1175.9ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 09:58:49.366 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 09:58:49.367 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 09:58:49.368 [DEBUG] QUERY OK source="user_metadata" db=1.4ms idle=1153.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 09:58:49.368 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 09:58:49.368 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 09:58:49.371 [DEBUG] QUERY OK source="merchant_configuration" db=2.0ms idle=1155.1ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 09:58:49.371 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 09:58:49.371 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 09:58:49.371 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.371 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.371 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.371 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.371 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.372 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.372 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.372 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.372 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.392 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.392 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.392 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.392 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.392 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.392 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.392 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.392 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.392 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.401 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.401 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.401 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.403 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.403 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.403 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.403 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.413 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.446 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.447 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.447 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.447 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.447 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.447 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.447 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.447 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.447 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.447 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.448 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.469 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.469 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.469 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.469 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.469 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.469 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.469 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.469 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.485 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.487 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.487 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.487 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.487 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.487 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.487 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.488 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.488 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.488 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.488 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.488 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:58:49.495 [DEBUG] QUERY OK source="user_metadata" db=1.0ms queue=1.9ms idle=1278.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 09:58:49.496 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 09:58:49.499 [DEBUG] QUERY OK source="transaction_rules" db=2.2ms queue=0.9ms idle=1282.5ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 09:58:49.499 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 09:58:49.500 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610095849-112473 X-Request-Id: a74bce34-7eb7-4839-8c6e-c7dfb2024a6e Idempotency-Key: c7eea911-707a-4f70-8967-95e6f7a6376b Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000005600"} Transaction: %{"rrn" => "123456789001", "stan" => "000018", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 09:58:49.500 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 09:58:49.502 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 09:58:49.503 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 56.0, Rules: 0, Timestamp: 2026-06-10 09:58:49.503616Z 2026-06-10 09:58:49.503 [INFO] ALLOWED - All rules passed 2026-06-10 09:58:49.503 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 09:58:49.505 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "56.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T09:58:49.500005Z", service_ref_id: "SVR-20260610095849-112473"} 2026-06-10 09:58:49.505 [INFO] Sent 200 in 150ms 2026-06-10 09:59:05.363 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 09:59:05.363 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000000100"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000019", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 09:59:05.363 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 09:59:05.367 [DEBUG] QUERY OK source="pos_terminals" db=2.4ms queue=0.5ms idle=1176.1ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 09:59:05.367 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 09:59:05.367 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 09:59:05.368 [DEBUG] QUERY OK source="user_metadata" db=0.9ms queue=0.1ms idle=1150.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 09:59:05.369 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 09:59:05.369 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 09:59:05.371 [DEBUG] QUERY OK source="merchant_configuration" db=0.9ms idle=155.4ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 09:59:05.371 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 09:59:05.372 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 09:59:05.372 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.372 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.372 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.372 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.373 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.373 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.373 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.373 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.373 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.373 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.373 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.374 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.374 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.374 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.374 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.374 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.374 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.374 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.376 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.380 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.381 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.389 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.390 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.390 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.390 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.390 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.393 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.394 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.394 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.394 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.394 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.394 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.395 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.395 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.395 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.395 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.396 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.401 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.401 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.402 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.402 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.402 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.402 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.402 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.402 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.402 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.402 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 09:59:05.405 [DEBUG] QUERY OK source="user_metadata" db=2.9ms idle=187.9ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 09:59:05.405 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 09:59:05.407 [DEBUG] QUERY OK source="transaction_rules" db=1.2ms idle=191.3ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 09:59:05.407 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 09:59:05.407 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610095905-679185 X-Request-Id: a43ef1d0-2a29-456b-91cf-26d2299988c7 Idempotency-Key: b99f1cb4-4070-4582-9026-6dd232191186 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000000100"} Transaction: %{"rrn" => "123456789001", "stan" => "000019", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 09:59:05.407 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 09:59:05.408 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 09:59:05.408 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 1.0, Rules: 0, Timestamp: 2026-06-10 09:59:05.408096Z 2026-06-10 09:59:05.408 [INFO] ALLOWED - All rules passed 2026-06-10 09:59:05.408 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 09:59:05.408 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "1.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T09:59:05.407803Z", service_ref_id: "SVR-20260610095905-679185"} 2026-06-10 09:59:05.408 [INFO] Sent 200 in 45ms 2026-06-10 10:05:44.771 [DEBUG] QUERY OK source="global_table" db=1.9ms idle=1504.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 10:15:44.770 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1423.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 10:25:44.772 [DEBUG] QUERY OK source="global_table" db=2.9ms idle=1283.9ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 10:35:44.771 [DEBUG] QUERY OK source="global_table" db=1.7ms idle=1252.3ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 10:45:44.769 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1207.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 10:55:44.770 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1120.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 11:05:44.769 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1044.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 11:09:44.803 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 11:09:44.804 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000000500"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000020", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 11:09:44.804 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 11:09:44.808 [DEBUG] QUERY OK source="pos_terminals" db=3.6ms idle=1159.6ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 11:09:44.808 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 11:09:44.808 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 11:09:44.809 [DEBUG] QUERY OK source="user_metadata" db=0.9ms idle=1074.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 11:09:44.809 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 11:09:44.809 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 11:09:44.811 [DEBUG] QUERY OK source="merchant_configuration" db=1.2ms idle=1076.1ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 11:09:44.811 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 11:09:44.811 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 11:09:44.811 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.812 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.813 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.813 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.813 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.815 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.815 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.816 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.817 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.817 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.818 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.818 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.818 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.818 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.818 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.818 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.818 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.818 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.819 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.819 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.819 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.819 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.819 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.819 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.822 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.823 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.823 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.823 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.823 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.824 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.824 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.824 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.824 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.824 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.824 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:09:44.826 [DEBUG] QUERY OK source="user_metadata" db=2.0ms idle=1090.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 11:09:44.826 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 11:09:44.828 [DEBUG] QUERY OK source="transaction_rules" db=1.2ms idle=1093.0ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 11:09:44.828 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 11:09:44.829 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610110944-196318 X-Request-Id: 322590be-a4ad-49f6-9b91-e40cc78a754a Idempotency-Key: 3cf21d4a-7b72-4ffe-ba16-fc18a9aabf86 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000000500"} Transaction: %{"rrn" => "123456789001", "stan" => "000020", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 11:09:44.829 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 11:09:44.829 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 11:09:44.829 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 5.0, Rules: 0, Timestamp: 2026-06-10 11:09:44.829653Z 2026-06-10 11:09:44.829 [INFO] ALLOWED - All rules passed 2026-06-10 11:09:44.829 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 11:09:44.829 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "5.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T11:09:44.829374Z", service_ref_id: "SVR-20260610110944-196318"} 2026-06-10 11:09:44.830 [INFO] Sent 200 in 26ms 2026-06-10 11:15:44.769 [DEBUG] QUERY OK source="global_table" db=0.4ms idle=7.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 11:25:44.770 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1936.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 11:35:44.770 [DEBUG] QUERY OK source="global_table" db=0.8ms idle=1890.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 11:40:17.919 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 11:40:17.920 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000003600"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000021", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 11:40:17.920 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 11:40:17.926 [DEBUG] QUERY OK source="pos_terminals" db=4.8ms idle=1104.0ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 11:40:17.926 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 11:40:17.926 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 11:40:17.927 [DEBUG] QUERY OK source="user_metadata" db=1.1ms idle=1008.5ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 11:40:17.927 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 11:40:17.927 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 11:40:17.929 [DEBUG] QUERY OK source="merchant_configuration" db=0.7ms idle=1010.2ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 11:40:17.929 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 11:40:17.929 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 11:40:17.930 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.930 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.930 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.930 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.930 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.930 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.930 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.930 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.930 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.931 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.931 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.931 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.931 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.931 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.931 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.931 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.931 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.932 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.935 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.936 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.936 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.936 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.936 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.937 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.937 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.938 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.938 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.939 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.939 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.939 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.939 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.939 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.939 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.939 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.940 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.940 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.940 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.940 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.940 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.941 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.941 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.941 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.941 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.941 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.941 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.941 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:40:17.942 [DEBUG] QUERY OK source="user_metadata" db=0.5ms idle=1023.9ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 11:40:17.942 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 11:40:17.944 [DEBUG] QUERY OK source="transaction_rules" db=1.4ms idle=1024.7ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 11:40:17.944 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 11:40:17.944 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610114017-431104 X-Request-Id: 4d72be08-73bb-424f-b5c0-aa90cfd71a98 Idempotency-Key: 691247cd-32c4-4efd-8391-6d9a600839bb Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000003600"} Transaction: %{"rrn" => "123456789001", "stan" => "000021", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 11:40:17.945 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 11:40:17.945 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 11:40:17.945 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 36.0, Rules: 0, Timestamp: 2026-06-10 11:40:17.945344Z 2026-06-10 11:40:17.945 [INFO] ALLOWED - All rules passed 2026-06-10 11:40:17.945 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 11:40:17.945 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "36.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T11:40:17.944922Z", service_ref_id: "SVR-20260610114017-431104"} 2026-06-10 11:40:17.945 [INFO] Sent 200 in 26ms 2026-06-10 11:41:31.835 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 11:41:31.835 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000003700"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000022", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 11:41:31.835 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 11:41:31.838 [DEBUG] QUERY OK source="pos_terminals" db=1.9ms idle=1012.4ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 11:41:31.838 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 11:41:31.838 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 11:41:31.841 [DEBUG] QUERY OK source="user_metadata" db=1.0ms idle=1888.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 11:41:31.841 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 11:41:31.842 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 11:41:31.842 [DEBUG] QUERY OK source="merchant_configuration" db=0.4ms idle=1890.4ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 11:41:31.842 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 11:41:31.843 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 11:41:31.843 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.844 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.844 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.844 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.844 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.844 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.844 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.844 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.844 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.844 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.844 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.845 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.845 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.845 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.845 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.845 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.845 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.845 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.847 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.847 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.847 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.847 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.847 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.847 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.847 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.847 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.848 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.849 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.849 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.850 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.850 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.850 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.851 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.851 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.851 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.851 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.851 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.851 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.851 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.852 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.852 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.852 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.852 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.852 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.853 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.860 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.860 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.860 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.860 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.861 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.861 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.861 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.861 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.861 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.861 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.861 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.861 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:41:31.862 [DEBUG] QUERY OK source="user_metadata" db=0.8ms idle=1909.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 11:41:31.862 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 11:41:31.863 [DEBUG] QUERY OK source="transaction_rules" db=1.0ms idle=1910.9ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 11:41:31.864 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 11:41:31.864 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610114131-529383 X-Request-Id: 008e95b8-56e3-47cf-85cc-c8c0f9cf91ca Idempotency-Key: 94cf7b5e-e833-4144-ba65-46e71d71e51a Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000003700"} Transaction: %{"rrn" => "123456789001", "stan" => "000022", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 11:41:31.864 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 11:41:31.864 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 11:41:31.864 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 37.0, Rules: 0, Timestamp: 2026-06-10 11:41:31.864383Z 2026-06-10 11:41:31.864 [INFO] ALLOWED - All rules passed 2026-06-10 11:41:31.864 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 11:41:31.864 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "37.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T11:41:31.864145Z", service_ref_id: "SVR-20260610114131-529383"} 2026-06-10 11:41:31.864 [INFO] Sent 200 in 29ms 2026-06-10 11:45:44.770 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1775.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 11:51:11.695 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 11:51:11.695 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000005700"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000023", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 11:51:11.695 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 11:51:11.697 [DEBUG] QUERY OK source="pos_terminals" db=1.3ms idle=1768.0ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 11:51:11.697 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 11:51:11.697 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 11:51:11.698 [DEBUG] QUERY OK source="user_metadata" db=0.3ms idle=1657.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 11:51:11.698 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 11:51:11.698 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 11:51:11.699 [DEBUG] QUERY OK source="merchant_configuration" db=0.3ms idle=1657.6ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 11:51:11.699 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 11:51:11.699 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 11:51:11.699 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.700 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.700 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.701 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.701 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.701 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.701 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.701 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.701 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.702 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.702 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.702 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.702 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.702 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.702 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.702 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.702 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.702 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.703 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.703 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.703 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.703 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.703 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.703 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.703 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.703 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.704 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.704 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.704 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.704 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.704 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.704 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.705 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.705 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.705 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.705 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.705 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.705 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.705 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.705 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.705 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.706 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.706 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.706 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.706 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.706 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.706 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.707 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.707 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.707 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.708 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.708 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.708 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.708 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.708 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.708 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.708 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 11:51:11.710 [DEBUG] QUERY OK source="user_metadata" db=0.4ms idle=1668.5ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 11:51:11.710 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 11:51:11.711 [DEBUG] QUERY OK source="transaction_rules" db=0.7ms idle=1670.0ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 11:51:11.711 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 11:51:11.712 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610115111-855199 X-Request-Id: 051bd560-0d41-4a74-82fd-b404a7ac3479 Idempotency-Key: 758a6710-b7b3-4db1-9b2d-4fe50f676e71 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000005700"} Transaction: %{"rrn" => "123456789001", "stan" => "000023", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 11:51:11.712 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 11:51:11.712 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 11:51:11.712 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 57.0, Rules: 0, Timestamp: 2026-06-10 11:51:11.712682Z 2026-06-10 11:51:11.712 [INFO] ALLOWED - All rules passed 2026-06-10 11:51:11.712 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 11:51:11.712 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "57.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T11:51:11.712292Z", service_ref_id: "SVR-20260610115111-855199"} 2026-06-10 11:51:11.713 [INFO] Sent 200 in 17ms 2026-06-10 11:55:44.770 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1705.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 12:01:02.302 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 12:01:02.303 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000002300"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000024", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 12:01:02.303 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 12:01:02.325 [DEBUG] QUERY OK source="pos_terminals" db=5.8ms idle=1331.7ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 12:01:02.326 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 12:01:02.326 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 12:01:02.344 [DEBUG] QUERY OK source="user_metadata" db=5.0ms idle=1243.2ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 12:01:02.344 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 12:01:02.344 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 12:01:02.357 [DEBUG] QUERY OK source="merchant_configuration" db=5.4ms queue=4.1ms idle=1251.6ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 12:01:02.358 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 12:01:02.358 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 12:01:02.372 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.372 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.384 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.384 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.384 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.386 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.386 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.386 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.386 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.386 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.387 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.387 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.387 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.387 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.387 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.407 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.417 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.417 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.418 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.418 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.420 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.420 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.420 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.420 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.421 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.421 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.421 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.421 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.462 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.462 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.462 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.462 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.462 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.462 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.462 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.462 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.462 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.462 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.463 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.463 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.463 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.463 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.463 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.479 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.483 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.483 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.483 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.484 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.484 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.484 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.504 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.505 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.505 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.505 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.505 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.505 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.505 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:02.507 [DEBUG] QUERY OK source="user_metadata" db=0.5ms queue=0.1ms idle=1409.4ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 12:01:02.507 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 12:01:02.515 [DEBUG] QUERY OK source="transaction_rules" db=7.3ms idle=1410.5ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 12:01:02.515 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 12:01:02.517 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610120102-667825 X-Request-Id: 05949582-78b3-4761-9ccc-5e150246b081 Idempotency-Key: 218a09b7-4191-4bbf-ba79-30b92fc405fd Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000002300"} Transaction: %{"rrn" => "123456789001", "stan" => "000024", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 12:01:02.517 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 12:01:02.517 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 12:01:02.517 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 23.0, Rules: 0, Timestamp: 2026-06-10 12:01:02.517630Z 2026-06-10 12:01:02.517 [INFO] ALLOWED - All rules passed 2026-06-10 12:01:02.517 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 12:01:02.517 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "23.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T12:01:02.517300Z", service_ref_id: "SVR-20260610120102-667825"} 2026-06-10 12:01:02.518 [INFO] Sent 200 in 215ms 2026-06-10 12:01:03.160 [INFO] POST /v1/transaction-rules/evaluate 2026-06-10 12:01:03.164 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000002300"}, "bin" => "516640", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000024", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-10 12:01:03.166 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-10 12:01:03.171 [DEBUG] QUERY OK source="pos_terminals" db=2.0ms idle=842.9ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-10 12:01:03.171 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-10 12:01:03.171 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-10 12:01:03.173 [DEBUG] QUERY OK source="user_metadata" db=1.1ms idle=1074.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-10 12:01:03.173 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-10 12:01:03.174 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-10 12:01:03.180 [DEBUG] QUERY OK source="merchant_configuration" db=6.5ms idle=1075.5ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-10 12:01:03.181 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-10 12:01:03.181 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-10 12:01:03.181 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.181 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.181 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.181 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.181 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.181 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.182 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.182 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.182 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.182 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.182 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.196 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.198 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.203 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.204 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.205 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.205 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.205 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.205 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.210 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.210 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.211 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.215 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.215 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.215 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.215 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.215 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.215 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.215 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.215 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.215 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.215 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.216 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.216 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.216 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.216 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.216 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.216 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.237 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.237 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.237 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.237 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.237 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.237 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.238 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.261 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.261 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-10 12:01:03.284 [DEBUG] QUERY OK source="user_metadata" db=4.2ms queue=18.6ms idle=1079.2ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-10 12:01:03.284 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-10 12:01:03.286 [DEBUG] QUERY OK source="transaction_rules" db=1.4ms idle=997.4ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-10 12:01:03.286 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-10 12:01:03.286 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260610120103-879445 X-Request-Id: 05949582-78b3-4761-9ccc-5e150246b081 Idempotency-Key: 218a09b7-4191-4bbf-ba79-30b92fc405fd Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000002300"} Transaction: %{"rrn" => "123456789001", "stan" => "000024", "type" => "PURCHASE"} Rules Found: 0 2026-06-10 12:01:03.287 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-10 12:01:03.287 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-10 12:01:03.301 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 23.0, Rules: 0, Timestamp: 2026-06-10 12:01:03.287137Z 2026-06-10 12:01:03.301 [INFO] ALLOWED - All rules passed 2026-06-10 12:01:03.307 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-10 12:01:03.307 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "23.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-10T12:01:03.286891Z", service_ref_id: "SVR-20260610120103-879445"} 2026-06-10 12:01:03.307 [INFO] Sent 200 in 147ms 2026-06-10 12:05:44.770 [DEBUG] QUERY OK source="global_table" db=0.4ms idle=1659.9ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 12:15:44.770 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1598.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 12:25:44.770 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1566.9ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 12:35:44.769 [DEBUG] QUERY OK source="global_table" db=0.4ms idle=1544.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 12:45:44.770 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1489.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 12:55:44.770 [DEBUG] QUERY OK source="global_table" db=0.8ms idle=1392.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 13:05:44.770 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1310.0ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 13:15:44.770 [DEBUG] QUERY OK source="global_table" db=1.0ms queue=0.2ms idle=1232.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 13:25:44.770 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1158.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 13:35:44.769 [DEBUG] QUERY OK source="global_table" db=0.4ms idle=1100.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 13:45:44.769 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1086.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 13:55:44.771 [DEBUG] QUERY OK source="global_table" db=2.0ms idle=1026.1ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 14:05:44.769 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1012.0ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 14:15:44.770 [DEBUG] QUERY OK source="global_table" db=0.9ms queue=0.2ms idle=999.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 14:25:44.769 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1981.2ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 14:35:44.770 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1959.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 14:45:44.771 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1941.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 14:55:44.770 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1914.2ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 15:05:44.770 [DEBUG] QUERY OK source="global_table" db=0.9ms idle=1896.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 15:15:44.770 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1870.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 15:25:44.770 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1856.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 15:35:44.770 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1825.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 15:45:44.770 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1802.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 15:55:44.770 [DEBUG] QUERY OK source="global_table" db=0.8ms idle=1787.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 16:05:44.770 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1777.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 16:15:44.770 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1753.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 16:25:44.769 [DEBUG] QUERY OK source="global_table" db=0.4ms idle=1726.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 16:35:44.770 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1710.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-10 16:45:44.769 [DEBUG] QUERY OK source="global_table" db=0.4ms idle=1692.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 07:04:28.724 [DEBUG] QUERY OK source="global_table" db=0.4ms decode=5.7ms queue=61.7ms idle=0.0ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 07:04:28.862 [INFO] Running DaProductAppWeb.Endpoint with Bandit 1.6.7 at 0.0.0.0:14777 (http) 2026-06-11 07:04:28.873 [INFO] Access DaProductAppWeb.Endpoint at http://localhost:14777 2026-06-11 07:04:28.878 [INFO] Device phoenix_client_node_megha1 connected 2026-06-11 07:14:28.749 [DEBUG] QUERY OK source="global_table" db=1.2ms idle=1043.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 07:24:28.749 [DEBUG] QUERY OK source="global_table" db=1.4ms idle=1962.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 07:34:28.748 [DEBUG] QUERY OK source="global_table" db=0.9ms idle=1910.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 07:44:28.748 [DEBUG] QUERY OK source="global_table" db=0.8ms idle=1835.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 07:54:28.749 [DEBUG] QUERY OK source="global_table" db=1.2ms idle=1799.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 08:00:59.394 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 08:00:59.434 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "782", "value" => "000000020000"}, "bin" => "555942", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000053", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 08:00:59.451 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-11 08:00:59.465 [DEBUG] QUERY OK source="pos_terminals" db=0.8ms queue=0.6ms idle=1522.6ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 08:00:59.467 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-11 08:00:59.467 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-11 08:00:59.468 [DEBUG] QUERY OK source="user_metadata" db=0.3ms queue=0.5ms idle=1493.1ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 08:00:59.468 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-11 08:00:59.468 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-11 08:00:59.469 [DEBUG] QUERY OK source="merchant_configuration" db=0.4ms queue=0.3ms idle=1494.5ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 08:00:59.470 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 08:00:59.470 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 08:00:59.470 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.470 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.470 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.471 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.471 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.471 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.471 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.471 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.472 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.472 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.472 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.472 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.472 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.472 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.472 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.472 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.472 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.472 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.473 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.473 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.473 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.473 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.473 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.475 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.476 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.476 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.476 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.476 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.476 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.476 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.477 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.478 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.478 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.478 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.478 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.478 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.478 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.479 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.479 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.479 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.479 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.479 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.479 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.479 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.479 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.479 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.479 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:00:59.483 [DEBUG] QUERY OK source="user_metadata" db=3.1ms idle=1505.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 08:00:59.483 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-11 08:00:59.494 [DEBUG] QUERY OK source="transaction_rules" db=0.7ms queue=0.7ms idle=1518.5ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 08:00:59.494 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-11 08:00:59.495 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611080059-532386 X-Request-Id: 93922fe8-53f6-4711-929e-145c82e6b12f Idempotency-Key: ba048920-c5c4-484e-af58-5e3c1d010740 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "782", "value" => "000000020000"} Transaction: %{"stan" => "000053", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 08:00:59.495 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 08:00:59.495 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 08:00:59.499 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 200.0, Rules: 0, Timestamp: 2026-06-11 08:00:59.495494Z 2026-06-11 08:00:59.499 [INFO] ALLOWED - All rules passed 2026-06-11 08:00:59.499 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 08:00:59.500 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "200.00", currency: "XXX"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T08:00:59.495180Z", service_ref_id: "SVR-20260611080059-532386"} 2026-06-11 08:00:59.508 [INFO] Sent 200 in 113ms 2026-06-11 08:02:31.805 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 08:02:31.805 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000002500"}, "bin" => "555942", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000054", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 08:02:31.805 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-11 08:02:31.807 [DEBUG] QUERY OK source="pos_terminals" db=1.2ms idle=1851.6ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 08:02:31.807 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-11 08:02:31.807 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-11 08:02:31.809 [DEBUG] QUERY OK source="user_metadata" db=1.4ms queue=0.1ms idle=1827.5ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 08:02:31.809 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-11 08:02:31.809 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-11 08:02:31.810 [DEBUG] QUERY OK source="merchant_configuration" db=0.9ms idle=1829.5ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 08:02:31.811 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 08:02:31.812 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 08:02:31.812 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.812 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.813 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.813 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.813 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.813 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.814 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.815 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.816 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.816 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.816 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.816 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.816 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.816 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.816 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.816 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.816 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.816 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.817 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.820 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.820 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.821 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.821 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.821 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.821 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.821 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.821 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.821 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.821 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.821 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.821 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.822 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.822 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.822 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 08:02:31.824 [DEBUG] QUERY OK source="user_metadata" db=1.6ms idle=1842.1ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 08:02:31.824 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-11 08:02:31.825 [DEBUG] QUERY OK source="transaction_rules" db=1.0ms idle=844.6ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 08:02:31.825 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-11 08:02:31.825 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611080231-163104 X-Request-Id: 78797769-005b-4e6d-a845-385ae47ec09c Idempotency-Key: 3861ae4c-ae35-4874-9297-2c7ca10ef969 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000002500"} Transaction: %{"stan" => "000054", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 08:02:31.825 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 08:02:31.826 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 08:02:31.826 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 25.0, Rules: 0, Timestamp: 2026-06-11 08:02:31.826125Z 2026-06-11 08:02:31.826 [INFO] ALLOWED - All rules passed 2026-06-11 08:02:31.826 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 08:02:31.826 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "25.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T08:02:31.825883Z", service_ref_id: "SVR-20260611080231-163104"} 2026-06-11 08:02:31.826 [INFO] Sent 200 in 21ms 2026-06-11 08:04:28.748 [DEBUG] QUERY OK source="global_table" db=0.8ms idle=1748.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 08:14:28.748 [DEBUG] QUERY OK source="global_table" db=1.0ms idle=1712.1ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 08:24:28.748 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1689.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 08:34:28.748 [DEBUG] QUERY OK source="global_table" db=0.9ms idle=1656.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 08:44:28.748 [DEBUG] QUERY OK source="global_table" db=1.1ms idle=1604.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 08:54:28.748 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1533.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 09:04:28.748 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1462.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 09:14:28.748 [DEBUG] QUERY OK source="global_table" db=0.9ms idle=1369.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 09:14:42.736 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 09:14:42.736 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "782", "value" => "000000002300"}, "bin" => "555942", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000055", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 09:14:42.736 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-11 09:14:42.738 [DEBUG] QUERY OK source="pos_terminals" db=0.9ms idle=1343.4ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 09:14:42.738 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-11 09:14:42.738 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-11 09:14:42.739 [DEBUG] QUERY OK source="user_metadata" db=0.3ms idle=1344.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 09:14:42.739 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-11 09:14:42.739 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-11 09:14:42.741 [DEBUG] QUERY OK source="merchant_configuration" db=1.5ms idle=1344.7ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 09:14:42.741 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 09:14:42.741 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 09:14:42.742 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.742 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.742 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.742 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.743 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.743 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.743 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.743 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.743 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.743 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.743 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.744 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.744 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.753 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.753 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.753 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.754 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.754 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.754 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.754 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.754 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.754 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.754 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.754 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.754 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.754 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.755 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.755 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.755 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.755 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.755 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.755 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.755 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.755 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.776 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.776 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.777 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.778 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.778 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.778 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.778 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.778 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.779 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.780 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.780 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.787 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:14:42.791 [DEBUG] QUERY OK source="user_metadata" db=2.0ms queue=1.2ms idle=390.9ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 09:14:42.791 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-11 09:14:42.794 [DEBUG] QUERY OK source="transaction_rules" db=3.0ms queue=0.1ms idle=394.5ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 09:14:42.794 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-11 09:14:42.794 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611091442-553570 X-Request-Id: a9bb65f9-d4a7-4099-8cef-f917689575bc Idempotency-Key: ad3050e8-f002-4afb-8682-aa0d539cbfde Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "782", "value" => "000000002300"} Transaction: %{"stan" => "000055", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 09:14:42.794 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 09:14:42.795 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 09:14:42.795 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 23.0, Rules: 0, Timestamp: 2026-06-11 09:14:42.795121Z 2026-06-11 09:14:42.795 [INFO] ALLOWED - All rules passed 2026-06-11 09:14:42.795 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 09:14:42.800 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "23.00", currency: "XXX"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T09:14:42.794848Z", service_ref_id: "SVR-20260611091442-553570"} 2026-06-11 09:14:42.800 [INFO] Sent 200 in 63ms 2026-06-11 09:24:28.749 [DEBUG] QUERY OK source="global_table" db=1.3ms idle=1221.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 09:25:02.606 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 09:25:02.607 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "782", "value" => "000000003300"}, "bin" => "555942", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000056", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 09:25:02.607 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-11 09:25:02.619 [DEBUG] QUERY OK source="pos_terminals" db=11.4ms idle=1042.5ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 09:25:02.619 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-11 09:25:02.619 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-11 09:25:02.628 [DEBUG] QUERY OK source="user_metadata" db=8.6ms idle=1092.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 09:25:02.628 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-11 09:25:02.628 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-11 09:25:02.644 [DEBUG] QUERY OK source="merchant_configuration" db=14.9ms idle=1101.2ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 09:25:02.646 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 09:25:02.647 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 09:25:02.647 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.647 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.647 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.647 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.647 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.647 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.647 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.647 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.647 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.647 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.648 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.648 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.648 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.666 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.666 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.666 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.666 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.666 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.666 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.667 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.667 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.667 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.667 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.667 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.667 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.700 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.700 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.700 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.700 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.701 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.702 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.702 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.800 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.801 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:02.831 [DEBUG] QUERY OK source="user_metadata" db=29.6ms idle=308.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 09:25:02.831 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-11 09:25:02.857 [DEBUG] QUERY OK source="transaction_rules" db=20.4ms idle=301.9ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 09:25:02.858 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-11 09:25:02.858 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611092502-272586 X-Request-Id: a596253a-e2a9-40eb-92f3-d90a150614e0 Idempotency-Key: 6f8df1b7-2e41-47e0-8bce-6eded2fa9111 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "782", "value" => "000000003300"} Transaction: %{"stan" => "000056", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 09:25:02.858 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 09:25:02.858 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 09:25:02.858 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 33.0, Rules: 0, Timestamp: 2026-06-11 09:25:02.858630Z 2026-06-11 09:25:02.858 [INFO] ALLOWED - All rules passed 2026-06-11 09:25:02.858 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 09:25:02.858 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "33.00", currency: "XXX"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T09:25:02.858308Z", service_ref_id: "SVR-20260611092502-272586"} 2026-06-11 09:25:02.859 [INFO] Sent 200 in 252ms 2026-06-11 09:25:03.628 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 09:25:03.630 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "782", "value" => "000000003300"}, "bin" => "555942", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000056", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 09:25:03.630 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-11 09:25:03.638 [DEBUG] QUERY OK source="pos_terminals" db=8.0ms idle=1064.4ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 09:25:03.640 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-11 09:25:03.640 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-11 09:25:03.643 [DEBUG] QUERY OK source="user_metadata" db=0.8ms queue=0.1ms idle=1112.5ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 09:25:03.643 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-11 09:25:03.645 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-11 09:25:03.651 [DEBUG] QUERY OK source="merchant_configuration" db=5.9ms idle=1115.7ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 09:25:03.652 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 09:25:03.652 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 09:25:03.652 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.652 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.666 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.667 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.667 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.667 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.667 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.667 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.688 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.689 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.693 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.693 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.693 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.694 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.694 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.694 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.694 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.694 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.694 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.694 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.694 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.694 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.694 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.725 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.725 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.730 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.730 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.730 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.730 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.730 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.730 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.730 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.730 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.730 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.731 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.731 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.731 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.731 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.731 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.731 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.731 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.731 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.731 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.731 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.743 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.743 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:03.746 [DEBUG] QUERY OK source="user_metadata" db=2.8ms idle=1211.4ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 09:25:03.747 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-11 09:25:03.749 [DEBUG] QUERY OK source="transaction_rules" db=2.6ms idle=1141.4ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 09:25:03.750 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-11 09:25:03.750 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611092503-317381 X-Request-Id: a596253a-e2a9-40eb-92f3-d90a150614e0 Idempotency-Key: 6f8df1b7-2e41-47e0-8bce-6eded2fa9111 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "782", "value" => "000000003300"} Transaction: %{"stan" => "000056", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 09:25:03.768 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 09:25:03.787 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 09:25:03.787 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 33.0, Rules: 0, Timestamp: 2026-06-11 09:25:03.787266Z 2026-06-11 09:25:03.787 [INFO] ALLOWED - All rules passed 2026-06-11 09:25:03.790 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 09:25:03.790 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "33.00", currency: "XXX"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T09:25:03.750300Z", service_ref_id: "SVR-20260611092503-317381"} 2026-06-11 09:25:03.790 [INFO] Sent 200 in 161ms 2026-06-11 09:25:50.509 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 09:25:50.512 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "782", "value" => "000000005600"}, "bin" => "555942", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000057", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 09:25:50.512 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-11 09:25:50.513 [DEBUG] QUERY OK source="pos_terminals" db=0.8ms idle=1934.0ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 09:25:50.513 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-11 09:25:50.514 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-11 09:25:50.514 [DEBUG] QUERY OK source="user_metadata" db=0.5ms idle=1942.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 09:25:50.514 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-11 09:25:50.515 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-11 09:25:50.518 [DEBUG] QUERY OK source="merchant_configuration" db=2.8ms idle=1943.9ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 09:25:50.519 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 09:25:50.520 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 09:25:50.521 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.521 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.522 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.522 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.523 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.523 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.524 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.524 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.524 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.525 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.525 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.526 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.526 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.526 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.527 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.527 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.527 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.527 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.527 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.527 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.527 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.528 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.528 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.528 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.528 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.528 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.528 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.528 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.531 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.531 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.531 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.532 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.533 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.533 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.533 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.533 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.533 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.533 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.545 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.545 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.545 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.545 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.545 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.545 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.546 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.546 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.546 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-11 09:25:50.546 [DEBUG] QUERY OK source="user_metadata" db=0.5ms idle=985.2ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 09:25:50.547 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-11 09:25:50.548 [DEBUG] QUERY OK source="transaction_rules" db=0.9ms idle=986.1ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 09:25:50.548 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-11 09:25:50.549 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611092550-499564 X-Request-Id: 63eecd31-b594-41b7-9c5e-33e56565fadf Idempotency-Key: f6130ae2-12dc-4dd0-b85b-0baeaa71ce54 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "782", "value" => "000000005600"} Transaction: %{"stan" => "000057", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 09:25:50.549 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 09:25:50.551 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 09:25:50.551 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 56.0, Rules: 0, Timestamp: 2026-06-11 09:25:50.551172Z 2026-06-11 09:25:50.551 [INFO] ALLOWED - All rules passed 2026-06-11 09:25:50.551 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 09:25:50.551 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "56.00", currency: "XXX"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T09:25:50.549219Z", service_ref_id: "SVR-20260611092550-499564"} 2026-06-11 09:25:50.551 [INFO] Sent 200 in 41ms 2026-06-11 09:34:28.749 [DEBUG] QUERY OK source="global_table" db=1.3ms idle=1020.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 09:44:34.473 [DEBUG] QUERY OK source="global_table" db=0.5ms decode=13.7ms queue=91.6ms idle=0.0ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 09:44:34.623 [INFO] Running DaProductAppWeb.Endpoint with Bandit 1.6.7 at 0.0.0.0:14777 (http) 2026-06-11 09:44:34.628 [INFO] Device phoenix_client_node_megha1 connected 2026-06-11 09:44:34.637 [INFO] Access DaProductAppWeb.Endpoint at http://localhost:14777 2026-06-11 09:54:34.498 [DEBUG] QUERY OK source="global_table" db=3.6ms idle=1032.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 10:04:34.492 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1962.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 10:14:34.494 [DEBUG] QUERY OK source="global_table" db=1.3ms idle=1878.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 10:24:34.492 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1773.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 10:34:34.492 [DEBUG] QUERY OK source="global_table" db=0.8ms idle=1737.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 10:41:51.404 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 10:41:51.439 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000000023"}, "bin" => "401704", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000033", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 10:41:51.456 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-11 10:41:51.470 [DEBUG] QUERY OK source="pos_terminals" db=0.5ms queue=0.5ms idle=1683.8ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 10:41:51.472 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-11 10:41:51.472 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-11 10:41:51.473 [DEBUG] QUERY OK source="user_metadata" db=0.4ms queue=0.4ms idle=1702.2ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 10:41:51.473 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-11 10:41:51.473 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-11 10:41:51.474 [DEBUG] QUERY OK source="merchant_configuration" db=0.5ms queue=0.3ms idle=1703.5ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 10:41:51.475 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 10:41:51.475 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 10:41:51.475 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.475 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.475 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.475 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.475 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.475 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.475 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.476 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.476 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.476 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.477 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.478 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.478 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.478 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.478 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.478 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.478 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.478 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.478 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.479 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.480 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.480 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.480 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.481 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.481 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.481 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.481 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.481 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.481 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.481 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.481 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.481 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.482 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:41:51.483 [DEBUG] QUERY OK source="user_metadata" db=0.8ms idle=1712.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 10:41:51.484 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-11 10:41:51.492 [DEBUG] QUERY OK source="transaction_rules" db=0.7ms queue=0.7ms idle=1721.2ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 10:41:51.493 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-11 10:41:51.493 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611104151-773407 X-Request-Id: 3d6583f4-bcf0-4fb7-9836-758e78580fe2 Idempotency-Key: d7831185-737f-4e24-83ac-64c4380e43c5 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000000023"} Transaction: %{"rrn" => "123456789001", "stan" => "000033", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 10:41:51.493 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 10:41:51.494 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 10:41:51.496 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 0.23, Rules: 0, Timestamp: 2026-06-11 10:41:51.494064Z 2026-06-11 10:41:51.496 [INFO] ALLOWED - All rules passed 2026-06-11 10:41:51.496 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 10:41:51.496 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "0.23", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T10:41:51.493382Z", service_ref_id: "SVR-20260611104151-773407"} 2026-06-11 10:41:51.502 [INFO] Sent 200 in 97ms 2026-06-11 10:42:44.952 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 10:42:44.952 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000000500"}, "bin" => "401704", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000034", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 10:42:44.952 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-11 10:42:44.956 [DEBUG] QUERY OK source="pos_terminals" db=3.4ms queue=0.1ms idle=1161.1ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 10:42:44.957 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-11 10:42:44.957 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-11 10:42:44.957 [DEBUG] QUERY OK source="user_metadata" db=0.5ms idle=184.1ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 10:42:44.958 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-11 10:42:44.958 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-11 10:42:44.958 [DEBUG] QUERY OK source="merchant_configuration" db=0.6ms idle=185.1ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 10:42:44.959 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 10:42:44.959 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 10:42:44.959 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.959 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.959 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.959 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.959 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.960 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.961 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.962 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.962 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.962 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.962 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.963 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.963 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.963 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.963 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.963 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.964 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.965 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.965 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.965 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.965 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.965 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.966 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.966 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.966 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.966 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.966 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.966 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.967 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.967 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.967 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.968 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.968 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.968 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.968 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:42:44.970 [DEBUG] QUERY OK source="user_metadata" db=0.7ms idle=196.1ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 10:42:44.970 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-11 10:42:44.972 [DEBUG] QUERY OK source="transaction_rules" db=0.5ms idle=198.3ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 10:42:44.972 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-11 10:42:44.972 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611104244-412210 X-Request-Id: 8a355b90-e68e-4fda-a14c-d10ca91477f0 Idempotency-Key: 43a77611-0f57-442c-acfb-cfed27b98b3c Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000000500"} Transaction: %{"rrn" => "123456789001", "stan" => "000034", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 10:42:44.972 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 10:42:44.972 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 10:42:44.972 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 5.0, Rules: 0, Timestamp: 2026-06-11 10:42:44.972873Z 2026-06-11 10:42:44.972 [INFO] ALLOWED - All rules passed 2026-06-11 10:42:44.973 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 10:42:44.973 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "5.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T10:42:44.972567Z", service_ref_id: "SVR-20260611104244-412210"} 2026-06-11 10:42:44.973 [INFO] Sent 200 in 20ms 2026-06-11 10:43:31.342 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 10:43:31.343 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000000100"}, "bin" => "401704", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000035", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 10:43:31.343 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-11 10:43:31.345 [DEBUG] QUERY OK source="pos_terminals" db=2.0ms idle=1547.5ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 10:43:31.345 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-11 10:43:31.345 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-11 10:43:31.347 [DEBUG] QUERY OK source="user_metadata" db=1.0ms idle=569.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 10:43:31.347 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-11 10:43:31.347 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-11 10:43:31.348 [DEBUG] QUERY OK source="merchant_configuration" db=0.9ms idle=570.8ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 10:43:31.349 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 10:43:31.349 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 10:43:31.349 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.349 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.349 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.349 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.349 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.350 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.351 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.351 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.351 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.351 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.351 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.352 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.352 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.352 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.354 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.354 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.354 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.355 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.355 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.355 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.355 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.355 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.355 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.356 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.356 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.357 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.357 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.357 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.357 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.357 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.360 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.360 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.361 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.361 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.361 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.361 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.361 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.361 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.361 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.362 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.362 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.362 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.362 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.362 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.363 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.363 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.363 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:43:31.364 [DEBUG] QUERY OK source="user_metadata" db=0.9ms idle=586.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 10:43:31.364 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-11 10:43:31.369 [DEBUG] QUERY OK source="transaction_rules" db=4.2ms idle=587.8ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 10:43:31.369 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-11 10:43:31.369 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611104331-018142 X-Request-Id: 2b38b89b-d4a3-4c5f-b59a-f2fdc36dab6b Idempotency-Key: 22c1ad96-8c96-48b4-8cb3-ecdb5168c03b Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000000100"} Transaction: %{"rrn" => "123456789001", "stan" => "000035", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 10:43:31.369 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 10:43:31.369 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 10:43:31.369 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 1.0, Rules: 0, Timestamp: 2026-06-11 10:43:31.369822Z 2026-06-11 10:43:31.369 [INFO] ALLOWED - All rules passed 2026-06-11 10:43:31.369 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 10:43:31.370 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "1.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T10:43:31.369519Z", service_ref_id: "SVR-20260611104331-018142"} 2026-06-11 10:43:31.370 [INFO] Sent 200 in 28ms 2026-06-11 10:44:34.492 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1712.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 10:45:33.341 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 10:45:33.341 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000003136"}, "bin" => "421492", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000036", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 10:45:33.341 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-11 10:45:33.343 [DEBUG] QUERY OK source="pos_terminals" db=1.2ms idle=541.7ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 10:45:33.343 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-11 10:45:33.343 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-11 10:45:33.344 [DEBUG] QUERY OK source="user_metadata" db=0.4ms idle=1561.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 10:45:33.344 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-11 10:45:33.344 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-11 10:45:33.346 [DEBUG] QUERY OK source="merchant_configuration" db=1.8ms idle=1562.6ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 10:45:33.346 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 10:45:33.347 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 10:45:33.347 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.348 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.348 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.349 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.349 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.349 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.350 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.350 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.350 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.350 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.350 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.350 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.350 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.351 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.351 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.351 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.351 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.351 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.352 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.352 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.352 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.353 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.353 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.353 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.353 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.353 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.353 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.353 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.353 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.353 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.354 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.354 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.355 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.355 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.355 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.355 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.355 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.355 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.356 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.356 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.356 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.356 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.357 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.357 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.357 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.357 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.357 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.358 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.358 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.358 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.358 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.358 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.358 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.358 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.358 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.358 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.359 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 10:45:33.360 [DEBUG] QUERY OK source="user_metadata" db=1.3ms idle=577.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 10:45:33.363 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-11 10:45:33.364 [DEBUG] QUERY OK source="transaction_rules" db=1.1ms idle=580.8ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 10:45:33.364 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-11 10:45:33.364 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611104533-474674 X-Request-Id: d607e8d6-6392-4347-9990-351db0aba78e Idempotency-Key: 2c5a88eb-2383-4ee9-a259-75d41fcd97e5 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000003136"} Transaction: %{"rrn" => "123456789001", "stan" => "000036", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 10:45:33.364 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 10:45:33.365 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 10:45:33.365 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 31.36, Rules: 0, Timestamp: 2026-06-11 10:45:33.365304Z 2026-06-11 10:45:33.365 [INFO] ALLOWED - All rules passed 2026-06-11 10:45:33.365 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 10:45:33.365 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "31.36", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T10:45:33.364721Z", service_ref_id: "SVR-20260611104533-474674"} 2026-06-11 10:45:33.365 [INFO] Sent 200 in 24ms 2026-06-11 10:45:43.085 [INFO] Received ACK for merchant pFppbioOCKlo5c8E, device 397889130000000_88913585 with payload: {"request_id" : "ORD-570-HHG7CH","money": "3136.0", "status": "SUCCESS" } 2026-06-11 10:45:43.085 [INFO] Received OTA update for device 397889130000000_88913585 with request_id ORD-570-HHG7CH: %{"money" => "3136.0", "request_id" => "ORD-570-HHG7CH", "status" => "SUCCESS"} 2026-06-11 10:45:43.091 [INFO] Status for request_id ORD-570-HHG7CH is success 2026-06-11 10:45:43.113 [DEBUG] QUERY OK source="cloud_transaction" db=8.0ms queue=0.7ms idle=1305.0ms SELECT c0.`id`, c0.`uhid`, c0.`email`, c0.`mobile_no`, c0.`processing_id`, c0.`uname`, c0.`user_id`, c0.`pay_mode`, c0.`location_id`, c0.`transaction_location`, c0.`credentials_user`, c0.`credentials_key`, c0.`version`, c0.`return_url`, c0.`response_url`, c0.`status`, c0.`transaction_id`, c0.`transaction_amount`, c0.`transaction_ref_number`, c0.`m_ref_num`, c0.`name`, c0.`provider_id`, c0.`device_id`, c0.`merchant_id`, c0.`payment_reference_id`, c0.`additional_data`, c0.`payload`, c0.`settlement_date_time`, c0.`refund_reference_id`, c0.`provider_name`, c0.`acknoledgment`, c0.`inserted_at`, c0.`updated_at` FROM `cloud_transaction` AS c0 WHERE ((c0.`transaction_ref_number` = ?) AND (c0.`device_id` = ?)) ["ORD-570-HHG7CH", "397889130000000_88913585"] ↳ DaProductApp.MQTT.Handler.handle_message/3, at: lib/da_product_app/mqtt/handler.ex:52 2026-06-11 10:45:43.152 [DEBUG] QUERY OK source="cloud_transaction" db=0.5ms queue=0.6ms idle=349.0ms UPDATE `cloud_transaction` SET `status` = ?, `acknoledgment` = ?, `updated_at` = ? WHERE `id` = ? ["success", "received", ~N[2026-06-11 10:45:43], 2956] ↳ DaProductApp.MQTT.Handler.handle_message/3, at: lib/da_product_app/mqtt/handler.ex:63 2026-06-11 10:45:43.152 [INFO] Transaction ORD-570-HHG7CH updated to success/received 2026-06-11 10:54:34.493 [DEBUG] QUERY OK source="global_table" db=1.1ms idle=1678.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 11:00:05.936 [INFO] Received ACK for merchant pFppbioOCKlo5c8E, device 397889130000000_88913585 with payload: {"request_id" : "ORD-570-HHG7CH","money": "3136.0", "status": "FAILED" } 2026-06-11 11:00:05.936 [INFO] Received OTA update for device 397889130000000_88913585 with request_id ORD-570-HHG7CH: %{"money" => "3136.0", "request_id" => "ORD-570-HHG7CH", "status" => "FAILED"} 2026-06-11 11:00:05.936 [INFO] Status for request_id ORD-570-HHG7CH is failed 2026-06-11 11:00:05.942 [DEBUG] QUERY OK source="cloud_transaction" db=4.4ms queue=0.1ms idle=1073.4ms SELECT c0.`id`, c0.`uhid`, c0.`email`, c0.`mobile_no`, c0.`processing_id`, c0.`uname`, c0.`user_id`, c0.`pay_mode`, c0.`location_id`, c0.`transaction_location`, c0.`credentials_user`, c0.`credentials_key`, c0.`version`, c0.`return_url`, c0.`response_url`, c0.`status`, c0.`transaction_id`, c0.`transaction_amount`, c0.`transaction_ref_number`, c0.`m_ref_num`, c0.`name`, c0.`provider_id`, c0.`device_id`, c0.`merchant_id`, c0.`payment_reference_id`, c0.`additional_data`, c0.`payload`, c0.`settlement_date_time`, c0.`refund_reference_id`, c0.`provider_name`, c0.`acknoledgment`, c0.`inserted_at`, c0.`updated_at` FROM `cloud_transaction` AS c0 WHERE ((c0.`transaction_ref_number` = ?) AND (c0.`device_id` = ?)) ["ORD-570-HHG7CH", "397889130000000_88913585"] ↳ DaProductApp.MQTT.Handler.handle_message/3, at: lib/da_product_app/mqtt/handler.ex:52 2026-06-11 11:00:05.978 [DEBUG] QUERY OK source="cloud_transaction" db=25.6ms queue=5.9ms idle=1078.3ms UPDATE `cloud_transaction` SET `status` = ?, `updated_at` = ? WHERE `id` = ? ["failed", ~N[2026-06-11 11:00:05], 2956] ↳ DaProductApp.MQTT.Handler.handle_message/3, at: lib/da_product_app/mqtt/handler.ex:63 2026-06-11 11:00:05.978 [INFO] Transaction ORD-570-HHG7CH updated to failed/received 2026-06-11 11:00:09.170 [INFO] Received ACK for merchant pFppbioOCKlo5c8E, device 397889130000000_88913585 with payload: {"request_id" : "ORD-570-HHG7CH","money": "3136.0", "status": "FAILED" } 2026-06-11 11:00:09.170 [INFO] Received OTA update for device 397889130000000_88913585 with request_id ORD-570-HHG7CH: %{"money" => "3136.0", "request_id" => "ORD-570-HHG7CH", "status" => "FAILED"} 2026-06-11 11:00:09.170 [INFO] Status for request_id ORD-570-HHG7CH is failed 2026-06-11 11:00:09.173 [DEBUG] QUERY OK source="cloud_transaction" db=2.3ms idle=1306.8ms SELECT c0.`id`, c0.`uhid`, c0.`email`, c0.`mobile_no`, c0.`processing_id`, c0.`uname`, c0.`user_id`, c0.`pay_mode`, c0.`location_id`, c0.`transaction_location`, c0.`credentials_user`, c0.`credentials_key`, c0.`version`, c0.`return_url`, c0.`response_url`, c0.`status`, c0.`transaction_id`, c0.`transaction_amount`, c0.`transaction_ref_number`, c0.`m_ref_num`, c0.`name`, c0.`provider_id`, c0.`device_id`, c0.`merchant_id`, c0.`payment_reference_id`, c0.`additional_data`, c0.`payload`, c0.`settlement_date_time`, c0.`refund_reference_id`, c0.`provider_name`, c0.`acknoledgment`, c0.`inserted_at`, c0.`updated_at` FROM `cloud_transaction` AS c0 WHERE ((c0.`transaction_ref_number` = ?) AND (c0.`device_id` = ?)) ["ORD-570-HHG7CH", "397889130000000_88913585"] ↳ DaProductApp.MQTT.Handler.handle_message/3, at: lib/da_product_app/mqtt/handler.ex:52 2026-06-11 11:00:09.173 [INFO] Transaction ORD-570-HHG7CH updated to failed/received 2026-06-11 11:02:24.712 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 11:02:24.712 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000023690"}, "bin" => "401704", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000037", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 11:02:24.713 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-11 11:02:24.714 [DEBUG] QUERY OK source="pos_terminals" db=1.2ms idle=1843.9ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 11:02:24.714 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-11 11:02:24.714 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-11 11:02:24.715 [DEBUG] QUERY OK source="user_metadata" db=0.7ms idle=1849.6ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 11:02:24.715 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-11 11:02:24.715 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-11 11:02:24.719 [DEBUG] QUERY OK source="merchant_configuration" db=3.7ms idle=1850.6ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 11:02:24.720 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 11:02:24.723 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 11:02:24.723 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.724 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.725 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.725 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.726 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.726 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.726 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.726 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.726 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.726 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.726 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.726 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.726 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.726 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.727 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.727 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.727 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.727 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.727 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.728 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.728 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.728 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.732 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.732 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.732 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.732 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.732 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.733 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.733 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.733 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.733 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.734 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.734 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.734 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.734 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.735 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.735 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.735 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.735 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.735 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.735 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.735 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.735 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.738 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.738 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.738 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.738 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.739 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.739 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.739 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.739 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.741 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.741 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.742 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.743 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.743 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.743 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:02:24.745 [DEBUG] QUERY OK source="user_metadata" db=2.2ms queue=0.1ms idle=1877.9ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 11:02:24.745 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-11 11:02:24.749 [DEBUG] QUERY OK source="transaction_rules" db=3.6ms idle=1880.6ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 11:02:24.750 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-11 11:02:24.751 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611110224-727234 X-Request-Id: e626fed5-dee1-4327-ae4a-a2b19c0d3a54 Idempotency-Key: c868cb41-1b1f-462e-b8d7-f0f7c68c1a93 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000023690"} Transaction: %{"rrn" => "123456789001", "stan" => "000037", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 11:02:24.751 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 11:02:24.751 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 11:02:24.751 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 236.9, Rules: 0, Timestamp: 2026-06-11 11:02:24.751917Z 2026-06-11 11:02:24.752 [INFO] ALLOWED - All rules passed 2026-06-11 11:02:24.752 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 11:02:24.752 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "236.90", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T11:02:24.751623Z", service_ref_id: "SVR-20260611110224-727234"} 2026-06-11 11:02:24.752 [INFO] Sent 200 in 39ms 2026-06-11 11:03:25.560 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 11:03:25.561 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000002300"}, "bin" => "401704", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000038", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 11:03:25.561 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-11 11:03:25.563 [DEBUG] QUERY OK source="pos_terminals" db=1.5ms idle=1680.6ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 11:03:25.564 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-11 11:03:25.564 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-11 11:03:25.565 [DEBUG] QUERY OK source="user_metadata" db=0.7ms queue=0.3ms idle=1674.7ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 11:03:25.565 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-11 11:03:25.565 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-11 11:03:25.566 [DEBUG] QUERY OK source="merchant_configuration" db=0.4ms queue=0.3ms idle=1676.4ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 11:03:25.567 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 11:03:25.568 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 11:03:25.568 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.568 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.568 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.568 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.568 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.568 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.568 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.569 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.569 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.569 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.569 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.569 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.569 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.569 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.569 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.569 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.569 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.570 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.570 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.570 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.570 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.571 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.571 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.571 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.571 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.574 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.574 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.574 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.574 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.575 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.576 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.576 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.576 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.576 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.576 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.576 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.576 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.576 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.576 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.577 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.577 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.577 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.577 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.577 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.577 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.577 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.578 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.578 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.578 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.581 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.581 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.582 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.582 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.582 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.582 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.582 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.582 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:25.584 [DEBUG] QUERY OK source="user_metadata" db=1.9ms idle=1693.1ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 11:03:25.584 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-11 11:03:25.586 [DEBUG] QUERY OK source="transaction_rules" db=1.8ms idle=1695.4ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 11:03:25.587 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-11 11:03:25.587 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611110325-176107 X-Request-Id: 0a8f608a-8c8a-441f-a4eb-b602202f0454 Idempotency-Key: 824b0f6f-9f90-490e-8a2c-eae28b67e2ad Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000002300"} Transaction: %{"rrn" => "123456789001", "stan" => "000038", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 11:03:25.587 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 11:03:25.587 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 11:03:25.589 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 23.0, Rules: 0, Timestamp: 2026-06-11 11:03:25.587380Z 2026-06-11 11:03:25.589 [INFO] ALLOWED - All rules passed 2026-06-11 11:03:25.589 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 11:03:25.589 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "23.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T11:03:25.587138Z", service_ref_id: "SVR-20260611110325-176107"} 2026-06-11 11:03:25.589 [INFO] Sent 200 in 28ms 2026-06-11 11:03:43.956 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 11:03:43.956 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000050000"}, "bin" => "401704", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000039", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 11:03:43.956 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-11 11:03:43.958 [DEBUG] QUERY OK source="pos_terminals" db=1.1ms idle=1072.8ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 11:03:43.958 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-11 11:03:43.958 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-11 11:03:43.959 [DEBUG] QUERY OK source="user_metadata" db=0.6ms idle=1066.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 11:03:43.959 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-11 11:03:43.959 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-11 11:03:43.959 [DEBUG] QUERY OK source="merchant_configuration" db=0.4ms idle=1067.0ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 11:03:43.960 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 11:03:43.960 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 11:03:43.960 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.961 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.962 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.962 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.962 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.962 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.962 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.962 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.962 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.962 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.964 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.964 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.964 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.964 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.969 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.969 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.969 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.969 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.969 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.969 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.970 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.972 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.972 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.972 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.972 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.973 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.973 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.977 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.977 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.977 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.977 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.977 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.977 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.977 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.977 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:03:43.978 [DEBUG] QUERY OK source="user_metadata" db=0.7ms idle=1085.4ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 11:03:43.978 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-11 11:03:43.980 [DEBUG] QUERY OK source="transaction_rules" db=0.9ms idle=1086.7ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 11:03:43.980 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-11 11:03:43.980 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611110343-133912 X-Request-Id: ac7b2b91-d7e8-4202-82c2-15691439b651 Idempotency-Key: b3d89b22-0f90-4019-886f-c1af2bbb6b29 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000050000"} Transaction: %{"rrn" => "123456789001", "stan" => "000039", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 11:03:43.980 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 11:03:43.981 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 11:03:43.981 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 500.0, Rules: 0, Timestamp: 2026-06-11 11:03:43.981242Z 2026-06-11 11:03:43.981 [INFO] ALLOWED - All rules passed 2026-06-11 11:03:43.981 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 11:03:43.981 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "500.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T11:03:43.980306Z", service_ref_id: "SVR-20260611110343-133912"} 2026-06-11 11:03:43.982 [INFO] Sent 200 in 26ms 2026-06-11 11:04:23.896 [INFO] POST /v1/transaction-rules/evaluate 2026-06-11 11:04:23.896 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000060000"}, "bin" => "401704", "merchant_id" => "397889130000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "88913585", "transaction" => %{"rrn" => "123456789001", "stan" => "000040", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-11 11:04:23.896 [INFO] fetch_merchant_info_from_terminal - terminal_id: 88913585, merchant_id: 397889130000000 2026-06-11 11:04:23.897 [DEBUG] QUERY OK source="pos_terminals" db=0.9ms idle=1010.4ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["88913585"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-11 11:04:23.897 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "pmerchant", address_line1: "DUBAI", store_id: 424} 2026-06-11 11:04:23.898 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 397889130000000 2026-06-11 11:04:23.898 [DEBUG] QUERY OK source="user_metadata" db=0.4ms idle=1005.9ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-11 11:04:23.898 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1664} 2026-06-11 11:04:23.898 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1664 2026-06-11 11:04:23.900 [DEBUG] QUERY OK source="merchant_configuration" db=1.0ms idle=1006.7ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1664] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-11 11:04:23.900 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: nil, settings: %{"BASE_MERCHANT_NAME" => "pmerchant", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "mqtt.secure.shukria.ae", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "posqr.secure.shukria.ae", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "1", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "1"}, show_cardholder_name: 0, model_name: 1} 2026-06-11 11:04:23.900 [INFO] Merged settings for merchant_id=397889130000000 user_id=1664 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-11 11:04:23.900 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.900 [DEBUG] setting=BASE_MERCHANT_NAME value="pmerchant" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.900 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.900 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.900 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=DEVICES value=[%{"mid" => "397889130000000", "serial_no" => "397889130000000_88913585", "status" => 1, "tid" => "88913585"}, %{"mid" => "397889130000000", "serial_no" => "RZCY51Z5Q3M", "status" => 0, "tid" => "38755579"}] source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.901 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.902 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.902 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.902 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.902 [DEBUG] setting=QR_SERVER_ADDRESS value="posqr.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.903 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.903 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.903 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.903 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.903 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.903 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.903 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.903 [DEBUG] setting=TTQ_CTLS value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.903 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.904 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=MQTT_BROKER_ADDRESS value="mqtt.secure.shukria.ae" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=QR_USE_SSL value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.905 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.906 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=397889130000000 user_id=1664 2026-06-11 11:04:23.908 [DEBUG] QUERY OK source="user_metadata" db=1.7ms idle=1013.9ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["397889130000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-11 11:04:23.908 [INFO] fetch_rules_for - merchant_id: 397889130000000 mapped to user_id: 1664 2026-06-11 11:04:23.909 [DEBUG] QUERY OK source="transaction_rules" db=0.9ms idle=1016.0ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["88913585", 1664] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-11 11:04:23.909 [INFO] fetch_rules_for - found 0 rules for user_id: 1664 2026-06-11 11:04:23.909 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260611110423-099138 X-Request-Id: 7d9caa45-b40c-4d77-b6a8-4545eb3ab90f Idempotency-Key: 059c6949-3a99-40c2-bc58-45f8fc733f70 Merchant ID: 397889130000000 Terminal ID: 88913585 Amount: %{"currency" => "784", "value" => "000000060000"} Transaction: %{"rrn" => "123456789001", "stan" => "000040", "type" => "PURCHASE"} Rules Found: 0 2026-06-11 11:04:23.910 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-11 11:04:23.910 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-11 11:04:23.910 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 600.0, Rules: 0, Timestamp: 2026-06-11 11:04:23.910411Z 2026-06-11 11:04:23.910 [INFO] ALLOWED - All rules passed 2026-06-11 11:04:23.910 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-11 11:04:23.910 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "N/A", merchant_name: "pmerchant", merchant_address: "DUBAI"}, footer: %{message: "N/A", description: "N/A", logo: "N/A"}, amount: %{value: "600.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-11T11:04:23.909880Z", service_ref_id: "SVR-20260611110423-099138"} 2026-06-11 11:04:23.910 [INFO] Sent 200 in 14ms 2026-06-11 11:04:34.492 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1599.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 11:14:34.492 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=454.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 11:24:34.492 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1364.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 11:34:34.492 [DEBUG] QUERY OK source="global_table" db=0.9ms idle=1268.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 11:44:34.492 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1232.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 11:54:34.492 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1194.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 12:04:34.493 [DEBUG] QUERY OK source="global_table" db=1.4ms idle=1147.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 12:14:34.492 [DEBUG] QUERY OK source="global_table" db=1.1ms idle=1107.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 12:24:34.492 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1063.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 12:34:34.492 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1023.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 12:44:34.493 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1973.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 12:54:34.492 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1906.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 13:04:34.492 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1822.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 13:14:34.492 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1770.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 13:24:34.492 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1711.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-11 13:34:34.492 [DEBUG] QUERY OK source="global_table" db=1.0ms idle=1673.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-12 12:01:08.841 [DEBUG] QUERY OK source="global_table" db=0.4ms decode=1.6ms queue=62.4ms idle=0.0ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-12 12:01:08.951 [INFO] Device phoenix_client_node_megha1 connected 2026-06-12 12:01:08.959 [INFO] Running DaProductAppWeb.Endpoint with Bandit 1.6.7 at 0.0.0.0:14777 (http) 2026-06-12 12:01:08.969 [INFO] Access DaProductAppWeb.Endpoint at http://localhost:14777 2026-06-12 12:04:27.029 [INFO] POST /v1/transaction-rules/evaluate 2026-06-12 12:04:27.064 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000005500"}, "bin" => "401704", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000125", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-12 12:04:27.082 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-12 12:04:27.106 [DEBUG] QUERY OK source="pos_terminals" db=1.1ms queue=1.3ms idle=330.0ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-12 12:04:27.111 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-12 12:04:27.111 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-12 12:04:27.113 [DEBUG] QUERY OK source="user_metadata" db=0.6ms queue=1.1ms idle=1298.4ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-12 12:04:27.113 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-12 12:04:27.114 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-12 12:04:27.116 [DEBUG] QUERY OK source="merchant_configuration" db=1.6ms queue=0.7ms idle=300.8ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-12 12:04:27.117 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-12 12:04:27.117 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-12 12:04:27.117 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.117 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.118 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.119 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.120 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.121 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.121 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.121 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.121 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.121 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.127 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.128 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.128 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.129 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.129 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.129 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.129 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.130 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.130 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.130 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.130 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.130 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.130 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.130 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.131 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.131 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.131 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.131 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.131 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.131 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.131 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.131 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.133 [DEBUG] QUERY OK source="user_metadata" db=1.1ms idle=318.4ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-12 12:04:27.133 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-12 12:04:27.146 [DEBUG] QUERY OK source="transaction_rules" db=2.8ms queue=0.8ms idle=329.4ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-12 12:04:27.147 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-12 12:04:27.150 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260612120427-378918 X-Request-Id: cf946275-8565-4eb3-9a99-17eccdf1c096 Idempotency-Key: a6491410-81ea-4a95-bc4b-05d8b9173385 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000005500"} Transaction: %{"stan" => "000125", "type" => "PURCHASE"} Rules Found: 0 2026-06-12 12:04:27.151 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-12 12:04:27.151 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-12 12:04:27.160 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 55.0, Rules: 0, Timestamp: 2026-06-12 12:04:27.151254Z 2026-06-12 12:04:27.161 [INFO] ALLOWED - All rules passed 2026-06-12 12:04:27.161 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-12 12:04:27.161 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "55.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-12T12:04:27.150905Z", service_ref_id: "SVR-20260612120427-378918"} 2026-06-12 12:04:27.174 [INFO] Sent 200 in 144ms 2026-06-12 12:04:27.442 [INFO] POST /v1/transaction-rules/evaluate 2026-06-12 12:04:27.443 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000005500"}, "bin" => "401704", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000125", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-12 12:04:27.443 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-12 12:04:27.445 [DEBUG] QUERY OK source="pos_terminals" db=0.8ms idle=670.4ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-12 12:04:27.445 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-12 12:04:27.445 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-12 12:04:27.446 [DEBUG] QUERY OK source="user_metadata" db=0.6ms idle=631.6ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-12 12:04:27.446 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-12 12:04:27.446 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-12 12:04:27.448 [DEBUG] QUERY OK source="merchant_configuration" db=1.4ms idle=632.7ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-12 12:04:27.448 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-12 12:04:27.448 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-12 12:04:27.448 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.448 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.448 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.449 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.450 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.450 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.450 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.450 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.450 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.450 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.450 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.450 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.450 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.453 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.453 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.454 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.454 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.454 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.454 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.454 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.455 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.456 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.456 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.456 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.457 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.457 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.457 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.457 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.457 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.457 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.460 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.461 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.461 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.461 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.461 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:27.464 [DEBUG] QUERY OK source="user_metadata" db=1.4ms queue=1.6ms idle=523.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-12 12:04:27.464 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-12 12:04:27.466 [DEBUG] QUERY OK source="transaction_rules" db=1.6ms idle=442.0ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-12 12:04:27.466 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-12 12:04:27.466 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260612120427-025329 X-Request-Id: cf946275-8565-4eb3-9a99-17eccdf1c096 Idempotency-Key: a6491410-81ea-4a95-bc4b-05d8b9173385 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000005500"} Transaction: %{"stan" => "000125", "type" => "PURCHASE"} Rules Found: 0 2026-06-12 12:04:27.466 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-12 12:04:27.466 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-12 12:04:27.467 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 55.0, Rules: 0, Timestamp: 2026-06-12 12:04:27.467034Z 2026-06-12 12:04:27.467 [INFO] ALLOWED - All rules passed 2026-06-12 12:04:27.467 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-12 12:04:27.467 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "55.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-12T12:04:27.466771Z", service_ref_id: "SVR-20260612120427-025329"} 2026-06-12 12:04:27.467 [INFO] Sent 200 in 24ms 2026-06-12 12:04:41.338 [INFO] POST /v1/transaction-rules/evaluate 2026-06-12 12:04:41.338 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000005500"}, "bin" => "401704", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "020000", "terminal_id" => "12345671", "transaction" => %{"rrn" => "197582791967", "stan" => "000126", "type" => "VOID"}} Pipelines: [:api] 2026-06-12 12:04:41.339 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-12 12:04:41.340 [DEBUG] QUERY OK source="pos_terminals" db=0.5ms idle=563.8ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-12 12:04:41.340 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-12 12:04:41.340 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-12 12:04:41.340 [DEBUG] QUERY OK source="user_metadata" db=0.4ms idle=525.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-12 12:04:41.340 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-12 12:04:41.341 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-12 12:04:41.342 [DEBUG] QUERY OK source="merchant_configuration" db=1.5ms idle=526.1ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-12 12:04:41.343 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-12 12:04:41.343 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-12 12:04:41.343 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.343 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.343 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.343 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.343 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.343 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.343 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.344 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.344 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.344 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.344 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.344 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.344 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.344 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.344 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.344 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.345 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.345 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.345 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.345 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.345 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.346 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.346 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.346 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.348 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.348 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.348 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.348 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.348 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.348 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.349 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.350 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.350 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.351 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.351 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.352 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.352 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.352 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.352 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.352 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.352 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.353 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.353 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.353 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:04:41.354 [DEBUG] QUERY OK source="user_metadata" db=0.9ms idle=538.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-12 12:04:41.354 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-12 12:04:41.357 [DEBUG] QUERY OK source="transaction_rules" db=2.7ms queue=0.3ms idle=539.5ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-12 12:04:41.357 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-12 12:04:41.358 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260612120441-512554 X-Request-Id: 0e1fcf12-70c7-434b-a827-ea53d9c7faa9 Idempotency-Key: efdf5a72-2e35-4dad-ab75-95beeab87441 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000005500"} Transaction: %{"rrn" => "197582791967", "stan" => "000126", "type" => "VOID"} Rules Found: 0 2026-06-12 12:04:41.358 [INFO] derive_transaction_type - MTI: '0200', PC: '020000', PC_Type: '02' 2026-06-12 12:04:41.358 [INFO] derive_transaction_type result: MTI '0200' + PC '020000' => '"VOID"' 2026-06-12 12:04:41.358 [INFO] Evaluating transaction - MTI: 0200, PC: 020000, Type: VOID, Amount: 55.0, Rules: 0, Timestamp: 2026-06-12 12:04:41.358271Z 2026-06-12 12:04:41.358 [INFO] ALLOWED - All rules passed 2026-06-12 12:04:41.360 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-12 12:04:41.361 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "55.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-12T12:04:41.357987Z", service_ref_id: "SVR-20260612120441-512554"} 2026-06-12 12:04:41.361 [INFO] Sent 200 in 23ms 2026-06-12 12:05:14.091 [INFO] POST /v1/transaction-rules/evaluate 2026-06-12 12:05:14.091 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000002500"}, "bin" => "401704", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0220", "processing_code" => "200000", "terminal_id" => "12345671", "transaction" => %{"rrn" => "567345956567", "stan" => "000127", "type" => "REFUND"}} Pipelines: [:api] 2026-06-12 12:05:14.091 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-12 12:05:14.093 [DEBUG] QUERY OK source="pos_terminals" db=0.9ms queue=0.4ms idle=1311.3ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-12 12:05:14.093 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-12 12:05:14.093 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-12 12:05:14.097 [DEBUG] QUERY OK source="user_metadata" db=2.5ms idle=1275.2ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-12 12:05:14.097 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-12 12:05:14.097 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-12 12:05:14.099 [DEBUG] QUERY OK source="merchant_configuration" db=1.7ms idle=1278.2ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-12 12:05:14.100 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-12 12:05:14.100 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-12 12:05:14.101 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.101 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.102 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.102 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.102 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.102 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.102 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.102 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.112 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.112 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.113 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.117 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.117 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.117 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.118 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.118 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.118 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.118 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.118 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.118 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.118 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.118 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.118 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.119 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.119 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.119 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.119 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.119 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.119 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.120 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.120 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.121 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.122 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.122 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.122 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.122 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:14.124 [DEBUG] QUERY OK source="user_metadata" db=1.4ms idle=1303.0ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-12 12:05:14.124 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-12 12:05:14.129 [DEBUG] QUERY OK source="transaction_rules" db=4.1ms idle=1305.1ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-12 12:05:14.129 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-12 12:05:14.130 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260612120514-949760 X-Request-Id: e5cbf484-6317-48c7-b73a-43a627ef7c4f Idempotency-Key: 034427e4-a9c0-405b-bb62-6b7883c824e5 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000002500"} Transaction: %{"rrn" => "567345956567", "stan" => "000127", "type" => "REFUND"} Rules Found: 0 2026-06-12 12:05:14.130 [INFO] derive_transaction_type - MTI: '0220', PC: '200000', PC_Type: '20' 2026-06-12 12:05:14.131 [INFO] derive_transaction_type result: MTI '0220' + PC '200000' => '"REFUND_ADVICE"' 2026-06-12 12:05:14.131 [INFO] Evaluating transaction - MTI: 0220, PC: 200000, Type: REFUND_ADVICE, Amount: 25.0, Rules: 0, Timestamp: 2026-06-12 12:05:14.131553Z 2026-06-12 12:05:14.131 [INFO] ALLOWED - All rules passed 2026-06-12 12:05:14.132 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-12 12:05:14.132 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "25.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-12T12:05:14.130032Z", service_ref_id: "SVR-20260612120514-949760"} 2026-06-12 12:05:14.132 [INFO] Sent 200 in 41ms 2026-06-12 12:05:51.401 [INFO] POST /v1/transaction-rules/evaluate 2026-06-12 12:05:51.401 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000012500"}, "bin" => "401704", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000128", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-12 12:05:51.401 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-12 12:05:51.402 [DEBUG] QUERY OK source="pos_terminals" db=0.8ms idle=1618.4ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-12 12:05:51.402 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-12 12:05:51.402 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-12 12:05:51.403 [DEBUG] QUERY OK source="user_metadata" db=0.5ms idle=1579.1ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-12 12:05:51.403 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-12 12:05:51.403 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-12 12:05:51.404 [DEBUG] QUERY OK source="merchant_configuration" db=0.8ms idle=1580.0ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-12 12:05:51.405 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-12 12:05:51.405 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-12 12:05:51.405 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.406 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.406 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.406 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.406 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.406 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.406 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.406 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.406 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.406 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.406 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.407 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.407 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.407 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.407 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.407 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.407 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.408 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.408 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.408 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.408 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.408 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.408 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.408 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.409 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.409 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.409 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.409 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.410 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.410 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.410 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.410 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.410 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.410 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.410 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.410 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.410 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.410 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.411 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.411 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.411 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.411 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.411 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.411 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.411 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.411 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.415 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.415 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.415 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.415 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.415 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.415 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.416 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.416 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.416 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.416 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.416 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:05:51.418 [DEBUG] QUERY OK source="user_metadata" db=1.6ms idle=1592.6ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-12 12:05:51.418 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-12 12:05:51.419 [DEBUG] QUERY OK source="transaction_rules" db=0.9ms idle=1595.0ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-12 12:05:51.420 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-12 12:05:51.420 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260612120551-159903 X-Request-Id: d7f96d7b-faac-4854-bf3e-c3669507b143 Idempotency-Key: bc9f51c8-c4f9-40e2-a424-2abb28392b6a Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000012500"} Transaction: %{"stan" => "000128", "type" => "PURCHASE"} Rules Found: 0 2026-06-12 12:05:51.420 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-12 12:05:51.420 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-12 12:05:51.420 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 125.0, Rules: 0, Timestamp: 2026-06-12 12:05:51.420664Z 2026-06-12 12:05:51.420 [INFO] ALLOWED - All rules passed 2026-06-12 12:05:51.420 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-12 12:05:51.421 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "125.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-12T12:05:51.420268Z", service_ref_id: "SVR-20260612120551-159903"} 2026-06-12 12:05:51.421 [INFO] Sent 200 in 20ms 2026-06-12 12:06:07.420 [INFO] POST /v1/transaction-rules/evaluate 2026-06-12 12:06:07.421 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000012500"}, "bin" => "401704", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "020000", "terminal_id" => "12345671", "transaction" => %{"rrn" => "574939206365", "stan" => "000129", "type" => "VOID"}} Pipelines: [:api] 2026-06-12 12:06:07.421 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-12 12:06:07.424 [DEBUG] QUERY OK source="pos_terminals" db=1.3ms idle=632.9ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-12 12:06:07.424 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-12 12:06:07.424 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-12 12:06:07.424 [DEBUG] QUERY OK source="user_metadata" db=0.4ms idle=597.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-12 12:06:07.424 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-12 12:06:07.424 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-12 12:06:07.426 [DEBUG] QUERY OK source="merchant_configuration" db=1.7ms idle=598.5ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-12 12:06:07.427 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-12 12:06:07.427 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-12 12:06:07.427 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.427 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.427 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.427 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.427 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.427 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.427 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.428 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.428 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.428 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.428 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.428 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.428 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.435 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.436 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.438 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.438 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.438 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.438 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.438 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.439 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.439 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.439 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.439 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.444 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.444 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.445 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.446 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.446 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.446 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.446 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.457 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.458 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.458 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:07.460 [DEBUG] QUERY OK source="user_metadata" db=1.9ms idle=631.7ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-12 12:06:07.460 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-12 12:06:07.461 [DEBUG] QUERY OK source="transaction_rules" db=1.0ms idle=634.0ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-12 12:06:07.461 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-12 12:06:07.461 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260612120607-179713 X-Request-Id: 8cbbb442-4f31-4635-ac8d-7fefddf749ab Idempotency-Key: 2e8bb124-400d-4f33-b5f6-c0afca55da2b Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000012500"} Transaction: %{"rrn" => "574939206365", "stan" => "000129", "type" => "VOID"} Rules Found: 0 2026-06-12 12:06:07.462 [INFO] derive_transaction_type - MTI: '0200', PC: '020000', PC_Type: '02' 2026-06-12 12:06:07.462 [INFO] derive_transaction_type result: MTI '0200' + PC '020000' => '"VOID"' 2026-06-12 12:06:07.462 [INFO] Evaluating transaction - MTI: 0200, PC: 020000, Type: VOID, Amount: 125.0, Rules: 0, Timestamp: 2026-06-12 12:06:07.462197Z 2026-06-12 12:06:07.462 [INFO] ALLOWED - All rules passed 2026-06-12 12:06:07.462 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-12 12:06:07.462 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "125.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-12T12:06:07.461951Z", service_ref_id: "SVR-20260612120607-179713"} 2026-06-12 12:06:07.462 [INFO] Sent 200 in 41ms 2026-06-12 12:06:48.364 [INFO] POST /v1/transaction-rules/evaluate 2026-06-12 12:06:48.365 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000208500"}, "bin" => "401704", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000130", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-12 12:06:48.365 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-12 12:06:48.367 [DEBUG] QUERY OK source="pos_terminals" db=1.1ms idle=1571.8ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-12 12:06:48.367 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-12 12:06:48.367 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-12 12:06:48.368 [DEBUG] QUERY OK source="user_metadata" db=0.5ms idle=1520.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-12 12:06:48.368 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-12 12:06:48.368 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-12 12:06:48.369 [DEBUG] QUERY OK source="merchant_configuration" db=0.3ms idle=1521.0ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-12 12:06:48.369 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-12 12:06:48.369 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-12 12:06:48.369 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.370 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.371 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.371 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.371 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.371 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.371 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.371 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.371 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.372 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.373 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.373 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.373 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.375 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.375 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.375 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.376 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.376 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.376 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.376 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.376 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.376 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.377 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.377 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.377 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.377 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.377 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.377 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.377 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.378 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.378 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.378 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.378 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.378 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.378 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:06:48.379 [DEBUG] QUERY OK source="user_metadata" db=0.4ms idle=1530.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-12 12:06:48.379 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-12 12:06:48.380 [DEBUG] QUERY OK source="transaction_rules" db=0.7ms idle=1531.6ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-12 12:06:48.380 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-12 12:06:48.380 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260612120648-921717 X-Request-Id: a3e55680-2f78-4aa4-8b96-924d8d113d51 Idempotency-Key: 05dc3ab4-8369-4f50-b061-8769951fc718 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000208500"} Transaction: %{"stan" => "000130", "type" => "PURCHASE"} Rules Found: 0 2026-06-12 12:06:48.380 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-12 12:06:48.380 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-12 12:06:48.380 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 2085.0, Rules: 0, Timestamp: 2026-06-12 12:06:48.380686Z 2026-06-12 12:06:48.380 [INFO] ALLOWED - All rules passed 2026-06-12 12:06:48.380 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-12 12:06:48.380 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "2085.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-12T12:06:48.380433Z", service_ref_id: "SVR-20260612120648-921717"} 2026-06-12 12:06:48.381 [INFO] Sent 200 in 16ms 2026-06-12 12:07:04.198 [INFO] POST /v1/transaction-rules/evaluate 2026-06-12 12:07:04.199 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000208500"}, "bin" => "401704", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0220", "processing_code" => "200000", "terminal_id" => "12345671", "transaction" => %{"rrn" => "574939206365", "stan" => "000131", "type" => "REFUND"}} Pipelines: [:api] 2026-06-12 12:07:04.199 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-12 12:07:04.215 [DEBUG] QUERY OK source="pos_terminals" db=15.8ms idle=1405.0ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-12 12:07:04.215 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-12 12:07:04.215 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-12 12:07:04.230 [DEBUG] QUERY OK source="user_metadata" db=6.6ms queue=7.5ms idle=1366.7ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-12 12:07:04.230 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-12 12:07:04.235 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-12 12:07:04.249 [DEBUG] QUERY OK source="merchant_configuration" db=13.6ms idle=1386.4ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-12 12:07:04.255 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-12 12:07:04.265 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-12 12:07:04.265 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.265 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.265 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.265 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.265 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.265 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.265 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.265 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.265 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.265 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.266 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.266 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.266 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.266 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.266 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.266 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.288 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.288 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.288 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.288 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.288 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.288 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.289 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.289 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.298 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.299 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.299 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.299 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.299 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.301 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.301 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.301 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.301 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.302 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.302 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.302 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.302 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.302 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.303 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.304 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.304 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.304 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.304 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.304 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.304 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.304 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.304 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:04.330 [DEBUG] QUERY OK source="user_metadata" db=25.5ms idle=457.4ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-12 12:07:04.330 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-12 12:07:04.348 [DEBUG] QUERY OK source="transaction_rules" db=15.5ms idle=483.2ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-12 12:07:04.362 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-12 12:07:04.363 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260612120704-538237 X-Request-Id: 45f2e176-f487-4232-ba5d-559321207c90 Idempotency-Key: c60f63f6-787b-4df0-b16e-0f61aac8753a Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000208500"} Transaction: %{"rrn" => "574939206365", "stan" => "000131", "type" => "REFUND"} Rules Found: 0 2026-06-12 12:07:04.363 [INFO] derive_transaction_type - MTI: '0220', PC: '200000', PC_Type: '20' 2026-06-12 12:07:04.363 [INFO] derive_transaction_type result: MTI '0220' + PC '200000' => '"REFUND_ADVICE"' 2026-06-12 12:07:04.363 [INFO] Evaluating transaction - MTI: 0220, PC: 200000, Type: REFUND_ADVICE, Amount: 2085.0, Rules: 0, Timestamp: 2026-06-12 12:07:04.363323Z 2026-06-12 12:07:04.373 [INFO] ALLOWED - All rules passed 2026-06-12 12:07:04.373 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-12 12:07:04.375 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "2085.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-12T12:07:04.363041Z", service_ref_id: "SVR-20260612120704-538237"} 2026-06-12 12:07:04.375 [INFO] Sent 200 in 176ms 2026-06-12 12:07:05.002 [INFO] POST /v1/transaction-rules/evaluate 2026-06-12 12:07:05.004 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000208500"}, "bin" => "401704", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0220", "processing_code" => "200000", "terminal_id" => "12345671", "transaction" => %{"rrn" => "574939206365", "stan" => "000131", "type" => "REFUND"}} Pipelines: [:api] 2026-06-12 12:07:05.004 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-12 12:07:05.009 [DEBUG] QUERY OK source="pos_terminals" db=4.6ms idle=1206.4ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-12 12:07:05.009 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-12 12:07:05.009 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-12 12:07:05.016 [DEBUG] QUERY OK source="user_metadata" db=6.4ms idle=1159.5ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-12 12:07:05.016 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-12 12:07:05.018 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-12 12:07:05.022 [DEBUG] QUERY OK source="merchant_configuration" db=3.5ms idle=1168.1ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-12 12:07:05.022 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-12 12:07:05.022 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-12 12:07:05.022 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.023 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.025 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.027 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.028 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.028 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.028 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.028 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.034 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.034 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.034 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.034 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.034 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.034 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.035 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.035 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.035 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.035 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.035 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.050 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.050 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.050 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.050 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.050 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.050 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.051 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.051 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.051 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.051 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.051 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.054 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.055 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.055 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.055 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.055 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.055 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.057 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.070 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.071 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.071 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.071 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.072 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.072 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.072 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.072 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.072 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.072 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.072 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.072 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.072 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.084 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.084 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.084 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.084 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.088 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.089 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.089 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-12 12:07:05.092 [DEBUG] QUERY OK source="user_metadata" db=2.4ms idle=1003.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-12 12:07:05.092 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-12 12:07:05.096 [DEBUG] QUERY OK source="transaction_rules" db=3.3ms idle=905.2ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-12 12:07:05.096 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-12 12:07:05.101 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260612120705-084041 X-Request-Id: 45f2e176-f487-4232-ba5d-559321207c90 Idempotency-Key: c60f63f6-787b-4df0-b16e-0f61aac8753a Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000208500"} Transaction: %{"rrn" => "574939206365", "stan" => "000131", "type" => "REFUND"} Rules Found: 0 2026-06-12 12:07:05.101 [INFO] derive_transaction_type - MTI: '0220', PC: '200000', PC_Type: '20' 2026-06-12 12:07:05.101 [INFO] derive_transaction_type result: MTI '0220' + PC '200000' => '"REFUND_ADVICE"' 2026-06-12 12:07:05.101 [INFO] Evaluating transaction - MTI: 0220, PC: 200000, Type: REFUND_ADVICE, Amount: 2085.0, Rules: 0, Timestamp: 2026-06-12 12:07:05.101935Z 2026-06-12 12:07:05.102 [INFO] ALLOWED - All rules passed 2026-06-12 12:07:05.102 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-12 12:07:05.102 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "2085.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-12T12:07:05.101652Z", service_ref_id: "SVR-20260612120705-084041"} 2026-06-12 12:07:05.102 [INFO] Sent 200 in 100ms 2026-06-12 12:11:08.857 [DEBUG] QUERY OK source="global_table" db=0.6ms idle=1991.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-12 12:21:08.858 [DEBUG] QUERY OK source="global_table" db=1.5ms idle=1920.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-12 12:31:08.858 [DEBUG] QUERY OK source="global_table" db=1.2ms idle=1870.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-12 12:41:08.860 [DEBUG] QUERY OK source="global_table" db=2.6ms idle=1850.3ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-12 12:51:08.858 [DEBUG] QUERY OK source="global_table" db=0.8ms idle=1791.1ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-12 13:01:08.857 [DEBUG] QUERY OK source="global_table" db=0.5ms idle=1781.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-12 13:11:08.858 [DEBUG] QUERY OK source="global_table" db=0.8ms idle=1745.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-15 12:41:24.485 [DEBUG] QUERY OK source="global_table" db=0.4ms decode=3.0ms queue=74.3ms idle=0.0ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-15 12:41:24.764 [INFO] Device phoenix_client_node_megha1 connected 2026-06-15 12:41:24.776 [INFO] Running DaProductAppWeb.Endpoint with Bandit 1.6.7 at 0.0.0.0:14777 (http) 2026-06-15 12:41:24.794 [INFO] Access DaProductAppWeb.Endpoint at http://localhost:14777 2026-06-15 12:42:02.620 [INFO] POST /v1/transaction-rules/evaluate 2026-06-15 12:42:02.810 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000020000"}, "bin" => "555942", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000145", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-15 12:42:02.879 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-15 12:42:02.944 [DEBUG] QUERY OK source="pos_terminals" db=0.7ms queue=1.3ms idle=596.9ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-15 12:42:02.953 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-15 12:42:02.953 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-15 12:42:02.958 [DEBUG] QUERY OK source="user_metadata" db=0.4ms queue=4.1ms idle=1569.8ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-15 12:42:02.958 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-15 12:42:02.958 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-15 12:42:02.964 [DEBUG] QUERY OK source="merchant_configuration" db=1.3ms queue=3.8ms idle=1575.0ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-15 12:42:02.973 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-15 12:42:02.973 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-15 12:42:02.974 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:02.974 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:02.974 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:02.974 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:02.990 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:02.991 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:02.991 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:02.991 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:02.991 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:02.991 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.010 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.010 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.010 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.010 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.010 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.010 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.010 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.011 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.001 [INFO] POST /v1/transaction-rules/evaluate 2026-06-15 12:42:03.015 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000020000"}, "bin" => "555942", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000145", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-15 12:42:03.029 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.029 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.032 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.032 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.032 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.032 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.033 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.033 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.033 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.033 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-15 12:42:03.041 [DEBUG] QUERY OK source="pos_terminals" db=7.9ms idle=656.6ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-15 12:42:03.041 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-15 12:42:03.042 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-15 12:42:03.033 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.045 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.045 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.046 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.046 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.046 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.046 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.046 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.046 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.046 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.046 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.046 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.053 [DEBUG] QUERY OK source="user_metadata" db=9.6ms queue=1.3ms idle=656.5ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-15 12:42:03.053 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-15 12:42:03.087 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.088 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-15 12:42:03.088 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.091 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.092 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.092 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.092 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.092 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.094 [DEBUG] QUERY OK source="merchant_configuration" db=5.9ms idle=703.1ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-15 12:42:03.098 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-15 12:42:03.104 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-15 12:42:03.105 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.105 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.106 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.106 [DEBUG] QUERY OK source="user_metadata" db=12.9ms queue=0.1ms idle=707.3ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-15 12:42:03.106 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-15 12:42:03.106 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.111 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.113 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.113 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.113 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.113 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.113 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.113 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.113 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.113 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.113 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.114 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.114 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.114 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.114 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.114 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.114 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.133 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.133 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.133 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.133 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.133 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.133 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.133 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.134 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.134 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.134 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.134 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.134 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.134 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.163 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.163 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.163 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.163 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.163 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.164 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.186 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.186 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.186 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.187 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.188 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.188 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.188 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.188 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.188 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.189 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.189 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.189 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.190 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.207 [DEBUG] QUERY OK source="transaction_rules" db=0.9ms queue=1.0ms idle=819.9ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-15 12:42:03.208 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-15 12:42:03.209 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260615124203-489594 X-Request-Id: 894af297-b568-4007-8c9a-201e86506bce Idempotency-Key: bd4fa241-1740-4512-9d28-eb64260b9a9a Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000020000"} Transaction: %{"stan" => "000145", "type" => "PURCHASE"} Rules Found: 0 2026-06-15 12:42:03.209 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-15 12:42:03.209 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-15 12:42:03.220 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.220 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.221 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.221 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.229 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 12:42:03.231 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 200.0, Rules: 0, Timestamp: 2026-06-15 12:42:03.209829Z 2026-06-15 12:42:03.231 [INFO] ALLOWED - All rules passed 2026-06-15 12:42:03.231 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-15 12:42:03.232 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "200.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-15T12:42:03.208839Z", service_ref_id: "SVR-20260615124203-489594"} 2026-06-15 12:42:03.234 [DEBUG] QUERY OK source="user_metadata" db=3.9ms idle=742.7ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-15 12:42:03.234 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-15 12:42:03.242 [DEBUG] QUERY OK source="transaction_rules" db=7.6ms idle=654.3ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-15 12:42:03.242 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-15 12:42:03.243 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260615124203-057041 X-Request-Id: 894af297-b568-4007-8c9a-201e86506bce Idempotency-Key: bd4fa241-1740-4512-9d28-eb64260b9a9a Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000020000"} Transaction: %{"stan" => "000145", "type" => "PURCHASE"} Rules Found: 0 2026-06-15 12:42:03.243 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-15 12:42:03.243 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-15 12:42:03.243 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 200.0, Rules: 0, Timestamp: 2026-06-15 12:42:03.243423Z 2026-06-15 12:42:03.243 [INFO] ALLOWED - All rules passed 2026-06-15 12:42:03.254 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-15 12:42:03.255 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "200.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-15T12:42:03.243097Z", service_ref_id: "SVR-20260615124203-057041"} 2026-06-15 12:42:03.284 [INFO] Sent 200 in 282ms 2026-06-15 12:42:03.284 [INFO] Sent 200 in 665ms 2026-06-15 12:51:24.509 [DEBUG] QUERY OK source="global_table" db=1.0ms idle=1086.5ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-15 13:01:24.509 [DEBUG] QUERY OK source="global_table" db=0.7ms idle=1035.7ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-15 13:11:24.510 [DEBUG] QUERY OK source="global_table" db=1.9ms idle=1965.4ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-15 13:12:17.720 [INFO] POST /v1/transaction-rules/evaluate 2026-06-15 13:12:17.720 [DEBUG] Processing with DaProductAppWeb.TransactionRulesController.evaluate/2 Parameters: %{"amount" => %{"currency" => "784", "value" => "000000020000"}, "bin" => "555942", "device_model" => "MF919 S10", "merchant_id" => "372916040000000", "mti" => "0200", "processing_code" => "000000", "terminal_id" => "12345671", "transaction" => %{"stan" => "000146", "type" => "PURCHASE"}} Pipelines: [:api] 2026-06-15 13:12:17.720 [INFO] fetch_merchant_info_from_terminal - terminal_id: 12345671, merchant_id: 372916040000000 2026-06-15 13:12:17.722 [DEBUG] QUERY OK source="pos_terminals" db=1.3ms queue=0.1ms idle=1203.0ms SELECT p0.`store_id`, s1.`name`, a2.`line1` FROM `pos_terminals` AS p0 LEFT OUTER JOIN `stores` AS s1 ON s1.`id` = p0.`store_id` LEFT OUTER JOIN `addresses` AS a2 ON a2.`id` = s1.`address_id` WHERE (p0.`terminalid` = ?) LIMIT 1 ["12345671"] ↳ DaProductApp.TransactionRules.fetch_merchant_info_from_terminal/2, at: lib/da_product_app/transaction_rules.ex:232 2026-06-15 13:12:17.722 [INFO] fetch_merchant_info_from_terminal - query result: %{merchant_name: "Cafe", address_line1: "Dubai", store_id: 249} 2026-06-15 13:12:17.722 [INFO] fetch_merchant_config_by_merchant_id - merchant_id: 372916040000000 2026-06-15 13:12:17.723 [DEBUG] QUERY OK source="user_metadata" db=0.5ms idle=1177.1ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:324 2026-06-15 13:12:17.723 [INFO] fetch_merchant_config_by_merchant_id - user_metadata: %{user_id: 1588} 2026-06-15 13:12:17.723 [INFO] fetch_merchant_config_by_merchant_id - found user_id: 1588 2026-06-15 13:12:17.724 [DEBUG] QUERY OK source="merchant_configuration" db=0.3ms idle=1178.0ms SELECT m0.`logo`, m0.`description`, m0.`message`, m0.`model_name`, m0.`settings`, m0.`show_cardholder_name` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) LIMIT 1 [1588] ↳ DaProductApp.TransactionRules.fetch_merchant_config_by_merchant_id/1, at: lib/da_product_app/transaction_rules.ex:339 2026-06-15 13:12:17.724 [INFO] fetch_merchant_config_by_merchant_id - merchant_config: %{message: nil, description: nil, logo: "uploads/merchant_logos/1588/logo.jpeg", settings: %{"BASE_MERCHANT_NAME" => "tic tac", "CLOUD_RECEIPT_BUTTON_LABEL" => "Cloud", "DEVICES" => [%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}], "EXTERNAL_PINPAD_CONNECT_MODE" => nil, "MQTT_BROKER_ADDRESS" => "demo.ctrmv.com", "MQTT_BROKER_PORT" => "1883", "NFC_RECEIPT" => "0", "OTHER_THIRD_BILL_SHOW" => "0", "OTHER_TIP_INPUT" => "0", "OTHER_VOID_CARD" => "0", "OTHER_VOID_PIN" => "0", "PASSWORD_ADMIN" => nil, "PASSWORD_SECURITY" => nil, "PASSWORD_SYSTEM_ADMIN" => nil, "QR_API_ENDPOINT" => "/qrMf", "QR_SERVER_ADDRESS" => "demo.ctrmv.com", "QR_SERVER_PORT" => "4043", "QR_USE_SSL" => "0", "TOMS_FLY_PARAMETERS" => "1", "TOMS_FLY_RECEIPT" => "1", "TRANS_BALANCE" => "0", "TRANS_INSTALLMENT" => "0", "TRANS_MOBILE_PAY" => "0", "TRANS_PREAUTH" => "0", "TRANS_REFUND" => "0", "TRANS_SALE" => "1", "TRANS_VOID" => "1", "TTQ_CTLS" => "3680C000"}, show_cardholder_name: 0, model_name: 1} 2026-06-15 13:12:17.724 [INFO] Merged settings for merchant_id=372916040000000 user_id=1588 - total_keys=57 global_fallbacks=33 keys_from_global=["CHIP_MSR_FALLBACK", "EXTERNAL_PINPAD", "COMM_PORT", "PINPAD_MASTER_KEY_INDEX", "COMM_USE_SSL", "EXTERNAL_PINPAD_CONNECT_MODE", "PRINT_EXTERNAL", "COMM_TPDU", "PRINT_COUNT", "PRINT_REMARKS", "SCAN_EXTERN_SERIAL_BAUDRATE", "PINPAD_TIMEOUT", "BASE_MAX_REFUND_AMOUNT", "PRINT_EXTERNAL_SERIAL_BAUDRATE", "PIN_FOR_MANUAL", "BASE_TRACE_NO", "CHIP_MSR_TECH_FALLBACK", "SCAN_PRIORITY_SCANNER", "CHIP_MSR_SCHEME_FALLBACK", "ELECSIGN_IS_SUPPORT", "PASSWORD_ADMIN", "PRINT_EXTERNAL_CONNECT_MODE", "COMM_SERVER_ADDRESS", "SCAN_EXTERN_CONNECT_MODE", "COMM_TIMEOUT", "BASE_CURRENCY_CODE", "BASE_MAX_TRANS_COUNT", "PINPAD_ALGORITHM_TYPE", "PASSWORD_SYSTEM_ADMIN", "COMM_NII", "EXTERNAL_PINPAD_YSDK", "SCAN_EXTERN_USB_WAIT_TIME", "PASSWORD_SECURITY"] 2026-06-15 13:12:17.724 [DEBUG] setting=CHIP_MSR_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.725 [DEBUG] setting=BASE_MERCHANT_NAME value="tic tac" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.725 [DEBUG] setting=TRANS_SALE value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.725 [DEBUG] setting=OTHER_TIP_INPUT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.725 [DEBUG] setting=EXTERNAL_PINPAD value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.725 [DEBUG] setting=COMM_PORT value="9143" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.725 [DEBUG] setting=PINPAD_MASTER_KEY_INDEX value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.725 [DEBUG] setting=COMM_USE_SSL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.725 [DEBUG] setting=TRANS_PREAUTH value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.726 [DEBUG] setting=EXTERNAL_PINPAD_CONNECT_MODE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.726 [DEBUG] setting=CLOUD_RECEIPT_BUTTON_LABEL value="Cloud" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.726 [DEBUG] setting=PRINT_EXTERNAL value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.726 [DEBUG] setting=COMM_TPDU value="6000782000" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.726 [DEBUG] setting=PRINT_COUNT value="2" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.726 [DEBUG] setting=DEVICES value=[%{"mid" => "372916040000000", "serial_no" => "98250623730001", "status" => 0, "tid" => "12342134"}, %{"mid" => "372916040000000", "serial_no" => "98251226730002", "status" => 1, "tid" => "91604486"}] source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.726 [DEBUG] setting=PRINT_REMARKS value="Thank You" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.726 [DEBUG] setting=SCAN_EXTERN_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.726 [DEBUG] setting=PINPAD_TIMEOUT value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.726 [DEBUG] setting=BASE_MAX_REFUND_AMOUNT value="100" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.730 [DEBUG] setting=TRANS_BALANCE value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.730 [DEBUG] setting=QR_SERVER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.731 [DEBUG] setting=TOMS_FLY_PARAMETERS value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.731 [DEBUG] setting=OTHER_THIRD_BILL_SHOW value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.731 [DEBUG] setting=OTHER_VOID_CARD value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.731 [DEBUG] setting=PRINT_EXTERNAL_SERIAL_BAUDRATE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.731 [DEBUG] setting=TRANS_MOBILE_PAY value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.731 [DEBUG] setting=PIN_FOR_MANUAL value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.731 [DEBUG] setting=BASE_TRACE_NO value="000001" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.731 [DEBUG] setting=TTQ_CTLS value="3680C000" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.731 [DEBUG] setting=CHIP_MSR_TECH_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.732 [DEBUG] setting=TRANS_REFUND value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.732 [DEBUG] setting=OTHER_VOID_PIN value=(masked) source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.732 [DEBUG] setting=SCAN_PRIORITY_SCANNER value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.732 [DEBUG] setting=CHIP_MSR_SCHEME_FALLBACK value="1" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.732 [DEBUG] setting=ELECSIGN_IS_SUPPORT value="0" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.732 [DEBUG] setting=PASSWORD_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.732 [DEBUG] setting=PRINT_EXTERNAL_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.732 [DEBUG] setting=COMM_SERVER_ADDRESS value="pos.secure.shukria.ae" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.732 [DEBUG] setting=NFC_RECEIPT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.732 [DEBUG] setting=SCAN_EXTERN_CONNECT_MODE value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.733 [DEBUG] setting=COMM_TIMEOUT value="60" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.734 [DEBUG] setting=QR_SERVER_PORT value="4043" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.734 [DEBUG] setting=TRANS_INSTALLMENT value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.734 [DEBUG] setting=MQTT_BROKER_ADDRESS value="demo.ctrmv.com" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.734 [DEBUG] setting=MQTT_BROKER_PORT value="1883" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.734 [DEBUG] setting=QR_API_ENDPOINT value="/qrMf" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.734 [DEBUG] setting=BASE_CURRENCY_CODE value="784" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.735 [DEBUG] setting=BASE_MAX_TRANS_COUNT value="500" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.735 [DEBUG] setting=QR_USE_SSL value="0" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.735 [DEBUG] setting=PINPAD_ALGORITHM_TYPE value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.735 [DEBUG] setting=PASSWORD_SYSTEM_ADMIN value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.735 [DEBUG] setting=TRANS_VOID value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.735 [DEBUG] setting=COMM_NII value="782" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.735 [DEBUG] setting=EXTERNAL_PINPAD_YSDK value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.735 [DEBUG] setting=SCAN_EXTERN_USB_WAIT_TIME value="" source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.735 [DEBUG] setting=TOMS_FLY_RECEIPT value="1" source=:merchant merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.735 [DEBUG] setting=PASSWORD_SECURITY value=(masked) source=:global merchant_id=372916040000000 user_id=1588 2026-06-15 13:12:17.737 [DEBUG] QUERY OK source="user_metadata" db=1.6ms idle=1190.2ms SELECT u0.`user_id` FROM `user_metadata` AS u0 WHERE (u0.`merchant_refrence_number` = ?) LIMIT 1 ["372916040000000"] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:37 2026-06-15 13:12:17.737 [INFO] fetch_rules_for - merchant_id: 372916040000000 mapped to user_id: 1588 2026-06-15 13:12:17.739 [DEBUG] QUERY OK source="transaction_rules" db=1.4ms idle=193.0ms SELECT t0.`id`, t0.`rule_id`, t0.`rule_name`, t0.`rule_type`, t0.`response_code`, t0.`scope`, t0.`merchant_id`, t0.`terminal_id`, t0.`user_id`, t0.`params`, t0.`enabled`, t0.`priority`, t0.`revision`, t0.`created_by`, t0.`updated_by`, t0.`last_evaluated_at`, t0.`last_evaluation_result`, t0.`created_at`, t0.`updated_at`, t0.`deleted_at` FROM `transaction_rules` AS t0 WHERE ((t0.`enabled` = TRUE) AND (t0.`deleted_at` IS NULL)) AND ((((t0.`scope` = 'terminal') AND (t0.`terminal_id` = ?)) OR ((t0.`scope` = 'merchant') AND (t0.`merchant_id` = ?))) OR (t0.`scope` = 'global')) ORDER BY t0.`priority`, t0.`created_at` DESC ["12345671", 1588] ↳ DaProductApp.TransactionRules.fetch_rules_for/2, at: lib/da_product_app/transaction_rules.ex:66 2026-06-15 13:12:17.739 [INFO] fetch_rules_for - found 0 rules for user_id: 1588 2026-06-15 13:12:17.739 [INFO] Transaction Rules Evaluation: Service Ref ID: SVR-20260615131217-076410 X-Request-Id: a9c9d4f2-9fde-4ad9-a5b2-e407029e3eff Idempotency-Key: 9ac719cc-9895-4d21-8616-4c0dfedefd45 Merchant ID: 372916040000000 Terminal ID: 12345671 Amount: %{"currency" => "784", "value" => "000000020000"} Transaction: %{"stan" => "000146", "type" => "PURCHASE"} Rules Found: 0 2026-06-15 13:12:17.739 [INFO] derive_transaction_type - MTI: '0200', PC: '000000', PC_Type: '00' 2026-06-15 13:12:17.739 [INFO] derive_transaction_type result: MTI '0200' + PC '000000' => '"SALE"' 2026-06-15 13:12:17.739 [INFO] Evaluating transaction - MTI: 0200, PC: 000000, Type: SALE, Amount: 200.0, Rules: 0, Timestamp: 2026-06-15 13:12:17.739904Z 2026-06-15 13:12:17.739 [INFO] ALLOWED - All rules passed 2026-06-15 13:12:17.740 [INFO] Decision: ALLOW, Code: 00, Message: Approved by rules engine 2026-06-15 13:12:17.740 [INFO] Returning response: %{code: "00", message: "Approved by rules engine", header: %{logo: "uploads/merchant_logos/1588/logo.jpeg", merchant_name: "Cafe", merchant_address: "Dubai"}, footer: %{message: "N/A", description: "N/A", logo: "uploads/merchant_logos/1588/logo.jpeg"}, amount: %{value: "200.00", currency: "AED"}, cardholder_name: false, decision: "ALLOW", model_name: true, provider_time: "2026-06-15T13:12:17.739644Z", service_ref_id: "SVR-20260615131217-076410"} 2026-06-15 13:12:17.740 [INFO] Sent 200 in 20ms 2026-06-15 13:21:24.509 [DEBUG] QUERY OK source="global_table" db=0.4ms idle=1913.6ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63 2026-06-15 13:31:24.510 [DEBUG] QUERY OK source="global_table" db=1.9ms idle=1863.8ms SELECT g0.`config_key`, g0.`config_value` FROM `global_table` AS g0 [] ↳ DaProductApp.GlobalSettings.load_once/1, at: lib/da_product_app/global_settings.ex:63