Transaction Management provides an opportunity of tracking, controlling, and processing all stages of a payment transaction, from initiation to completion (such as success, cancellation, refund, or error). With Plexy Pay, merchants are provided with real-time transaction monitoring tools, allowing them to track each transaction’s status, identify issues quickly, and ensure a transparent and secure payment flow for both the merchant and the customer.Canonical status names for the transaction lifecycle. Use these constants in webhooks, dashboards, and API clients.
Transaction Statuses#
created — A new transaction has been created and is pending authorization.
3d — The payment requires 3D Secure authentication. The user is currently going through the 3D Secure verification process to complete the transaction.
authorized — The payment has been successfully authorized — funds on the customer’s card are reserved (blocked) and waiting for capture. You can consider this transaction successful: the bank confirmed the availability of funds, and the payment will be captured automatically or manually from the dashboard.
rejected — The transaction was rejected by the bank (for example, insufficient funds or incorrect card data).
transaction.failed — The transaction failed due to a system or network error. You may retry the payment or contact support if this persists.
charged — The transaction has been successfully charged — funds have been finally debited from the customer’s account.
Use this status if you are integrated via manual clearing flow and handle captures yourself.cancelled — The transaction was successfully cancelled before capture.
This notification confirms that the authorization hold has been released and the customer’s funds are no longer reserved.refunded — The transaction was successfully refunded.
This notification indicates that a refund transaction was created.
Example Webhook Payload#
{
"name": "transaction.authorized",
"merchantId": "a32ab5c7-0e7d-440d-aa21-fa5f196dada4",
"data": {
"id": "a32ab5c7-0e7d-440d-aa21-fa5f196dada4",
"amount": 1000,
"balance": 9000,
"currency": "KZT",
"status": "authorized",
"type": "payment",
"paymentMethod": "card",
"payerIp": "192.168.1.1",
"merchantReference": "INV-1001",
"description": "Order payment",
"createdAt": "2025-04-01T12:00:00Z",
"updatedAt": "2025-04-01T12:05:00Z",
"authedAt": "2025-04-01T12:02:00Z",
"confirmedAt": "2025-04-01T12:03:00Z",
"processedAt": "2025-04-01T12:04:00Z",
"processedAmount": 1000,
"storeId": "c374472c-e6dd-4940-8aab-a524e6bbcba0",
"terminalId": "b32da713-0258-45f6-916e-6b64e3388638",
"secure3d": true,
"parentTransactionId": "08e58b90-5f63-4348-a134-466162ee50d8",
"recurringType": "subscription",
"retrievalReferenceNumber": "RRN987654321",
"paymentLinkId": {
"Value": "pl_019a2a21f46f706ea202a75adabcbb80"
},
"paymentSessionId": {
"Value": "019a2a22-1b0d-7732-9672-134baf97b06c"
},,
"cardTokenId": {
"Value": "4400437244977189"
},
"customerId": {
"Value": "01989f41-a6eb-77d4-a666-9361fb25bec6"
},
}
}
Treat unknown or undocumented statuses as transient. Before irreversible actions (shipping, fulfillment, payout),
retrieve the current transaction state via the API.