Skip to main content
Simulate every alternative payment method outcome without touching real banks. In test mode, Fintoc replaces the bank’s checkout page with a sandbox simulator that emits the same webhooks as the live flow, so you can verify your integration before going live.

Available providers

Use institution_id to filter banks on the checkout page. The resulting payment intent includes payment_type, which identifies the method used. Do not send payment_type when creating a Checkout Session to select the alternative method. Business-account providers include a multi-signer flow. Personal-only providers complete in one step.

Choose the payment flow to test

Both Fintoc payment initiation and alternative payment methods use payment_method_types: ["bank_transfer"]. Fintoc selects the flow based on the bank, the amount, and your organization’s configuration. Selecting a bank alone does not force its alternative payment method. Before testing, confirm with the Fintoc team that the alternative methods you need are enabled for your organization in test mode. Create a new Checkout Session with one of these amounts, then select the corresponding bank in the checkout: For Banco de Chile, Santander, and BancoEstado, 8,000,000 CLP exceeds the documented payment initiation limits. The amount remains below the default alternative-method maximum of 15,000,000 CLP. Mach uses the alternative payment flow without requiring you to exceed a payment initiation limit. Your organization’s configured limits can change which amounts are eligible. To test alternative methods at lower amounts, ask the Fintoc team to configure your organization to prefer those methods in test mode. To test standard payment initiation instead, use an eligible amount and an organization configuration that does not prefer alternative methods. Follow the payment initiation testing guide for test credentials and outcomes.

Create a Checkout Session in test mode

Send the request from your server with your test API key. The examples below create an 8,000,000 CLP payment to test BancoEstado, Santander, or Banco de Chile. To test Mach, change amount to 200000.
Node
The response includes id and redirect_url.

Open the checkout and pick a bank

Open redirect_url in a browser and select the bank that matches your test amount. When Fintoc selects the alternative method, the checkout redirects you to https://pay.fintoc.com/sandbox/{checkout_session_id}. If the checkout asks for bank login credentials instead, you are testing standard Fintoc payment initiation, not the alternative-method simulator. Check the bank and amount against the table above. If the alternative method still does not open, contact the Fintoc team to check availability and routing for your organization in test mode.

Trigger an outcome

The simulator renders a page styled after the selected bank. For business-capable providers (Santander, Banco de Chile, BancoEstado), first pick the scenario:
  • Pago Persona
  • Pago empresa con 1 apoderado
  • Pago empresa con 2 o más apoderados
Mach skips this step and shows the outcome screen directly. Then click the outcome you want to simulate: Personal payments (Mach, or the Pago Persona flow on business-capable providers): Business payments (1 or 2+ apoderados on Santander, Banco de Chile, BancoEstado): The 30-second delay reproduces the time it takes for every signer to sign the payment in production.

Inspect the webhooks

Subscribe to these events in your webhook endpoint configuration; the sandbox emits the same payloads as production. The payloads below show only the fields relevant to this flow.

Business approved by all signers

The customer clicks Pago aprobado por todos los apoderados. Fintoc sends checkout_session.finished immediately, then payment_intent.succeeded after 30 seconds.

Business pending approval

The customer clicks Pago pendiente de aprobación. Fintoc sends checkout_session.finished. The intent stays in requires_action until the remaining signers act. If no one acts before the deadline shown in next_action.expires_at, Fintoc sends payment_intent.expired.

Business rejected

The customer clicks Pago fallido. Fintoc sends checkout_session.finished and then payment_intent.failed.

Personal succeeded

The personal webhook examples use Mach with a 200,000 CLP amount. The customer clicks Pago exitoso. Fintoc sends checkout_session.finished and payment_intent.succeeded in the same transaction.

Personal failed

The customer clicks Pago fallido. Same structure as personal succeeded, with status: "failed".
checkout_session.finished also fires alongside, with payment_resource.payment_intent.status: "failed".

Personal expired

The customer clicks Pago expirado. Fintoc sends checkout_session.finished and payment_intent.expired.
checkout_session.finished also fires alongside, with payment_resource.payment_intent.status: "expired". When the payment ends in failed or expired, the payment_intent object may also include an error_reason field describing the failure. The exact values depend on the bank and the reason translator.