Testing Complete Payment Flows in Sandbox
Testing Complete Payment Flows in Sandbox
This guide explains how to test end-to-end payment flows in the Fintecture sandbox environment. It covers the full lifecycle — from payment initiation through Connect, to settlement confirmation — and tells you which tools to use at each stage.
Before you start, make sure you have a sandbox application configured in your Console.
Account types and what they mean for testing
How you test depends on the type of beneficiary account configured on your application.
| External account | Acquiring account | |
|---|---|---|
| What is it | Your own bank account (outside Fintecture) | A Fintecture-managed bank account |
| Payment is complete when | Session reaches payment_created | Session reaches payment_created and funds are confirmed as received (transfer_state: received) |
| Settlement visibility | No — Fintecture cannot confirm fund reception | Yes — transactions visible in Console |
| Refund requires | payment_created | payment_created + transfer_state: received |
With an external account, once the bank reports the payment as created, the flow is done. With an acquiring account, there is an additional step: confirming that funds have actually arrived. In sandbox, you simulate this step using the Event Simulator.
Payment lifecycle overview
Every payment goes through up to three phases. Depending on your account type, you may need to simulate one or more of these.
Phase 1 Phase 2 Phase 3
Bank authentication Bank transition Settlement
(Connect / Demo Bank) (if payment is pending) (acquiring accounts only)
┌─────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ Payer completes │ │ Transition pending │ │ Simulate credit │
│ payment flow │──────▶│ payment to final │─────▶│ transaction to │
│ in Connect │ │ status │ │ confirm settlement │
└─────────────────┘ └──────────────────────┘ └──────────────────────┘
Bank Transition simulation Event Simulator (Credit)
(only if status is pending) (only for acquiring accounts)
| Phase | When needed | Tool | Guide |
|---|---|---|---|
| 1. Bank authentication | Always | Connect + Demo Bank | Demo Bank |
| 2. Bank transition | Only if payment is payment_pending | Bank Transition simulation | Event Simulator — Bank Transition |
| 3. Settlement confirmation | Only for acquiring accounts | Credit simulation | Event Simulator — Credit |
Phase 1 — Initiate the payment (Connect)
Start by creating a payment session and completing the payer flow in Connect. In sandbox, you can use:
- Demo Bank — Fintecture's mock bank, available for several countries. You control the outcome (success, pending, rejected) directly from the bank UI. This is the recommended approach for testing.
- Real bank sandboxes (e.g. Credit Mutuel, CIC) — These are actual bank sandbox environments with their own behaviors. Useful for testing specific bank flows, but less predictable.
See the Demo Bank guide for detailed instructions on how to trigger each payment status.
What happens after Connect
| Demo Bank outcome | Session status | Next step |
|---|---|---|
| Payer confirms (default) | payment_created | Go to Phase 3 (acquiring) or done (external) |
| Payer selects "pending" | payment_pending | Go to Phase 2 |
| Payer selects "rejected" | payment_unsuccessful | Flow ends |
Phase 2 — Transition a pending payment (if needed)
If the payment is in payment_pending — because the bank hasn't sent a final status yet — you can manually transition it to a final status using the Bank Transition simulation. This can happen in production with certain banks that do not provide an immediate confirmation.
This simulates the asynchronous callback that a bank would normally send to Fintecture.
In Console, go to Developers > Event Simulator > select Bank Transition > enter Session ID > choose target status.
See the Event Simulator — Bank Transition section for step-by-step instructions.
Important: Bank Transition is only available in sandbox and requires the session to be in
payment_pendingstatus.
After a successful bank transition
- External account: The flow is complete once the session reaches
payment_created. - Acquiring account: You still need to simulate the settlement (Phase 3).
Phase 3 — Confirm settlement (acquiring accounts only)
When your beneficiary is an acquiring account, reaching payment_created is not the end of the payment flow. Fintecture needs to confirm that funds have actually been received. In production, this happens automatically when the bank transfer arrives. In sandbox, you simulate it.
In Console, go to Developers > Event Simulator > select Credit > fill amount, IBAN, etc. > click Simulate event.
This updates the payment session's transfer_state to received and triggers any configured webhooks.
See the Event Simulator — Credit section for detailed steps.
Tip: From the Console payment details page, click Actions > Simulate event to pre-fill the Event Simulator with all relevant information.
Testing refunds and payouts
Refunds and payouts generate outbound SEPA transfers. In sandbox, you simulate their execution using the Event Simulator's Debit simulation.
Refund
- Go to the payment in Console > click Actions > Refund > fill partial or full amount
- Open the refund payment details
- Click Actions > Simulate event (or go to Developers > Event Simulator > select Debit)
- Enter the refund's
session_idand simulate
Prerequisite (acquiring account): The original payment must have
transfer_state: receivedbefore you can process a refund. See Phase 3 to simulate settlement first.
Payout
- Create a payout via Console
- Go to Developers > Event Simulator > select Debit
- Enter the payout's
session_idand simulate
See the Event Simulator — Debit section for details.
Complete testing scenarios
| Scenario | Account type | Phase 1 (Connect) | Phase 2 (Bank transition) | Phase 3 (Settlement) |
|---|---|---|---|---|
| IT — success | External | Demo Bank, confirm payment | - | - |
| IT — success | Acquiring | Demo Bank, confirm payment | - | Credit simulation |
| IT — pending then success | External | Demo Bank, select pending | Bank Transition > payment_created | - |
| IT — pending then success | Acquiring | Demo Bank, select pending | Bank Transition > payment_created | Credit simulation |
| IT — pending then rejected | All | Demo Bank, select pending | Bank Transition > payment_unsuccessful + reason | - |
| IT — rejected | All | Demo Bank, select rejected | - | - |
| Smart Transfer — success | Acquiring | Complete Connect flow | - | Credit simulation with matching amount |
| Smart Transfer — partial | Acquiring | Complete Connect flow | - | Credit simulation with lower amount |
| Refund | External | - | - | Debit simulation with refund session_id |
| Refund | Acquiring | - | - | Debit simulation (requires prior settlement) |
| Payout | All | - | - | Debit simulation with payout session_id |
IT = Immediate Transfer
Related guides
| Guide | What it covers |
|---|---|
| Demo Bank | How the Demo Bank works, available statuses, country variants |
| Event Simulator | Credit, Debit, and Bank Transition simulations |
| Payment Session Status | All possible statuses and how to reach each one |
Updated about 3 hours ago