Payment integrations currently track the
payment_to_wallet flow. Reconify polls the
provider after your event arrives, so integrations neither create payments nor receive
provider webhooks.How provider checks work
The check runs in four steps, all of them outside your HTTP request:1
Configure a connection
In the dashboard, Integrations holds one entry per provider, each with a
sandbox or live environment and its own credentials. Reconify gives the
integration an opaque reference such as int_01J9XSTRIPE01.2
Send the payment event
A
payment.initiated event carrying the integration reference and a provider lookup
value starts the tracking. Reconify accepts the event without waiting for the
provider.3
Reconify checks the provider
A background worker looks up the transaction and normalizes the provider response.
4
The evidence lands on the operation
A successful lookup adds
payment.succeeded provider evidence. A known negative
status adds payment.failed provider evidence. Your own events stay separate and
immutable throughout.payment_to_wallet, the monitoring deadline is
five minutes after occurred_at, and provider tracking continues through a two-minute
grace period after that before it stops. A provider result inside the grace period
resolves an open finding as resolved_late.
Five outcomes are possible, and each one leaves you with a different next move:
Connect a provider
An organization owner or admin configures the connection in the dashboard, with provider credentials for the environment they intend to track. Saved credentials go to Supabase Vault, and the dashboard never returns a secret value afterwards. The optional dashboard test runs after the integration is saved. A connection-only test checks the configuration, and supplying a sample transaction ID or reference also checks the lookup and the status mapping. Running a test changes nothing about the integration’s state. Health and active state are two separate signals:Add the lookup value
The provider lookup identity travels in the event’sdata object.
provider_transaction_id is the first choice wherever the provider returns one, and
provider_reference covers the adapters that support reference lookup.
Numeric provider identifiers travel as strings, which means
"provider_transaction_id": "123456" rather than "provider_transaction_id": 123456.
The event otherwise follows the ordinary event contract. integration_ref is the single
field that asks Reconify to poll a configured integration, and its value is the opaque
reference from the integration detail page. The provider field is descriptive context
and selects nothing.
accepted means Reconify stored the event. The provider outcome appears later, on the
operation in the dashboard or through an event read.
When the provider check degrades
A timeout, authentication failure, rate limit, or unmapped status is a provider issue. Reconify never converts one into a syntheticpayment.failed, because provider checks are
evidence rather than authority over your events.
Recovery runs through the integration, never through the original event:
- The saved integration in the dashboard shows its latest health reason and environment.
- Expired or incorrect credentials get replaced, and the endpoint gets confirmed.
- The status mapping gets extended to cover the provider value that went unmapped.
- The optional test, run with a safe provider-side identifier, confirms the fix.
Configure a manual integration
The Manual provider covers a payment system that exposes an HTTPS lookup endpoint without a built-in adapter. Five values define it in the dashboard:- Endpoint is an HTTPS
GETURL that carries{provider_transaction_id}or{provider_reference}where the lookup value belongs. - Authentication is none, bearer, basic, or custom headers. Secret values are stored separately from the non-secret configuration.
- Status path is the JSON path holding the provider status, such as
payment.status. - Status mappings translate provider values into
success,failure, orpending. - Optional response paths map the provider transaction ID, reference, amount, and currency when the response carries them.
https://payments.example.com/v1/transactions/{provider_reference} could return:
payment.status, paid mapped to success, and a
mapping for every other value the system returns. An unmapped value becomes a provider
issue rather than an outcome.
What comes next
Two pages cover what happens around the provider evidence.Go live
Identity, retries, security, and observability before launch.
Monitoring model
How events become operations and findings.