Alternative Payment Methods

Learn how to use the Checkout Session API to create payments with alternative methods.

Alternative payment methods are non-card buttons that route your customer to the institution's own checkout. This page covers the methods Fintoc supports in Chile, their limits, and how to pre-select one. For the underlying flow, see Checkout Sessions.

Prerequisites

Fintoc supports two integration models:

  • Fintoc Collects: Fintoc holds the credentials and settles into a pooled account. No agreement on your side.
  • Direct: You hold the agreement and settle into your own account. Contact the Fintoc team to register your credentials.

Pick Direct when you already have an agreement with one of the institutions below or need funds in your own account.

Integration

Once your credentials are registered, each method appears as a button in your checkout. When the amount exceeds the institution's transaction limit, Fintoc redirects your customer to the institution's interface to complete the payment. See Transaction limits for the per-institution caps.

Available methods and limits

Fintoc supports the following Chilean institutions:

InstitutionInstitution IDMaximum limit (CLP)Minimum limit (CLP)
Banco Estadocl_banco_estado15,000,0005,000,000
Banco Santandercl_banco_santander15,000,0005,000,000
Banco de Chilecl_banco_de_chile15,000,0005,000,000
Machcl_mach3,500,0001

Pre-select an institution

To require your customer to pay through a specific institution, include payment_method_options.bank_transfer.sender_account.institution_id when you create the Checkout Session. Pass the Institution ID from the table above as the value.

curl -X POST https://api.fintoc.com/v1/checkout_sessions \
  -H "Authorization: YOUR_SECRET_API_KEY" \
  -d '{
    "flow": "payment",
    "amount": 5000,
    "currency": "clp",
    "payment_method_types": ["bank_transfer"],
    "payment_method_options": {
      "bank_transfer": {
        "sender_account": {
          "institution_id": { "value": "cl_banco_estado" }
        }
      }
    }
  }'
from fintoc import Fintoc

client = Fintoc("YOUR_SECRET_API_KEY")

session = client.checkout_sessions.create(
    flow="payment",
    amount=5000,
    currency="clp",
    payment_method_types=["bank_transfer"],
    payment_method_options={
        "bank_transfer": {
            "sender_account": {
                "institution_id": {"value": "cl_banco_estado"},
            },
        },
    },
)
const { Fintoc } = require('fintoc');

const client = new Fintoc('YOUR_SECRET_API_KEY');

const session = await client.checkoutSessions.create({
  flow: 'payment',
  amount: 5000,
  currency: 'clp',
  payment_method_types: ['bank_transfer'],
  payment_method_options: {
    bank_transfer: {
      sender_account: {
        institution_id: { value: 'cl_banco_estado' },
      },
    },
  },
});