Select the type of statuses you are interested in to learn more about their meaning and use in our system.
Every transaction in the SimPay system has its own lifecycle, represented by appropriate statuses. A status change informs about the current stage of payment processing – from the moment of initiation to successful completion, rejection, or refund.
The following diagram shows the possible transition paths between individual transaction statuses in our API.
In our API responses, the transaction status is returned as a string. The following table explains the meaning of each:
Status (enum) | Type | Description |
|---|---|---|
transaction_new | Processing | Initial status after creating a new transaction in the system. Payment awaits further steps. |
transaction_generated | Processing | The customer selected a payment method and proceeded to pay |
transaction_confirmed | Processing | The payment method informed us about the initiation of payment processing. |
transaction_paid | Success | Payment was successfully completed and funds have been secured. This is the main status of a successful transaction. You can proceed to fulfill the order |
transaction_failure | Error | Payment was rejected (e.g., insufficient funds, authorization denied by bank, 3D Secure error). |
transaction_expired | Error / Expiration | The time allocated for paying the transaction has elapsed. The payment path is irreversibly closed. |
transaction_refunded | Refund | A successful full refund (100% of the amount) was made to the payer's account. |
transaction_fraud_possibility | Verification | The system detected an anomaly or risk. The transaction requires additional verification before final approval or rejection. |
transaction_fraud | Critical Error | The transaction was flagged as fraud (e.g., stolen card, chargeback). Funds will not be transferred. |
The transaction_paid status is the only status indicating correct and final payment of the order by the customer (unless a refund occurs later). Your application should fulfill the order (deliver goods/services) only after receiving a webhook with this status.
Transaction and refund status changes occur asynchronously in our system (e.g., after bank payment approval). For your application to react immediately to these changes – for example, to deliver purchased goods to the customer – we provide two synchronization methods:
IPN Notifications – this is the recommended, fastest, and most secure method. Every time a transaction changes its status, SimPay will send an automatic notification (POST request) to the URL you configured. Details about the structure of these notifications and events can be found in the section: Transaction Status Change.
API Verification (Polling) – at any time, you can also independently retrieve the current status of a specific operation by sending a query directly to our API. The exact endpoint description for checking the status can be found here: Transaction Status.
We recommend basing your business logic (e.g., order fulfillment) primarily on IPN notifications. API polling should serve only as a fallback mechanism or for one-time status verification before taking critical actions.