[info] GET /pgpayments [debug] Processing with PaymentGatewayAppWeb.Router Parameters: %{"tabId" => "1779170834600-v7pbtcmft", "token" => "JTdCJTIyY3JlZGVudGlhbHMlMjIlM0ElN0IlMjJ1c2VyJTIyJTNBJTIyNDc0JTIyJTJDJTIya2V5JTIyJTNBJTIyalJ5U0NnR0JVSUlYSkIxWDhhRUo2S2pBYnRGRHpqVmQzZVo0R1JYbERVYmh4WVd2RTclMjIlMkMlMjJ2ZXJzaW9uJTIyJTNBJTIySElTVjIlMjIlN0QlMkMlMjJ1c2VybmFtZSUyMiUzQSUyMjQ3NCUyMiUyQyUyMmNhc2hpZXJfaWQlMjIlM0ElMjI0NzQlMjIlMkMlMjJjdXN0b21lcl9kZXRhaWxzJTIyJTNBJTVCJTdCJTIyY3VzdG9tZXJfbmFtZSUyMiUzQSUyMk1lZ2hhbmElMjIlMkMlMjJjdXN0b21lcl9pZCUyMiUzQSUyMkNVU1RfMTc3OTE3MzYzNDAyMCUyMiUyQyUyMnBheW1lbnRfYW1vdW50JTIyJTNBNjI5Ny45JTJDJTIyY3VzdG9tZXJfZW1haWwlMjIlM0ElMjJtZWdoYW5hJTQwZXhhbXBsZS5jb20lMjIlMkMlMjJjdXN0b21lcl9waG9uZSUyMiUzQSUyMiUyQjk3MSUyMDUwJTIwMTIzJTIwNDU2NyUyMiU3RCU1RCUyQyUyMnByb2Nlc3NpbmdfaWQlMjIlM0ElMjJPUkRfMTc3OTE3MzYzNDAyMCUyMiUyQyUyMnBheW1vZGUlMjIlM0ElMjJtb21lbnRwYXktcGclMjIlMkMlMjJwYXltZW50X2ZpbGwlMjIlM0ElMjJwcmVfZnVsbCUyMiUyQyUyMnRyYW5zYWN0aW9uX2xvY2F0aW9uJTIyJTNBJTIyRHViYWklMjIlMkMlMjJsb2NhdGlvbl9pZCUyMiUzQSUyMjElMjIlMkMlMjJjdXJyZW5jeSUyMiUzQSUyMkFFRCUyMiUyQyUyMnJldHVybl91cmwlMjIlM0ElMjJodHRwJTNBJTJGJTJGZGVtby5jdHJtdi5jb20lM0E0MDY1JTJGb3JkZXIlMkZjb25maXJtYXRpb24lMjIlMkMlMjJ0YWJJZCUyMiUzQSUyMjE3NzkxNzA4MzQ2MDAtdjdwYnRjbWZ0JTIyJTJDJTIyY2FsbGJhY2tfdXJsJTIyJTNBJTIyaHR0cCUzQSUyRiUyRmRlbW8uY3RybXYuY29tJTNBNDA2NSUyRnBheW1lbnQlMkZjYWxsYmFjayUyMiUyQyUyMmxvZ29fdXJsJTIyJTNBJTIyaHR0cHMlM0ElMkYlMkZ2aWEucGxhY2Vob2xkZXIuY29tJTJGMTUweDUwJTNGdGV4dCUzRFRlY2hTdG9yZSUyMiUyQyUyMnlzcF91cmwlMjIlM0ElMjJodHRwJTNBJTJGJTJGZGVtby5jdHJtdi5jb20lM0E0MDU1JTJGcGdwYXltZW50cyUyMiU3RA==", "user_id" => "474"} Pipelines: [:browser] [debug] Processing with PaymentGatewayAppWeb.PageController.iframe/2 Parameters: %{"tabId" => "1779170834600-v7pbtcmft", "token" => "JTdCJTIyY3JlZGVudGlhbHMlMjIlM0ElN0IlMjJ1c2VyJTIyJTNBJTIyNDc0JTIyJTJDJTIya2V5JTIyJTNBJTIyalJ5U0NnR0JVSUlYSkIxWDhhRUo2S2pBYnRGRHpqVmQzZVo0R1JYbERVYmh4WVd2RTclMjIlMkMlMjJ2ZXJzaW9uJTIyJTNBJTIySElTVjIlMjIlN0QlMkMlMjJ1c2VybmFtZSUyMiUzQSUyMjQ3NCUyMiUyQyUyMmNhc2hpZXJfaWQlMjIlM0ElMjI0NzQlMjIlMkMlMjJjdXN0b21lcl9kZXRhaWxzJTIyJTNBJTVCJTdCJTIyY3VzdG9tZXJfbmFtZSUyMiUzQSUyMk1lZ2hhbmElMjIlMkMlMjJjdXN0b21lcl9pZCUyMiUzQSUyMkNVU1RfMTc3OTE3MzYzNDAyMCUyMiUyQyUyMnBheW1lbnRfYW1vdW50JTIyJTNBNjI5Ny45JTJDJTIyY3VzdG9tZXJfZW1haWwlMjIlM0ElMjJtZWdoYW5hJTQwZXhhbXBsZS5jb20lMjIlMkMlMjJjdXN0b21lcl9waG9uZSUyMiUzQSUyMiUyQjk3MSUyMDUwJTIwMTIzJTIwNDU2NyUyMiU3RCU1RCUyQyUyMnByb2Nlc3NpbmdfaWQlMjIlM0ElMjJPUkRfMTc3OTE3MzYzNDAyMCUyMiUyQyUyMnBheW1vZGUlMjIlM0ElMjJtb21lbnRwYXktcGclMjIlMkMlMjJwYXltZW50X2ZpbGwlMjIlM0ElMjJwcmVfZnVsbCUyMiUyQyUyMnRyYW5zYWN0aW9uX2xvY2F0aW9uJTIyJTNBJTIyRHViYWklMjIlMkMlMjJsb2NhdGlvbl9pZCUyMiUzQSUyMjElMjIlMkMlMjJjdXJyZW5jeSUyMiUzQSUyMkFFRCUyMiUyQyUyMnJldHVybl91cmwlMjIlM0ElMjJodHRwJTNBJTJGJTJGZGVtby5jdHJtdi5jb20lM0E0MDY1JTJGb3JkZXIlMkZjb25maXJtYXRpb24lMjIlMkMlMjJ0YWJJZCUyMiUzQSUyMjE3NzkxNzA4MzQ2MDAtdjdwYnRjbWZ0JTIyJTJDJTIyY2FsbGJhY2tfdXJsJTIyJTNBJTIyaHR0cCUzQSUyRiUyRmRlbW8uY3RybXYuY29tJTNBNDA2NSUyRnBheW1lbnQlMkZjYWxsYmFjayUyMiUyQyUyMmxvZ29fdXJsJTIyJTNBJTIyaHR0cHMlM0ElMkYlMkZ2aWEucGxhY2Vob2xkZXIuY29tJTJGMTUweDUwJTNGdGV4dCUzRFRlY2hTdG9yZSUyMiUyQyUyMnlzcF91cmwlMjIlM0ElMjJodHRwJTNBJTJGJTJGZGVtby5jdHJtdi5jb20lM0E0MDU1JTJGcGdwYXltZW50cyUyMiU3RA==", "user_id" => "474"} Pipelines: [:public] [info] Sent 302 in 1ms [info] GET /pgpayments/gateway [debug] Processing with PaymentGatewayAppWeb.Router Parameters: %{"tabId" => "1779170834600-v7pbtcmft", "token" => "JTdCJTIyY3JlZGVudGlhbHMlMjIlM0ElN0IlMjJ1c2VyJTIyJTNBJTIyNDc0JTIyJTJDJTIya2V5JTIyJTNBJTIyalJ5U0NnR0JVSUlYSkIxWDhhRUo2S2pBYnRGRHpqVmQzZVo0R1JYbERVYmh4WVd2RTclMjIlMkMlMjJ2ZXJzaW9uJTIyJTNBJTIySElTVjIlMjIlN0QlMkMlMjJ1c2VybmFtZSUyMiUzQSUyMjQ3NCUyMiUyQyUyMmNhc2hpZXJfaWQlMjIlM0ElMjI0NzQlMjIlMkMlMjJjdXN0b21lcl9kZXRhaWxzJTIyJTNBJTVCJTdCJTIyY3VzdG9tZXJfbmFtZSUyMiUzQSUyMk1lZ2hhbmElMjIlMkMlMjJjdXN0b21lcl9pZCUyMiUzQSUyMkNVU1RfMTc3OTE3MzYzNDAyMCUyMiUyQyUyMnBheW1lbnRfYW1vdW50JTIyJTNBNjI5Ny45JTJDJTIyY3VzdG9tZXJfZW1haWwlMjIlM0ElMjJtZWdoYW5hJTQwZXhhbXBsZS5jb20lMjIlMkMlMjJjdXN0b21lcl9waG9uZSUyMiUzQSUyMiUyQjk3MSUyMDUwJTIwMTIzJTIwNDU2NyUyMiU3RCU1RCUyQyUyMnByb2Nlc3NpbmdfaWQlMjIlM0ElMjJPUkRfMTc3OTE3MzYzNDAyMCUyMiUyQyUyMnBheW1vZGUlMjIlM0ElMjJtb21lbnRwYXktcGclMjIlMkMlMjJwYXltZW50X2ZpbGwlMjIlM0ElMjJwcmVfZnVsbCUyMiUyQyUyMnRyYW5zYWN0aW9uX2xvY2F0aW9uJTIyJTNBJTIyRHViYWklMjIlMkMlMjJsb2NhdGlvbl9pZCUyMiUzQSUyMjElMjIlMkMlMjJjdXJyZW5jeSUyMiUzQSUyMkFFRCUyMiUyQyUyMnJldHVybl91cmwlMjIlM0ElMjJodHRwJTNBJTJGJTJGZGVtby5jdHJtdi5jb20lM0E0MDY1JTJGb3JkZXIlMkZjb25maXJtYXRpb24lMjIlMkMlMjJ0YWJJZCUyMiUzQSUyMjE3NzkxNzA4MzQ2MDAtdjdwYnRjbWZ0JTIyJTJDJTIyY2FsbGJhY2tfdXJsJTIyJTNBJTIyaHR0cCUzQSUyRiUyRmRlbW8uY3RybXYuY29tJTNBNDA2NSUyRnBheW1lbnQlMkZjYWxsYmFjayUyMiUyQyUyMmxvZ29fdXJsJTIyJTNBJTIyaHR0cHMlM0ElMkYlMkZ2aWEucGxhY2Vob2xkZXIuY29tJTJGMTUweDUwJTNGdGV4dCUzRFRlY2hTdG9yZSUyMiUyQyUyMnlzcF91cmwlMjIlM0ElMjJodHRwJTNBJTJGJTJGZGVtby5jdHJtdi5jb20lM0E0MDU1JTJGcGdwYXltZW50cyUyMiU3RA==", "user_id" => "474"} Pipelines: [:browser] [debug] Processing with PaymentGatewayAppWeb.PageController.gateway/2 Parameters: %{"tabId" => "1779170834600-v7pbtcmft", "token" => "JTdCJTIyY3JlZGVudGlhbHMlMjIlM0ElN0IlMjJ1c2VyJTIyJTNBJTIyNDc0JTIyJTJDJTIya2V5JTIyJTNBJTIyalJ5U0NnR0JVSUlYSkIxWDhhRUo2S2pBYnRGRHpqVmQzZVo0R1JYbERVYmh4WVd2RTclMjIlMkMlMjJ2ZXJzaW9uJTIyJTNBJTIySElTVjIlMjIlN0QlMkMlMjJ1c2VybmFtZSUyMiUzQSUyMjQ3NCUyMiUyQyUyMmNhc2hpZXJfaWQlMjIlM0ElMjI0NzQlMjIlMkMlMjJjdXN0b21lcl9kZXRhaWxzJTIyJTNBJTVCJTdCJTIyY3VzdG9tZXJfbmFtZSUyMiUzQSUyMk1lZ2hhbmElMjIlMkMlMjJjdXN0b21lcl9pZCUyMiUzQSUyMkNVU1RfMTc3OTE3MzYzNDAyMCUyMiUyQyUyMnBheW1lbnRfYW1vdW50JTIyJTNBNjI5Ny45JTJDJTIyY3VzdG9tZXJfZW1haWwlMjIlM0ElMjJtZWdoYW5hJTQwZXhhbXBsZS5jb20lMjIlMkMlMjJjdXN0b21lcl9waG9uZSUyMiUzQSUyMiUyQjk3MSUyMDUwJTIwMTIzJTIwNDU2NyUyMiU3RCU1RCUyQyUyMnByb2Nlc3NpbmdfaWQlMjIlM0ElMjJPUkRfMTc3OTE3MzYzNDAyMCUyMiUyQyUyMnBheW1vZGUlMjIlM0ElMjJtb21lbnRwYXktcGclMjIlMkMlMjJwYXltZW50X2ZpbGwlMjIlM0ElMjJwcmVfZnVsbCUyMiUyQyUyMnRyYW5zYWN0aW9uX2xvY2F0aW9uJTIyJTNBJTIyRHViYWklMjIlMkMlMjJsb2NhdGlvbl9pZCUyMiUzQSUyMjElMjIlMkMlMjJjdXJyZW5jeSUyMiUzQSUyMkFFRCUyMiUyQyUyMnJldHVybl91cmwlMjIlM0ElMjJodHRwJTNBJTJGJTJGZGVtby5jdHJtdi5jb20lM0E0MDY1JTJGb3JkZXIlMkZjb25maXJtYXRpb24lMjIlMkMlMjJ0YWJJZCUyMiUzQSUyMjE3NzkxNzA4MzQ2MDAtdjdwYnRjbWZ0JTIyJTJDJTIyY2FsbGJhY2tfdXJsJTIyJTNBJTIyaHR0cCUzQSUyRiUyRmRlbW8uY3RybXYuY29tJTNBNDA2NSUyRnBheW1lbnQlMkZjYWxsYmFjayUyMiUyQyUyMmxvZ29fdXJsJTIyJTNBJTIyaHR0cHMlM0ElMkYlMkZ2aWEucGxhY2Vob2xkZXIuY29tJTJGMTUweDUwJTNGdGV4dCUzRFRlY2hTdG9yZSUyMiUyQyUyMnlzcF91cmwlMjIlM0ElMjJodHRwJTNBJTJGJTJGZGVtby5jdHJtdi5jb20lM0E0MDU1JTJGcGdwYXltZW50cyUyMiU3RA==", "user_id" => "474"} Pipelines: [:embedded_payment] [debug] QUERY OK source="merchant_configuration" db=1.1ms idle=1997.6ms SELECT m0.`id`, m0.`user_id`, m0.`logo`, m0.`description`, m0.`message`, m0.`pri_colour`, m0.`sec_colour`, m0.`settings` FROM `merchant_configuration` AS m0 WHERE (m0.`user_id` = ?) [474] ↳ PaymentGatewayAppWeb.PageController.get_merchant_branding/1, at: lib/payment_gateway_app_web/controllers/page_controller.ex:537 [info] Sent 200 in 2ms [info] POST /pgpayments/api/checksum [debug] Processing with PaymentGatewayAppWeb.Router Parameters: %{"merchant_key" => "jRySCgGBUIIXJB1X8aEJ6KjAbtFDzjVd3eZ4GRXlDUbhxYWvE7", "nar_Secure" => "MERSECURE", "nar_browserlanguage" => "en-US", "nar_browserscreenheight" => "720", "nar_browserscreenwidth" => "1280", "nar_browseruseragent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 Edg/148.0.0.0", "nar_cardNo" => "374740423132009", "nar_cardType" => "AX", "nar_cvv" => "9269", "nar_expirydate" => "2702", "nar_mcccode" => "", "nar_merBankCode" => "01", "nar_merId" => "474", "nar_merTxnTime" => "20260519065401", "nar_msgType" => "AR", "nar_nameoncard" => "Meghana", "nar_orderNo" => "ORD_1779173634020", "nar_paymentDesc" => "Card Payment", "nar_remitterEmail" => "meghana@example.com", "nar_remitterMobile" => "+971 50 123 4567", "nar_returnUrl" => "http://demo.ctrmv.com:4065/order/confirmation", "nar_txnAmount" => "6297.9", "nar_txnCurrency" => "AED", "nar_version" => "1.0"} Pipelines: [:browser] [info] Sent 403 in 53ms [debug] ** (Plug.CSRFProtection.InvalidCSRFTokenError) invalid CSRF (Cross Site Request Forgery) token, please make sure that: * The session cookie is being sent and session is loaded * The request include a valid '_csrf_token' param or 'x-csrf-token' header (plug 1.16.1) lib/plug/csrf_protection.ex:316: Plug.CSRFProtection.call/2 (da_product_app 0.1.0) DaProductAppWeb.Router.browser/2 (da_product_app 0.1.0) lib/da_product_app_web/router.ex:1: DaProductAppWeb.Router.__pipe_through0__/1 (phoenix 1.7.19) lib/phoenix/router.ex:475: Phoenix.Router.__call__/5 (da_product_app 0.1.0) lib/da_product_app_web/endpoint.ex:1: DaProductAppWeb.Endpoint.plug_builder_call/2 (da_product_app 0.1.0) deps/plug/lib/plug/debugger.ex:136: DaProductAppWeb.Endpoint."call (overridable 3)"/2 (da_product_app 0.1.0) lib/da_product_app_web/endpoint.ex:1: DaProductAppWeb.Endpoint.call/2 (phoenix 1.7.19) lib/phoenix/endpoint/sync_code_reload_plug.ex:22: Phoenix.Endpoint.SyncCodeReloadPlug.do_call/4 (bandit 1.6.7) lib/bandit/pipeline.ex:129: Bandit.Pipeline.call_plug!/2 (bandit 1.6.7) lib/bandit/pipeline.ex:40: Bandit.Pipeline.run/4 (bandit 1.6.7) lib/bandit/http1/handler.ex:12: Bandit.HTTP1.Handler.handle_data/3 (bandit 1.6.7) lib/bandit/delegating_handler.ex:18: Bandit.DelegatingHandler.handle_data/3 (bandit 1.6.7) lib/bandit/delegating_handler.ex:8: Bandit.DelegatingHandler.handle_info/2 (stdlib 5.2.3.2) gen_server.erl:1095: :gen_server.try_handle_info/3 (stdlib 5.2.3.2) gen_server.erl:1183: :gen_server.handle_msg/6 (stdlib 5.2.3.2) proc_lib.erl:241: :proc_lib.init_p_do_apply/3 [info] POST /pgpayments/process [debug] Processing with PaymentGatewayAppWeb.PaymentMiddlewareController.process/2 Parameters: %{"nar_Secure" => "MERSECURE", "nar_browserlanguage" => "en-US", "nar_browserscreenheight" => "720", "nar_browserscreenwidth" => "1280", "nar_browseruseragent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 Edg/148.0.0.0", "nar_cardNo" => "374740423132009", "nar_cardType" => "AX", "nar_checkSum" => "", "nar_cvv" => "9269", "nar_expirydate" => "2702", "nar_mcccode" => "", "nar_merBankCode" => "01", "nar_merId" => "474", "nar_merTxnTime" => "20260519065401", "nar_msgType" => "AR", "nar_nameoncard" => "Meghana", "nar_orderNo" => "ORD_1779173634020", "nar_paymentDesc" => "Card Payment", "nar_remitterEmail" => "meghana@example.com", "nar_remitterMobile" => "+971 50 123 4567", "nar_returnUrl" => "http://demo.ctrmv.com:4065/order/confirmation", "nar_txnAmount" => "6297.9", "nar_txnCurrency" => "AED", "nar_version" => "1.0"} Pipelines: [:non_csrf] [info] Payment middleware: Received NAR request for order ORD_1779173634020 [debug] QUERY OK source="pos_transaction" db=22.9ms queue=5.1ms idle=995.3ms INSERT INTO `pos_transaction` (`id`,`metadata`,`response_code`,`response_message`,`currency_code`,`entry_mode`,`masked_card_no`,`mti`,`proc_code`,`s_txn_type`,`total_amount`,`created_dateTime`,`updated_dateTime`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?) [1779173644171, "{\"closure_status\":\"PENDING\",\"order_ref\":\"ORD_1779173634020\",\"source\":\"payment_gateway\"}", "00", "Transaction initiated", "AED", "051", "***********2009", "0100", "000000", "SALE", Decimal.new("6297.9"), ~N[2026-05-19 06:54:04], ~N[2026-05-19 06:54:04]] ↳ PaymentGatewayApp.Transactions.create_pg_transaction/1, at: lib/payment_gateway_app/transactions.ex:86 [debug] QUERY OK source="pos_transaction" db=2.1ms idle=1023.8ms SELECT p0.`id`, p0.`s_txn_type`, p0.`s_tid`, p0.`s_mid`, p0.`s_tid_stan`, p0.`s_tid_invoiceno`, p0.`s_tid_batchno`, p0.`b_tid`, p0.`b_mid`, p0.`acquirer_id`, p0.`b_tid_stan`, p0.`b_tid_invoiceno`, p0.`b_tid_batchno`, p0.`b_tid_date`, p0.`b_tid_time`, p0.`entry_mode`, p0.`condition_code`, p0.`currency_code`, p0.`mti`, p0.`proc_code`, p0.`total_amount`, p0.`auth_amount`, p0.`cash_amount`, p0.`tip_amount`, p0.`approval_code`, p0.`reference_no`, p0.`response_code`, p0.`response_message`, p0.`mcc_code`, p0.`encrypted_track2`, p0.`encrypted_pan`, p0.`hash_pan`, p0.`masked_card_no`, p0.`encrypted_expiry`, p0.`pan_seq`, p0.`emv_data`, p0.`acquirer_reference_no`, p0.`scheme_reference_no`, p0.`created_dateTime`, p0.`updated_dateTime`, p0.`metadata` FROM `pos_transaction` AS p0 WHERE (p0.`id` = ?) [1779173644171] ↳ PaymentGatewayApp.Transactions.create_pg_transaction/1, at: lib/payment_gateway_app/transactions.ex:89 [info] Stored pending transaction ID: 1779173644171 [info] Payment middleware: Stored transaction 1779173644171, forwarding to simulator [info] Sent 200 in 40ms [info] POST /pgpayments/callback [debug] Processing with PaymentGatewayAppWeb.PageController.callback/2 Parameters: %{"nar_cardNo" => "3747XXXXXXXX2009", "nar_cardType" => "AX", "nar_checkSum" => "f4ebce2a82022a8230274f8cc631843533d7bc090c0c0ee1afdea5c06b9250dc", "nar_debitAuthCode" => "00", "nar_debitAuthNo" => "568351", "nar_merId" => "474", "nar_merTxnTime" => "20260519065401", "nar_msgType" => "AC", "nar_narTxnId" => "1779173644728637059", "nar_narTxnTime" => "20260519065411", "nar_orderNo" => "ORD_1779173634020", "nar_paymentId" => "1779173644728637059", "nar_remarks" => "Approved", "nar_remitterBankId" => "TEST0001", "nar_remitterName" => "Meghana", "nar_txnAmount" => "6297.9", "nar_txnCurrency" => "AED", "original_return" => "http://demo.ctrmv.com:4065/order/confirmation", "txn_id" => "1779173644171"} Pipelines: [:non_csrf] [info] Payment callback received: %{"nar_cardNo" => "3747XXXXXXXX2009", "nar_cardType" => "AX", "nar_checkSum" => "f4ebce2a82022a8230274f8cc631843533d7bc090c0c0ee1afdea5c06b9250dc", "nar_debitAuthCode" => "00", "nar_debitAuthNo" => "568351", "nar_merId" => "474", "nar_merTxnTime" => "20260519065401", "nar_msgType" => "AC", "nar_narTxnId" => "1779173644728637059", "nar_narTxnTime" => "20260519065411", "nar_orderNo" => "ORD_1779173634020", "nar_paymentId" => "1779173644728637059", "nar_remarks" => "Approved", "nar_remitterBankId" => "TEST0001", "nar_remitterName" => "Meghana", "nar_txnAmount" => "6297.9", "nar_txnCurrency" => "AED", "original_return" => "http://demo.ctrmv.com:4065/order/confirmation", "txn_id" => "1779173644171"} [debug] QUERY OK source="pos_transaction" db=1.5ms idle=1694.8ms SELECT p0.`id`, p0.`s_txn_type`, p0.`s_tid`, p0.`s_mid`, p0.`s_tid_stan`, p0.`s_tid_invoiceno`, p0.`s_tid_batchno`, p0.`b_tid`, p0.`b_mid`, p0.`acquirer_id`, p0.`b_tid_stan`, p0.`b_tid_invoiceno`, p0.`b_tid_batchno`, p0.`b_tid_date`, p0.`b_tid_time`, p0.`entry_mode`, p0.`condition_code`, p0.`currency_code`, p0.`mti`, p0.`proc_code`, p0.`total_amount`, p0.`auth_amount`, p0.`cash_amount`, p0.`tip_amount`, p0.`approval_code`, p0.`reference_no`, p0.`response_code`, p0.`response_message`, p0.`mcc_code`, p0.`encrypted_track2`, p0.`encrypted_pan`, p0.`hash_pan`, p0.`masked_card_no`, p0.`encrypted_expiry`, p0.`pan_seq`, p0.`emv_data`, p0.`acquirer_reference_no`, p0.`scheme_reference_no`, p0.`created_dateTime`, p0.`updated_dateTime`, p0.`metadata` FROM `pos_transaction` AS p0 WHERE (p0.`id` = ?) [1779173644171] ↳ PaymentGatewayApp.Transactions.get_pg_transaction/1, at: lib/payment_gateway_app/transactions.ex:136 [debug] QUERY OK source="pos_transaction" db=13.1ms queue=0.5ms idle=696.3ms UPDATE `pos_transaction` SET `metadata` = ?, `approval_code` = ?, `response_message` = ?, `updated_dateTime` = ? WHERE `id` = ? ["{\"closure_status\":\"COMPLETED\",\"completed_dateTime\":\"2026-05-19T06:54:11Z\",\"order_ref\":\"ORD_1779173634020\",\"pg_reference\":\"1779173644728637059\",\"source\":\"payment_gateway\"}", "568351", "Approved", ~N[2026-05-19 06:54:11], 1779173644171] ↳ PaymentGatewayApp.Transactions.update_pg_transaction/2, at: lib/payment_gateway_app/transactions.ex:249 [info] Transaction 1779173644171 updated successfully [info] Redirecting to merchant return URL: http://demo.ctrmv.com:4065/order/confirmation?message=Approved&status=completed&order_id=ORD_1779173634020&transaction_id=1779173644728637059&approval_code=568351&status_code=00 [info] Sent 302 in 17ms Order Confirmation Params: %{ "approval_code" => "568351", "message" => "Approved", "order_id" => "ORD_1779173634020", "status" => "completed", "status_code" => "00", "transaction_id" => "1779173644728637059" } [info] GET /order/confirmation [debug] Processing with DaProductAppWeb.PageController.order_confirmation/2 Parameters: %{"approval_code" => "568351", "message" => "Approved", "order_id" => "ORD_1779173634020", "status" => "completed", "status_code" => "00", "transaction_id" => "1779173644728637059"} Pipelines: [:browser] [info] Sent 200 in 1ms