ID: 39 - Bank Transfer (CLP)

Channel: 39

Provider: Floid

Payment Method: Bank Transfer

Available Currencies

NameCodeCountry
Chilean pesoCLPChile

Request example

curl --location 'http://uat-payments.alps.cl/justpay/check-out/SecurePayment.php' \
--form 'public_key="{YOUR_PUBLIC_KEY}"' \
--form 'time="2024-07-17 16:33:11"' \
--form 'amount="20"' \
--form 'currency="MXN"' \
--form 'trans_id="1"' \
--form 'time_expired="120"' \
--form 'url_ok="https://bit.ly/3S4I7iR"' \
--form 'url_error="https://bit.ly/3S5aOwc"' \
--form 'channel="39"' \
--form 'signature="{YOUR_SIGNATURE}"' \
--form 'shopper_information="{\"Phone\": \"3009997317\", \"email\": \"[email protected]\", \"country\": \"CHL\", \"country_code\": \"+56\", \"name_shopper\": \"yarianixbel chirino\", \"Num_doc_identi\": \"11111111-1\", \"type_doc_identi\": \"rut\", \"last_name_Shopper\": \"yarianixbel chirino\"}"'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://uat-payments.alps.cl/justpay/check-out/SecurePayment.php',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('public_key' => '{YOUR_PUBLIC_KEY}','time' => '2024-07-17 16:33:11','amount' => '20','currency' => 'CLP','trans_id' => '1','time_expired' => '120','url_ok' => 'https://bit.ly/3S4I7iR','url_error' => 'https://bit.ly/3S5aOwc','channel' => '39','signature' => '{YOUR_SIGNATURE}','shopper_information' => '{"Phone": "3009997317", "email": "[email protected]", "country": "CHL", "country_code": "+56", "name_shopper": "yarianixbel chirino", "Num_doc_identi": "22222222-2", "type_doc_identi": "rut", "last_name_Shopper": "yarianixbel chirino"}','filter_by' => 'banco_bci_personas'),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import requests

url = "http://uat-payments.alps.cl/justpay/check-out/SecurePayment.php"

