Every payment session has a session_status that reflects its current state in the payment lifecycle. This page lists all possible statuses and explains how to reach each one.
For a step-by-step guide on testing all statuses in sandbox, see Testing Complete Payment Flows in Sandbox.
| Status | Phase | Description |
|---|
provider_required | Intermediate | The payment session has been created and is waiting for the payer to take action (select a bank, provide information). |
sca_required | Intermediate | The payer has been redirected to their bank and needs to authenticate (Strong Customer Authentication). |
payment_pending | Intermediate | The payment is being processed by the bank. The bank has not yet confirmed the final outcome. |
payment_created | Final | The payment has been successfully validated by the bank. |
payment_unsuccessful | Final or Intermediate | The payment was rejected by either the payer or the bank. The application configuration determines whether the payer can retry. |
payment_cancelled | Final | The payment was cancelled by the merchant (via Console or API). |
payment_expired | Final | The payment session has expired before the payer completed the flow. |
payment_waiting | Intermediate | A Request to Pay has been generated and is waiting for the payer to take action. |
payment_partial | Intermediate (or Final) | A payment was received but with an amount lower than expected (Smart Transfer only). Additional payments can still arrive and update the session, regardless of how much time has passed. If no further transactions are received, the session remains in payment_partial as its final state. |
session_initiated | Intermediate | The payment session has been created. For pay-in flows, this is a brief initial state before the payer opens Connect. For refunds and payouts, it indicates the operation has been initiated and is pending execution. |
iban_required | Intermediate | The payout is waiting for the payee to share their account details. |
iban_received | Intermediate | The payout has received a valid beneficiary account and can proceed. |
Note: payment_unsuccessful can be either final or intermediate depending on your application configuration — if retry is enabled, the payer can attempt the payment again within the same session.
| Status | How to reach it |
|---|
provider_required | Create a payment session — this is the default initial status |
sca_required | Payer opens Connect and is redirected to their bank. With real bank sandboxes: select Credit Mutuel > "Continue on Credit Mutuel" |
payment_pending | Demo Bank: Select "pending" outcome. Real banks: Select CIC Privee > authenticate > "Abandonner" |
payment_created | Demo Bank: Confirm payment (default). Real banks: Select Credit Mutuel > authenticate > "Confirmer". From pending: Use Bank Transition to transition to payment_created |
payment_unsuccessful | Demo Bank: Select "rejected" outcome. Real banks: Select Credit Mutuel > authenticate > "Abandonner". From pending: Use Bank Transition to transition to payment_unsuccessful |
payment_cancelled | Cancel the session via Console |
payment_expired | Set a 1-second expiry on session creation |
| Status | How to reach it |
|---|
provider_required | Create a payment session — default initial status |
sca_required | Payer selects "Bank Transfer" in Connect. See Smart Transfer scenarios for full steps |
payment_pending | Payer displays beneficiary IBAN > "Complete the bank transfer" > "I confirm". See Smart Transfer scenarios for full steps |
payment_created | From payment_pending: simulate a Credit with the expected amount |
payment_partial | From payment_pending: simulate a Credit with a lower amount than expected |
payment_cancelled | Cancel the session via Console |
payment_expired | Set a 1-second expiry on session creation |
| Status | How to reach it |
|---|
session_initiated | Create a refund via Console (Actions > Refund) or API. See Testing refunds for the full workflow |
payment_created | Simulate a Debit with status booked |
payment_unsuccessful | Simulate a Debit with status rejected |
| Status | How to reach it |
|---|
payment_waiting | Create an RTP session — the link is generated and waiting for the payer |
payment_created | Payer clicks the RTP link and completes payment through Connect |
payment_cancelled | Cancel the session via Console |
payment_expired | Session expiry time is reached |