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 accountAcquiring account
What is itYour own bank account (outside Fintecture)A Fintecture-managed bank account
Payment is complete whenSession reaches payment_createdSession reaches payment_created and funds are confirmed as received (transfer_state: received)
Settlement visibilityNo — Fintecture cannot confirm fund receptionYes — transactions visible in Console
Refund requirespayment_createdpayment_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)
PhaseWhen neededToolGuide
1. Bank authenticationAlwaysConnect + Demo BankDemo Bank
2. Bank transitionOnly if payment is payment_pendingBank Transition simulationEvent Simulator — Bank Transition
3. Settlement confirmationOnly for acquiring accountsCredit simulationEvent 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 outcomeSession statusNext step
Payer confirms (default)payment_createdGo to Phase 3 (acquiring) or done (external)
Payer selects "pending"payment_pendingGo to Phase 2
Payer selects "rejected"payment_unsuccessfulFlow 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_pending status.

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

  1. Go to the payment in Console > click Actions > Refund > fill partial or full amount
  2. Open the refund payment details
  3. Click Actions > Simulate event (or go to Developers > Event Simulator > select Debit)
  4. Enter the refund's session_id and simulate

Prerequisite (acquiring account): The original payment must have transfer_state: received before you can process a refund. See Phase 3 to simulate settlement first.

Payout

  1. Create a payout via Console
  2. Go to Developers > Event Simulator > select Debit
  3. Enter the payout's session_id and simulate

See the Event Simulator — Debit section for details.


Complete testing scenarios

ScenarioAccount typePhase 1 (Connect)Phase 2 (Bank transition)Phase 3 (Settlement)
IT — successExternalDemo Bank, confirm payment--
IT — successAcquiringDemo Bank, confirm payment-Credit simulation
IT — pending then successExternalDemo Bank, select pendingBank Transition > payment_created-
IT — pending then successAcquiringDemo Bank, select pendingBank Transition > payment_createdCredit simulation
IT — pending then rejectedAllDemo Bank, select pendingBank Transition > payment_unsuccessful + reason-
IT — rejectedAllDemo Bank, select rejected--
Smart Transfer — successAcquiringComplete Connect flow-Credit simulation with matching amount
Smart Transfer — partialAcquiringComplete Connect flow-Credit simulation with lower amount
RefundExternal--Debit simulation with refund session_id
RefundAcquiring--Debit simulation (requires prior settlement)
PayoutAll--Debit simulation with payout session_id

IT = Immediate Transfer


Related guides

GuideWhat it covers
Demo BankHow the Demo Bank works, available statuses, country variants
Event SimulatorCredit, Debit, and Bank Transition simulations
Payment Session StatusAll possible statuses and how to reach each one