Available providers
Useinstitution_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 usepayment_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, changeamount to 200000.
Node
id and redirect_url.
Open the checkout and pick a bank
Openredirect_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 PersonaPago empresa con 1 apoderadoPago empresa con 2 o más apoderados
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 sendscheckout_session.finished immediately, then payment_intent.succeeded after 30 seconds.
Business pending approval
The customer clicks Pago pendiente de aprobación. Fintoc sendscheckout_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 sendscheckout_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 sendscheckout_session.finished and payment_intent.succeeded in the same transaction.
Personal failed
The customer clicks Pago fallido. Same structure as personal succeeded, withstatus: "failed".
checkout_session.finished also fires alongside, with payment_resource.payment_intent.status: "failed".
Personal expired
The customer clicks Pago expirado. Fintoc sendscheckout_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.