Channel: 39
Provider: Floid
Payment Method: Bank Transfer
Available Currencies
| Name | Code | Country |
|---|---|---|
| Chilean peso | CLP | Chile |
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
| Attribute | Mandatory | Data type | Description |
|---|---|---|---|
public_key | True | String (255) | Public key, unique value that identifies the commerce |
time | True | Datetime | Request data time |
channel | True | Integer | Payment Channel |
amount | True | Double | The amount of the transaction. 2 decimals |
currency | True | String (3) | Transaction currency code |
trans_id | True | String (255) | Transaction id |
time_expired | True | String (255) | Time in minutes to expire the token. Value given in minutes. Minimum: 30 minutes |
url_ok | True | String (255) | URL where shopper will be redirected from the online banking if payment was successful (Must be Https) |
url_error | True | String (255) | URL where shopper will be redirected from the online banking if payment was wrong.(Must be Https) |
signature | True | String (255) | Signature hash256: Review signature calculation |
shopper_information | True | JSON String | JSON String Data: Review JSON index & format |
user_bank_code | False | String (255) | Defines the bank to be used for the transfer and does not allow the user to modify it. Possible values:
|
shopper_information JSON format
shopper_information JSON format{"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:
| Parameter | Mandatory | Data Type | Description |
|---|---|---|---|
name_shopper | True | String (255) | Shopper's name |
last_name_Shopper | True | String (255) | Shopper's last name |
type_doc_identi | True | String (255) | Identification document [RUT, RUN] |
Num_doc_identi | True | String (255) | Identification document number |
email | True | String (255) | Shopper's e-mail |
country_code | True | String (10) | Country's phone code (Ex. +56) |
Phone | True | String (20) | Shopper's phone number |
country | True | String (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
| Bank | Code (usr_bank_code) |
|---|---|
| Banco Estado | banco_estado_personas |
| Banco de Chile | banco_chile_personas |
| Banco Santander | banco_santander_personas |
| Banco BCI | banco_bci_personas |
Note: If you do not send the
user_bank_codefield, the widget will show all available banks for the user to select manually.
Sandbox test data
Recipient IDs
| ID (RUT) | Description |
|---|---|
11111111-1 | The recipient does not exist and must be created. There are two verification methods to create it. |
22222222-2 | The recipient exists. There are two verification methods to validate the transfer. |
99999999-9 | ERROR: The amount exceeds the maximum allowed by the bank for a new recipient. (error_code: TRANSFER_AMOUNT_LIMIT) |
Test credentials
| Field | Value |
|---|---|
password | 1234 |
SMS | 1234 |
| Coordinate Card | 01-02-03 |
NOTE: Interactions with the apps are automatically approved after 7 seconds.
Errors
Possible error codes
| Error code | Description |
|---|---|
SERVICE_UNAVAILABLE | Service error. |
INVALID_2FA_TOKEN | The verification token provided by the user is incorrect. |
INVALID_CREDENTIALS | The credentials entered are incorrect. |
TRANSFER_ERROR | Service error occurred during the transfer. |
BANK_DOWN | The bank's service is down. |
WEBSITE_ERROR | The bank's website had issues. |
BEPASS_ERROR | Error during validation through BE Pass (Banco Estado). |
SECOND_TRANSFER_ERROR | Cannot make a second transfer to a new recipient within 24 hours. |
VERIFICATION_METHOD_ERROR | The selected verification method is invalid. |
LOCKED_DEVICE | The verification method is locked by the bank. |
TRANSFER_TIMEOUT | Service error. No response received within the established time. |
INSUFFICIENT_BALANCE | The available amount is insufficient to make the transfer. |
CONFIRMATION_FAILED | Could 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_ATTEMPTS | Maximum number of successful login attempts has been reached. |
NO_VERIFICATION_METHODS | The user has no verification methods available at the bank. |
INVALID_ACCOUNT_NUMBER | The selected source account number is invalid. Error probably related to a service issue. |
SMS_ERROR | The entered SMS is incorrect. |
MINIMUM_TRANSFER_AMOUNT | The transfer amount is less than the minimum established by the bank. |
EXPIRED_CREDENTIALS | Credentials have expired and need to be renewed on the bank's portal. |
KEYPASS_EXPIRED | The time to validate the transfer in KeyPass (Scotiabank) has expired. |
TRANSFER_CANCELLED | The transfer was canceled by the user in the application. |
BANK_ERROR | The bank had issues performing the operation. |
SESSION_EXPIRED | The bank session has expired. |
MAX_DAILY_TOTAL_AMOUNT | Daily maximum transfer amount. |
MAX_DAILY_AMOUNT | The amount exceeds the daily limit to a recipient. |
MAX_DAILY_TRANSFERS | Daily maximum transfers for this recipient. |
MAX_DAILY_2FA_TRIES | Daily maximum attempts to enter the dynamic key. |
TRANSFER_AMOUNT_LIMIT | The transaction amount exceeds the limit allowed by the bank. |
Possible rejection reasons
reason | Description |
|---|---|
PAYMENT_EXPIRED | The token has already expired |
PAYMENT_ALREADY_PAID | The payment has already been made |
PAYMENT_ALREADY_CANCELLED | The token has already been cancelled |
INVALID_PAYMENT_TOKEN | The token does not exist |
PAYMENT_ALREADY_STARTED | Payment already started in payment validation state or paid. |
