Skip to content

Handle PataPawaPostPay verify-account timeouts more gracefully #1871

Description

@StuartFerguson

Background

TransactionProcessor#1861 shows a timeout failure in TransactionProcessor.BusinessLogic.OperatorInterfaces.PataPawaPostPay.PataPawaPostPayProxy.PerformVerifyAccountTransaction(...) during POST /api/transactions/sale.

Observed failure: Execution Timeout Expired, which suggests the downstream payment service or one of its dependencies is not completing within the expected window.

Relevant code

  • TransactionProcessor.BusinessLogic/OperatorInterfaces/PataPawaPostPay/PataPawaPostPayProxy.cs
  • TransactionProcessor.BusinessLogic.Tests/OperatorInterfaces/PataPawaPostPayProxyTests.cs

Problem

The verify-account flow does not have explicit timeout recovery or retry handling. It catches general exceptions in some paths, but timeout behavior is not treated as a distinct transient failure, so the user-facing transaction path can still fail noisily.

Scope

  • Decide whether the verify-account call should retry on transient timeout or availability failures.
  • If retry is not appropriate, surface a clearer failure result and logging context.
  • Add regression coverage for the timeout path so it does not regress silently.

Acceptance criteria

  • A timeout from the PataPawa PostPay verify-account call is handled explicitly.
  • The sale transaction path fails cleanly with a meaningful result or retries within a bounded policy.
  • A regression test covers the timeout case.

Traceability

  • Originating issue: TransactionProcessor#1861
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions