Initiate a tag-to-tag payment
Changed onCreates a new cross-application payment from a tag owned by the calling application to any tag on any application. The transaction starts in AWAITING_ACCEPTANCE state.
The receiving application is notified via webhook and must call POST /v1/transactions/{reference}/accept or .../reject.
Idempotency: Supply a unique Idempotency-Key header; duplicate calls within 24 hours return the original response without creating a new transaction.
Rate limited to 60 requests per minute per application.
Request
- Base URLhttps://idaas.yourflexpay.com/api
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Headers
Optional idempotency key (UUID or any unique string, max 128 chars). Duplicate calls with the same key within 24 hours return the original response.
Request body
Example request
{
"senderTag": "@alice",
"receiverTag": "@bob",
"amount": 1500,
"currency": "NGN",
"narration": "School fees payment",
"callbackUrl": "https://my-app.example.com/webhooks/transactions",
"idempotencyKey": "550e8400-e29b-41d4-a716-446655440000"
}Response
Transaction initiated successfully
Example response
{
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"reference": "TXN-16820000-AB1C2D3E",
"senderTag": "@alice",
"senderAppName": "WalletApp",
"receiverTag": "@bob",
"receiverAppName": "PaymentsApp",
"amount": 1500,
"currency": "NGN",
"status": "AWAITING_ACCEPTANCE",
"narration": "School fees payment",
"webhooks": [
{
"transactionReference": "TXN-16820000-AB1C2D3E",
"targetUrl": "https://app-b.example.com/webhooks/transactions",
"eventType": "TRANSACTION_INITIATED"
}
]
}
}Changes
- info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status
- info