payload = {'public_key': '{YOUR_PUBLIC_KEY}',
'time': '2024-07-17 16:33:11',
'amount': '20',
'currency': 'CLP',
'trans_id': '1',
'time_expired': '120',
'url_ok': 'https://bit.ly/3S4I7iR',
'url_error': 'https://bit.ly/3S5aOwc',
'channel': '39',
'signature': '{YOUR_SIGNATURE}',
'shopper_information': '{"Phone": "3009997317", "email": "[email protected]", "country": "CHL", "country_code": "+56", "name_shopper": "yarianixbel chirino", "Num_doc_identi": "22222222-2", "type_doc_identi": "rut", "last_name_Shopper": "yarianixbel chirino"}',
'filter_by': 'banco_bci_personas'}
files=[

]
headers = {}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://uat-payments.alps.cl/justpay/check-out/SecurePayment.php',
  'headers': {
  },
  formData: {
    'public_key': '{YOUR_PUBLIC_KEY}',
    'time': '2024-07-17 16:33:11',
    'amount': '20',
    'currency': 'CLP',
    'trans_id': '1',
    'time_expired': '120',
    'url_ok': 'https://bit.ly/3S4I7iR',
    'url_error': 'https://bit.ly/3S5aOwc',
    'channel': '39',
    'signature': '{YOUR_SIGNATURE}',
    'shopper_information': '{"Phone": "3009997317", "email": "[email protected]", "country": "CHL", "country_code": "+56", "name_shopper": "yarianixbel chirino", "Num_doc_identi": "22222222-2", "type_doc_identi": "rut", "last_name_Shopper": "yarianixbel chirino"}',
    'filter_by': 'banco_bci_personas'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

Mandatory Data

AttributeMandatoryData typeDescription
public_keyTrueString (255)Public key, unique value that identifies the commerce
timeTrueDatetimeRequest data time
channelTrueIntegerPayment Channel
amountTrueDoubleThe amount of the transaction. 2 decimals
currencyTrueString (3)Transaction currency code
trans_idTrueString (255)Transaction id
time_expiredTrueString (255)Time in minutes to expire the token. Value given in minutes. Minimum: 30 minutes
url_okTrueString (255)URL where shopper will be redirected from the online banking if payment was successful (Must be Https)
url_errorTrueString (255)URL where shopper will be redirected from the online banking if payment was wrong.(Must be Https)
signatureTrueString (255)Signature hash256: Review signature calculation
shopper_informationTrueJSON StringJSON String Data: Review JSON index & format
user_bank_codeFalseString (255)

Defines the bank to be used for the transfer and does not allow the user to modify it. Possible values:

banco_chile_personas, banco_estado_personas, banco_bci_personas, banco_itau_personas, banco_santander_personas, banco_falabella_personas, banco_scotia_personas, banco_ripley_personas, banco_bice_personas

shopper_information JSON format

📘

Field shopper_information must be send in string format (JSON encode).

{"Phone": "3009997317", "email": "[email protected]", "country": "CHL", "country_code": "+56", "name_shopper": "yarianixbel chirino", "Num_doc_identi": "11111111-1", "type_doc_identi": "rut", "last_name_Shopper": "yarianixbel chirino"}

The shopper_information field is a column corresponding to a json with the next keys:

ParameterMandatoryData TypeDescription
name_shopperTrueString (255)Shopper's name
last_name_ShopperTrueString (255)Shopper's last name
type_doc_identiTrueString (255)Identification document [RUT, RUN]
Num_doc_identiTrueString (255)Identification document number
emailTrueString (255)Shopper's e-mail
country_codeTrueString (10)Country's phone code (Ex. +56)
PhoneTrueString (20)Shopper's phone number
countryTrueString (3)Country ISO code [CHL]

Bank filter

You can filter the available banks by sending the user_bank_code field in the payload.

Banks enabled for sandbox

BankCode (usr_bank_code)
Banco Estadobanco_estado_personas
Banco de Chilebanco_chile_personas
Banco Santanderbanco_santander_personas
Banco BCIbanco_bci_personas

Note: If you do not send the user_bank_code field, the widget will show all available banks for the user to select manually.

Sandbox test data

Recipient IDs

ID (RUT)Description
11111111-1The recipient does not exist and must be created. There are two verification methods to create it.
22222222-2The recipient exists. There are two verification methods to validate the transfer.
99999999-9ERROR: The amount exceeds the maximum allowed by the bank for a new recipient. (error_code: TRANSFER_AMOUNT_LIMIT)

Test credentials

FieldValue
password1234
SMS1234
Coordinate Card01-02-03

NOTE: Interactions with the apps are automatically approved after 7 seconds.

Errors

Possible error codes

Error codeDescription
SERVICE_UNAVAILABLEService error.
INVALID_2FA_TOKENThe verification token provided by the user is incorrect.
INVALID_CREDENTIALSThe credentials entered are incorrect.
TRANSFER_ERRORService error occurred during the transfer.
BANK_DOWNThe bank's service is down.
WEBSITE_ERRORThe bank's website had issues.
BEPASS_ERRORError during validation through BE Pass (Banco Estado).
SECOND_TRANSFER_ERRORCannot make a second transfer to a new recipient within 24 hours.
VERIFICATION_METHOD_ERRORThe selected verification method is invalid.
LOCKED_DEVICEThe verification method is locked by the bank.
TRANSFER_TIMEOUTService error. No response received within the established time.
INSUFFICIENT_BALANCEThe available amount is insufficient to make the transfer.
CONFIRMATION_FAILEDCould not validate whether the transfer was successful. It is recommended in these cases to check with the Floid team and/or review the receipts received by email.
MAX_FAILED_ATTEMPTSMaximum number of successful login attempts has been reached.
NO_VERIFICATION_METHODSThe user has no verification methods available at the bank.
INVALID_ACCOUNT_NUMBERThe selected source account number is invalid. Error probably related to a service issue.
SMS_ERRORThe entered SMS is incorrect.
MINIMUM_TRANSFER_AMOUNTThe transfer amount is less than the minimum established by the bank.
EXPIRED_CREDENTIALSCredentials have expired and need to be renewed on the bank's portal.
KEYPASS_EXPIREDThe time to validate the transfer in KeyPass (Scotiabank) has expired.
TRANSFER_CANCELLEDThe transfer was canceled by the user in the application.
BANK_ERRORThe bank had issues performing the operation.
SESSION_EXPIREDThe bank session has expired.
MAX_DAILY_TOTAL_AMOUNTDaily maximum transfer amount.
MAX_DAILY_AMOUNTThe amount exceeds the daily limit to a recipient.
MAX_DAILY_TRANSFERSDaily maximum transfers for this recipient.
MAX_DAILY_2FA_TRIESDaily maximum attempts to enter the dynamic key.
TRANSFER_AMOUNT_LIMITThe transaction amount exceeds the limit allowed by the bank.

Possible rejection reasons

reasonDescription
PAYMENT_EXPIREDThe token has already expired
PAYMENT_ALREADY_PAIDThe payment has already been made
PAYMENT_ALREADY_CANCELLEDThe token has already been cancelled
INVALID_PAYMENT_TOKENThe token does not exist
PAYMENT_ALREADY_STARTEDPayment already started in payment validation state or paid.