Skip to content

Data Flow & Synchronisation

Payment Nexus sits between two external systems: the brand's CRM (which manages customers and orders) and the PSP (which processes payments). This page explains how information flows between all three, and the mechanisms that keep them in sync.

The Three Systems

  • Brand CRM — manages the brand's customers and initiates checkout sessions
  • Payment Nexus — coordinates the checkout, creates payment records, and keeps all parties in sync
  • PSP — processes the payment and reports the result back

CRM → Payment Nexus: Starting a Payment

The brand's CRM begins every payment flow by calling the Payment Nexus CRM API. This is done via Silent Authentication — the CRM generates a session token on behalf of the customer, without the customer needing to log in.

The CRM call includes the customer's identity, the payment amount, and the destination URLs for each outcome. Payment Nexus validates the request, creates a Checkout Intent Ticket, and returns a checkout URL that the CRM uses to redirect the customer.

PSP → Payment Nexus: Receiving a Payment Result

When a payment is processed, the PSP sends the result to Payment Nexus via an incoming webhook — a notification sent to a URL that Payment Nexus exposes for each PSP.

Payment Nexus acknowledges the notification immediately and processes it in the background. This means the PSP gets a fast confirmation, and Payment Nexus handles the update without holding the PSP waiting. If processing fails for any reason, the notification is retried automatically.

Once processed, the notification updates the Payment Intent Ticket to reflect the new status (succeeded, cancelled, etc.).

Payment Nexus → CRM: Notifying of a Payment Update

After a Payment Intent Ticket is updated, Payment Nexus notifies the brand's CRM by sending it a notification with the latest payment details.

This happens after every status change: when the payment is created, when it succeeds or fails, and when a reconciliation update occurs.

The notification includes:

  • What changed (e.g. payment created, payment updated)
  • The current ticket status
  • The transaction amounts (both in the original currency and in EUR)
  • The customer's ID in the brand's system
  • The PSP transaction ID
  • Checkout session details (if the payment came from a checkout session)

The CRM uses this to update its own records — for example, to mark an order as paid.

CRM updates can be disabled

Individual Payment Intent Tickets can be excluded from automatic CRM notifications via Advanced Settings. When disabled, the Automatically Updates CRM field on the ticket shows No in red.

Keeping Payments in Sync: Reconciliation

Not every payment resolves immediately. Some PSPs take minutes or hours to confirm a result, and occasionally a webhook is missed or fails to process. Payment Nexus uses a tiered schedule of background reconciliation jobs to check back on any payment that has not yet reached a final state.

Reconciliation only runs on payments that have not yet reached a final state. Once a payment succeeds or is cancelled, no further checks are made.

The reconciliation schedule is tiered by age — recent payments are checked frequently, older ones less so:

Payment ageCheck frequency
Under 5 minutesEvery minute
5 – 15 minutesEvery 5 minutes
15 – 30 minutesEvery 15 minutes
30 – 60 minutesEvery 30 minutes
1 – 3 hoursEvery hour
3 – 6 hoursEvery 3 hours
6 – 18 hoursEvery 6 hours
18 – 36 hoursEvery 12 hours
1 – 3 daysDaily
3 – 21 daysWeekly
21 – 90 daysMonthly

Each reconciliation run queries the PSP for the current status of the payment, updates the ticket if anything has changed, and triggers a CRM notification if the status moved.

Manual reconciliation

Operators can trigger a reconciliation check on demand using the Refresh from PSP button on any Payment Intent Ticket. This is useful when a payment appears stuck and you want to fetch the latest status immediately rather than waiting for the next scheduled run.

Full Synchronisation Picture

What Can Go Wrong

SituationWhat happens
PSP webhook is delayed or never arrivesReconciliation jobs will eventually check back and pick up the result
CRM notification fails to deliverThe notification queue will retry delivery
Payment is stuck and reconciliation hasn't run yetUse Refresh from PSP on the PIT for an immediate check
PSP result is ambiguous and cannot be reconciled automaticallyUse Disposition on the PIT to manually set the outcome