Payment providers

manual_external and hmac_json_v1 adapters, webhooks, and settlement reconciliation.

/dashboard/platform/payments. configurePaymentProvider sets an adapter on a PaymentProvider.

AdapterBehavior
manual_externalRecords a card or wallet payment an outside terminal already took. No webhooks
hmac_json_v1Also accepts signed webhooks at /api/webhooks/payment/[providerId]

Both require a short-lived signed authority proof for each non-cash tender and refund. The signing key is an env://NAME credential reference whose value is 32+ characters.

Webhooks

Headers: x-openfront-timestamp, x-openfront-signature: v1=<hex> (HMAC-SHA256 of timestamp.body, within five minutes). Events: payment.captured, payment.failed, refund.completed, refund.failed. Duplicate event ids are replayed, not re-applied (WebhookEvent).

Reconcile settlement

Generate

generatePaymentReconciliation for a period up to 32 days.

Review lines

PaymentReconciliationLine shows each tender against the provider amount.

Approve

approvePaymentReconciliation.

On this page