> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nexapay.ng/llms.txt
> Use this file to discover all available pages before exploring further.

# Cross-Border Webhooks

> Webhook events sent after cross-border collection updates

# Cross-Border Webhooks

NexaPay sends signed webhooks when a cross-border collection succeeds, fails, or requires review.

## Events

| Event                             | Description                                                                         |
| --------------------------------- | ----------------------------------------------------------------------------------- |
| `cross_border.collection.success` | Sent after the merchant NGN wallet has been credited.                               |
| `cross_border.collection.failed`  | Sent when the provider reports the collection failed.                               |
| `cross_border.collection.review`  | Sent when the provider confirmation does not match the expected amount or currency. |

## Success Payload

```json theme={null}
{
  "event": "cross_border.collection.success",
  "eventId": "evt_01K4ABCD1234XYZ",
  "businessId": "69e698368d883f70f4d4ed21",
  "businessName": "Acme Stores",
  "environment": "prod",
  "occurredAt": "2026-09-03T13:10:30.000Z",
  "data": {
    "transactionId": "NexaPay20260903140945570d4ed2170c3",
    "merchantReference": "ORDER-TEST-001",
    "sourceAmount": 100,
    "sourceCurrency": "KES",
    "targetAmount": 953.42,
    "targetCurrency": "NGN",
    "rate": 9.5342,
    "status": "COMPLETED",
    "provider": "brails",
    "providerReference": "0f3cd184-6978-4696-9ef8-50d552b7c342"
  }
}
```

## Verification

Cross-border webhooks use the same signing headers and verification flow described in the main Webhooks page.
