Skip to content

feat(mercury): import pending transactions and store kind/counterpartyId metadata #2463

Description

@JSONbored

Mercury Banking sync misses three data points present in every Mercury API payload:

  • Pending transactions are silently droppedstatus: "pending" entries are never imported, so Mercury pending charges don't appear until they post.
  • Payment rail (kind) is not stored — Mercury returns kind: "ACH" | "Wire" | "Card" | "InternalTransfer" on every transaction; the field is unused.
  • Counterparty ID is not stored — Mercury provides counterpartyId (a stable UUID) useful for deduplication and future analytics; the field is unused.

Additionally, Transaction::PENDING_PROVIDERS does not include "mercury", so even if pending data were stored, the existing pending-detection SQL and Transaction#pending? would never check it.

Scope: import pending Mercury transactions, store kind and counterpartyId under extra["mercury"], add "mercury" to PENDING_PROVIDERS so the existing pending→posted reconciliation pipeline activates for Mercury, with test coverage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions