Live API
Status
Check the live status of a payment or transaction by PayoFlux transaction ID. Send a POST request to /api/live/status with your live API key.
Get Payment Status
POST
/api/live/statusEncryptedAPI Key
Payload encryption required. Encrypt the request JSON and send { "payload": "<iv>:<ciphertext>" }. Decrypt the response payload field. Encryption guide →. Do not share your API key or Encryption Key with anyone.
Returns the current status of a payment or transaction. Pass the PayoFlux transaction ID from the payment response in the request body.
Important
All payment API requests must be encrypted on your server before sending. Build the JSON below, encrypt it with your Encryption Key, and POST
{"payload": "<iv_hex>:<ciphertext_hex>"}. Do not share your API key or Encryption Key with anyone — use them only on your backend. See the Encryption guide for code examples.Request structure (encrypt this JSON)
{
"transactionId": "FP260231SJWKL80027"
}Wire format (send this to the API)
Encrypted request body
{
"payload": "3f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a:8e4f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f0"
}Request Parameters
Single reference table grouped by JSON object. Nested fields use dot notation (e.g. payment.amount).
| Field | Type | Required | Description |
|---|---|---|---|
| Transaction | |||
| transactionId | string | Required | PayoFlux transaction ID from a charge or payment response |
Example Request
POST /api/live/status
Authorization: Bearer YOUR_LIVE_API_KEY
Content-Type: application/json
{
"transactionId": "FP260231SJWKL80027"
}Important
All payment API responses — including success, declined, failed, and validation errors — are returned encrypted when you are authenticated. The wire body is
{"success": true|false, "payload": "<iv_hex>:<ciphertext_hex>"}. Decrypt payload with your Encryption Key to read the standard JSON documented below. Outer success mirrors the decrypted outcome (false for declines and errors). Do not share your Encryption Key or API key — keep both on your server only.Wire format (from API)
{
"success": true,
"payload": "7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7:4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8"
}After decryption
Success — transaction found
200{
"success": true,
"status": "SUCCESS",
"data": {
"amount": 100,
"currency": "USD",
"merchantOrderId": "ORD-12345",
"transactionId": "FP260231SJWKL80027",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com"
}
}Wire format (from API)
{
"success": true,
"payload": "7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7:4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8"
}After decryption
Failed / declined — transaction found
400{
"success": false,
"status": "FAILED",
"message": "Transaction declined by issuer",
"error": {
"code": "DECLINED",
"message": "Transaction declined by issuer"
},
"data": {
"amount": 100.5,
"currency": "USD",
"merchantOrderId": "ORD-12345",
"transactionId": "FP260231SJWKL80027",
"firstName": "John",
"lastName": "Doe",
"address": "12, Hill",
"city": "Nevada",
"state": "Nevada",
"country": "US",
"email": "john@example.com",
"webhookUrl": "https://your-domain.com/webhook"
}
}Wire format (from API)
{
"success": true,
"payload": "7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7:4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8"
}After decryption
Not found
404{
"success": false,
"message": "Transaction not found",
"errorTrace": {
"errorType": "VALIDATION_ERROR",
"code": "VALIDATION_ERROR"
}
}Note
Possible
status values: PENDING, REDIRECT, SUCCESS, FAILED, BLOCKED. Failed and blocked responses use success: false with an error object and the same data fields as success.