PendingPaymentJournal

The process-death insurance policy. A pending row is written here before the SDK launches, so if the app is killed mid-payment (OEM battery kill, user swipe, low memory during the bank's 3DS WebView) the orchestrator can, on next cold start, find unresolved payments and reconcile them against the server. Implemented by core:data (Room).

Functions

Link copied to clipboard
abstract suspend fun markResolved(orderId: String, status: PaymentStatus, paymentId: String?)

Mark a payment resolved with its server-authoritative terminal status.

Link copied to clipboard
abstract fun observeAll(): Flow<List<PendingPayment>>

Full history stream for the History feature.

Link copied to clipboard
abstract suspend fun record(entry: PendingPayment)

Record an in-flight payment before launching the gateway.

Link copied to clipboard
abstract suspend fun unresolved(): List<PendingPayment>

Payments written but not yet resolved — the recovery work list on cold start.