Stops PSP-side billing. Adapters implement this verified-idempotent: an already-terminal subscription resolves as success, so replaying a cancel (adoption flows do) can never fail on its own earlier success.
Capture is a charge — the idempotency key is required, per-capture under multi-capture.
Off-session charge of a stored token — the recurring-payments primitive.
Finalizes a tokenize-first payment (e.g. Paysafe) with the clientToken the client adapter's confirm() produced. Rejects for confirm-on-client PSPs.
Creates the PSP-side customer saved instruments attach to. The HOST stores the returned id.
Server-only creation against an already-vaulted instrument (token or mandate).
Missed-webhook recovery: normalized events straight from the PSP's event store. Dedupe by event.id exactly as with delivered webhooks — replaying an already-processed event must be a no-op in the host's handler.
Optionalinput: FetchEventsInputOptionalinput: ListNativeSubscriptionsInputOptionalinput: ListPaymentsInputOptionalinput: ListRefundsInputPush-only PSPs expose no payment read — their hosts follow webhooks instead.
Polls a refund to a terminal state (refundPayment can return "pending"). Gated on the refund READ, not on refund support: a PSP can move money out and expose no way to read the refund back.
Tokenize-first PSPs: converts a client-produced single-use token into a
permanent stored instrument. Confirm-on-client PSPs vault during checkout
(savePaymentMethod on the session) and reject this call.
Amends a not-yet-completed session (e.g. cart total changed). Some PSPs re-issue the session — always continue with the RETURNED PaymentSession.
Unified server-side orchestration over a registry of ServerPaymentAdapters.
Stateless: holds no database and persists nothing. The consuming application owns the internal-id -> pspPaymentId mapping, the webhook dedupe store, and any audit log. Every call names the target PSP explicitly.