00:00 +0: loading C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart 00:00 +0: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: quota GET preserves branch as one segment and never targets slip endpoint (123) 00:00 +1: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: quota GET preserves branch as one segment and never targets slip endpoint (fixture-branch_abc) 00:00 +2: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: full URL in branch config is rejected before authenticated request 00:00 +3: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: quota rejection retains only safe HTTP status and numeric provider code 00:00 +4: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: branch accepts safe opaque IDs and rejects path/control characters 00:00 +5: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: simultaneous payment retries invoke verification once and release gate 00:00 +6: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: failed verification releases gate for safe retry 00:00 +7: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: valid multipart uses backend amount, log and private HTTPS header Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.388495Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +8: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: valid payment verification checks all required fields 00:00 +9: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: successful provider response with wrong amount still fails locally Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.414099Z expectedAmount=16500.00 actualAmount=1.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +10: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: successful provider response with wrong amount still fails locally 00:00 +11: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: wrong receiver fails verification 00:00 +12: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: two baht JPEG bytes reach multipart unchanged with log=true Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.421357Z expectedAmount=2.00 actualAmount=2.00 imageBytes=6 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +13: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: missing transaction reference and invalid date are rejected 00:00 +14: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1012 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1012 at=2026-10-07T05:48:27.430671Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +15: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: provider unavailable propagates a safe backend error Shell: [SlipOK] status=400 code=1013 at=2026-10-07T05:48:27.437423Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +16: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slip_verification_service_test.dart: provider unavailable propagates a safe backend error 00:00 +17: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1014 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1014 at=2026-10-07T05:48:27.441495Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +18: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1005 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1005 at=2026-10-07T05:48:27.454966Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +19: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1006 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1006 at=2026-10-07T05:48:27.459039Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +20: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1007 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1007 at=2026-10-07T05:48:27.471580Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +21: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1008 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1008 at=2026-10-07T05:48:27.477593Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +22: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider rejection 1011 is safe and does not reuse reference Shell: [SlipOK] status=400 code=1011 at=2026-10-07T05:48:27.482819Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +23: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1001 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1001 at=2026-10-07T05:48:27.488967Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +24: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1002 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1002 at=2026-10-07T05:48:27.494111Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +25: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1003 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1003 at=2026-10-07T05:48:27.498832Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +26: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1004 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1004 at=2026-10-07T05:48:27.506Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +27: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1009 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1009 at=2026-10-07T05:48:27.511686Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +28: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: config/quota/bank failure 1010 is unavailable, not invalid slip Shell: [SlipOK] status=400 code=1010 at=2026-10-07T05:48:27.516933Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +29: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: HTTP 429 is retryable infrastructure failure Shell: [SlipOK] status=429 code=1011 at=2026-10-07T05:48:27.521009Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +30: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: HTTP 503 is retryable infrastructure failure Shell: [SlipOK] status=503 code=1011 at=2026-10-07T05:48:27.527708Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=false dataSuccess=false receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=false receivingBankPresent=false 00:00 +31: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: network errors redact transport details 00:00 +32: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: timeout remains retryable 00:00 +33: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: missing configuration never sends request 00:00 +34: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: invalid and oversized files never reach provider 00:00 +35: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: invalid and oversized files never reach provider 00:00 +36: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: invalid and oversized files never reach provider 00:00 +37: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: API verification uses persisted payment amount and stale evidence guard 00:00 +38: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: provider success accepts missing optional receiver display metadata Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.698614Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=false hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=false 00:00 +39: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: new payment uses the winning bid and existing stored amounts are preserved Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.705252Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +40: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: new payment uses the winning bid and existing stored amounts are preserved 00:00 +41: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) PromptPay: branch verification is independent of display value Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.711493Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=false hasReceiverProxy=true hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +42: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: payment test amount configuration no longer affects runtime Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.719197Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +43: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) fully masked: branch verification is independent of display value 00:00 +44: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_configuration_test.dart: live payment mode cannot be overridden to Demo verifier 00:00 +45: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) successful log=true accepts missing account/proxy display values Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.724916Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=true hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +46: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) receiver object alone is audit metadata after provider success Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.733253Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=false hasReceiverProxy=false hasDisplayName=true hasReceiverName=true hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +47: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 400/code 1011 remains a provider rejection Shell: [SlipOK] status=400 code=1011 at=2026-10-07T05:48:27.738859Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +48: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 400/code 1012 remains a provider rejection Shell: [SlipOK] status=400 code=1012 at=2026-10-07T05:48:27.748737Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +49: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 400/code 1013 remains a provider rejection Shell: [SlipOK] status=400 code=1013 at=2026-10-07T05:48:27.752806Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +50: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 400/code 1014 remains a provider rejection Shell: [SlipOK] status=400 code=1014 at=2026-10-07T05:48:27.757506Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +51: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 200 with root.success=false is not provider proof Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.760604Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=false dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +52: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 200 with root.success=null is not provider proof Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.764755Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=false dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +53: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 200 with root.success=true is not provider proof Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.769837Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=false dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +54: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) data.success=null is not provider proof Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.774606Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=false receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +55: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) data.success=true is not provider proof Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.780199Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=false receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +56: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) blank transaction reference is rejected after provider success Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.784778Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=true receivingBankPresent=true 00:00 +57: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) 1012 overrides even HTTP 200 and populated success response Shell: [SlipOK] status=200 code=1012 at=2026-10-07T05:48:27.791015Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +58: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) 1014 overrides even success flags and populated receiver Shell: [SlipOK] status=400 code=1014 at=2026-10-07T05:48:27.795125Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +59: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) data.success false never proves receiver verification Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.800793Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=false receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +60: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) provider receiver proof does not bypass required amount Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.803836Z expectedAmount=16500.00 actualAmount=unknown imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=false receivingBankPresent=true 00:00 +61: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) provider receiver proof does not bypass required transRef Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.807440Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=true receivingBankPresent=true 00:00 +62: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) provider receiver proof does not bypass required transTimestamp Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.811128Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=true amountPresent=true receivingBankPresent=true 00:00 +63: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: v1.13 sanitized receiver mapping (mock HTTP only) HTTP 200 with missing transRef cannot finalize verification Shell: [SlipOK] status=200 code=none at=2026-10-07T05:48:27.814730Z expectedAmount=16500.00 actualAmount=16500.00 imageBytes=8 log=true rootSuccess=true dataSuccess=true receiverObject=true hasReceiverAccount=true hasReceiverProxy=false hasDisplayName=false hasReceiverName=false hasTransRef=false amountPresent=true receivingBankPresent=true 00:00 +64: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: quota uses authenticated fixed HTTPS endpoint without redirects 00:00 +65: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/slipok_verifier_test.dart: factory configured SlipOK overrides demo and partial config fails closed 00:00 +66: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: persisted payment verification state paid row with matching persisted SlipOK evidence is verified 00:00 +67: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: persisted payment verification state receiver value may be absent because provider verification is saved 00:00 +68: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: persisted payment verification state does not call a paid row verified when success evidence is incomplete 00:00 +69: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: payment readback and duplicate protection contracts paid status endpoint only reads the existing user/bid payment 00:00 +70: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: payment readback and duplicate protection contracts verify endpoint short-circuits a paid row before provider call 00:00 +71: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: payment readback and duplicate protection contracts same evidence hash remains globally rejected for a different payment 00:00 +72: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: payment readback and duplicate protection contracts same transaction reference remains globally rejected 00:00 +73: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/payment_verification_state_test.dart: payment readback and duplicate protection contracts existing payment row is not duplicated by status readback 00:00 +74: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: PromptPay QR payload normalizes Thai mobile ID and binds the exact amount 00:00 +75: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: PromptPay QR payload supports national ID and e-wallet PromptPay identifiers 00:00 +76: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: PromptPay QR payload rejects unsupported identifiers and fractional satang precision 00:00 +77: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: payment presentation configuration live config exposes a dynamic amount QR only with SlipOK configured 00:00 +78: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: payment presentation configuration missing provider or mismatched receiver fails closed 00:00 +79: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/server/promptpay_qr_test.dart: payment presentation configuration demo UI requires explicit development mode and demo verifier 00:00 +80: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: เข้าร่วมกลุ่มส่ง token และอ่านข้อมูลกลุ่มจาก API ได้ 00:01 +81: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: ออกจากกลุ่มส่ง token ไปยัง API ที่ถูกต้อง 00:01 +82: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: อ่านข้อเสนอจริงและสถานะผู้ลงคะแนนได้ 00:01 +83: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: สรุปผลโหวตเรียก finalize endpoint และคืน winning bid 00:01 +84: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: API ปฏิเสธสิทธิ์แล้วส่งข้อความที่อ่านเข้าใจได้ให้แอป 00:01 +85: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: ยังไม่ชำระเงิน API ต้องคืนค่า null ไม่ใช่ข้อมูลจำลอง 00:01 +86: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: ข้อเสนอเก็บจำนวนเงินทศนิยมตรงกับค่าจาก Backend 00:01 +87: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: อ่าน payment instructions และจำนวนเงินทศนิยมจาก Backend ได้ 00:01 +88: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: ตรวจหลักฐานแล้วอ่านสถานะชำระเงินสำเร็จได้ 00:01 +89: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: SlipOK rejection reason survives HTTP 200 ok=false payment mapping 00:01 +90: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/group_service_test.dart: อ่านสถานะนัดหมายและคะแนนหลังเดินทางจาก API ได้ 00:01 +91: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/payment_page_test.dart: upload displays safe backend reason: QR ตรวจสอบสลิปหมดอายุหรือไม่พบรายการธุรกรรม กรุณาตรวจสอบสลิป 00:03 +92: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/payment_page_test.dart: upload displays safe backend reason: สลิปนี้ถูกใช้ตรวจสอบไปแล้ว 00:04 +93: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/payment_page_test.dart: upload displays safe backend reason: ยอดเงินในสลิปไม่ตรงกับยอดที่ต้องชำระ 00:04 +94: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/payment_page_test.dart: upload displays safe backend reason: บัญชีผู้รับในสลิปไม่ตรงกับบัญชีของระบบ 00:05 +95: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/payment_page_test.dart: upload displays safe backend reason: ไม่สามารถอ่านข้อมูลจากสลิปได้ กรุณาใช้ภาพสลิปที่ชัดเจน 00:06 +96: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/payment_page_test.dart: upload displays safe backend reason: บริการตรวจสลิปไม่พร้อมใช้งาน กรุณาลองใหม่ 00:07 +97: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/payment_page_test.dart: reopening verified paid SlipOK payment shows stored result only 00:08 +98: C:/Users/Admin/Downloads/TourAppProject/travelin_app/test/payment_page_test.dart: legacy paid row without persisted verification is not overclaimed 00:09 +99: All tests passed!