Setup direct payments

Learn how to set the recipient account in your payment.

📘

Direct payments availability

For now, direct payments is only available for Chile.

Create a direct payment

To create a direct payment, you need to set the recipient_account option when creating a checkout session:

curl --request POST "https://api.fintoc.com/v1/checkout_sessions" \
-- header 'Authorization: sk_live_0000000000000000' \
-- header 'Content-Type: application/json' \
--data-raw '{
  "amount": 2476,
  "currency": "CLP",
  payment_methods:['payment_intent'],
  payment_method_options:{
    "payment_intent":{
      "recipient_account": {
        "holder_id": "771433855",
        "number": "1836027172",
        "type": "checking_account",
        "institution_id": "cl_banco_de_chile"
      }
    }
  }
}
}'
const fetch = require('node-fetch');

const checkout_session = {
  amount: 1000,
  currency: 'clp',
  payment_methods:['payment_intent'],
  payment_method_options:{
    "payment_intent":{
      "recipient_account": {
        "holder_id": "771433855",
        "number": "1836027172",
        "type": "checking_account",
        "institution_id": "cl_banco_de_chile"
      }
    }
  }
}

fetch('https://api.fintoc.com/v1/checkout_sessions', {
  	method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'sk_live_000000000000'
    },
    body: JSON.stringify(checkout_session),
  },
)
import requests

checkout_session = {
  'amount': 1000,
  'currency': 'clp',
  'payment_methods':['payment_intent'],
  'payment_method_options':{
    "payment_intent":{
      "recipient_account": {
        "holder_id": "771433855",
        "number": "1836027172",
        "type": "checking_account",
        "institution_id": "cl_banco_de_chile"
      }
    }
  }
}
}

headers = {
  'Accept': 'application/json', 'Authorization': 'sk_live_000000000000'
}

r = requests.post(
  'https://api.fintoc.com/v1/checkout_sessions',
  json=checkout_session,
  headers=headers
)
require 'net/http'
require 'uri'
require 'json'

payment_intent = {
  amount: 1000,
  currency: 'clp',
  payment_methods:['payment_intent'],
  payment_method_options:{
    "payment_intent":{
      "recipient_account": {
        "holder_id": "771433855",
        "number": "1836027172",
        "type": "checking_account",
        "institution_id": "cl_banco_de_chile"
      }
    }
  }
}

uri = URI("https://api.fintoc.com/v1/payment_intents")

header = {
  Accept: 'application/json', Authorization: 'sk_live_000000000000'
}

http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = payment_intent.to_json

response = http.request(request)

In Chile, the recipient account object is defined by 4 attributes:

ParameterExampleExplanation
holder_id193426816Account holder's RUT
number1836027172Account number
typechecking_accountType of account. Supported types are checking_account and sight_account.
institution_idcl_banco_de_chileFintoc institution id for the bank receiving the bank transfer. You can see the code for each bank here

Once you set the recipient account in the checkout session, the money will arrive directly in the bank account you specified.

Available recipient banks

Check our Chile institution codes documentation to check the available banks.