Channel: 11
Provider: Fintoc
Payment Method: APM
Available Currencies
Name | Code | Country |
---|---|---|
Chilean Pesos | CLP | Chile |
Request example
curl --request POST \
--url http://paymentscert.alps.cl/justpay/check-out/SecurePayment \
--data public_key=zyssglikvtltbd2se2hudwl50jjomil2uytp7tpvjtxyfdw469jagk8yvnex9jks \
--data time=2022-10-13T14:39:09 \
--data channel=11 \
--data amount=1 \
--data currency=CLP \
--data trans_id=1 \
--data time_expired=120 \
--data url_ok=https://bit.ly/3S4I7iR \
--data url_error=https://bit.ly/3S5aOwc \
--data signature=07d84334c962125886213284ff8aca6418a8b321c44273dc9c83c3d9c299a31a \
--data 'shopper_information={”name_shopper": "Fulano","Num_doc_identi": "41579263","type_doc_identi": "DNI","last_name_Shopper": "Da Silva”,"email": "[email protected]","country_code": "+56”,"Phone": "1122223333"}'
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "http://paymentscert.alps.cl/justpay/check-out/SecurePayment",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "public_key=zyssglikvtltbd2se2hudwl50jjomil2uytp7tpvjtxyfdw469jagk8yvnex9jks&time=2022-10-13T14%3A39%3A09&channel=11&amount=1¤cy=CLP&trans_id=1&time_expired=120&url_ok=https%3A%2F%2Fbit.ly%2F3S4I7iR&url_error=https%3A%2F%2Fbit.ly%2F3S5aOwc&signature=07d84334c962125886213284ff8aca6418a8b321c44273dc9c83c3d9c299a31a&shopper_information=%7B%22name_shopper%22%3A%20%22Jon%22%2C%22last_name_Shopper%22%3A%20%22Snow%22%2C%22type_doc_identi%22%3A%20%22DNI%22%2C%22Num_doc_identi%22%3A%20%2292738009%22%2C%22email%22%3A%20%22no-reply%40alps.cl%22%2C%20%22country_code%22%3A%20%22%2B56%22%2C%20%22Phone%22%3A%20%22999763655%22%7D",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
import requests
url = "http://paymentscert.alps.cl/justpay/check-out/SecurePayment"
payload = "public_key=zyssglikvtltbd2se2hudwl50jjomil2uytp7tpvjtxyfdw469jagk8yvnex9jks&time=2022-10-13T14%3A39%3A09&channel=11&amount=1¤cy=CLP&trans_id=1&time_expired=120&url_ok=https%3A%2F%2Fbit.ly%2F3S4I7iR&url_error=https%3A%2F%2Fbit.ly%2F3S5aOwc&signature=07d84334c962125886213284ff8aca6418a8b321c44273dc9c83c3d9c299a31a&shopper_information=%7B%22name_shopper%22%3A%20%22Jon%22%2C%22last_name_Shopper%22%3A%20%22Snow%22%2C%22type_doc_identi%22%3A%20%22DNI%22%2C%22Num_doc_identi%22%3A%20%2292738009%22%2C%22email%22%3A%20%22no-reply%40alps.cl%22%2C%20%22country_code%22%3A%20%22%2B56%22%2C%20%22Phone%22%3A%20%22999763655%22%7D"
response = requests.request("POST", url, data=payload)
print(response.text)
const qs = require("querystring");
const http = require("http");
const options = {
"method": "POST",
"hostname": "paymentscert.alps.cl",
"port": null,
"path": "/justpay/check-out/SecurePayment",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(qs.stringify({
public_key: 'zyssglikvtltbd2se2hudwl50jjomil2uytp7tpvjtxyfdw469jagk8yvnex9jks',
time: '2022-10-13T14:39:09',
channel: '11',
amount: '1',
currency: 'CLP',
trans_id: '1',
time_expired: '120',
url_ok: 'https://bit.ly/3S4I7iR',
url_error: 'https://bit.ly/3S5aOwc',
signature: '07d84334c962125886213284ff8aca6418a8b321c44273dc9c83c3d9c299a31a',
shopper_information: '{”name_shopper": "Fulano","Num_doc_identi": "41579263","type_doc_identi": "DNI","last_name_Shopper": "Da Silva”,"email": "[email protected]","country_code": "+56”,"Phone": "1122223333"}'
}));
req.end();
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. Use 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 Suggested: 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 |
shopper_information
JSON format
shopper_information
JSON formatField shopper_information must be send in string format (JSON encode).
'{”name_shopper": "Fulano","Num_doc_identi": "41579263","type_doc_identi": "DNI","last_name_Shopper": "Da Silva”,"email": "[email protected]","country_code": "+56”,"Phone": "1122223333"}'
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,DNI,CI, ID etc.] |
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. +57) |
Phone | True | String (20) | Shopper's phone number |
institution_id | False | String (20) | Bank's institution. If not added the user will be prompt to choose a bank |
Available institution_id
institution_id
Bank name | institution_id code |
---|---|
Banco de Chile | cl_banco_de_chile |
Banco Santander | cl_banco_santander |
Banco BICE | cl_banco_bice |
Banco Scotiabank | cl_banco_scotiabank |
Banco BCI | cl_banco_bci |
Banco Estado | cl_banco_estado |
Banco Security | cl_banco_security |
Errors
error_reason | description |
---|---|
bank_account_locked | The bank blocked the transfers service for this account. |
bank_connection_error | Fintoc had a problem connecting with the selected bank. |
bank_not_available | The selected bank is temporary unavailable. |
amount_limit_reached | The maximum amount available to transfer was reached. |
insufficient_funds | The account doesn’t have enough money to execute the payment. |
login_credentials_locked | The bank indicated that the user's credentials are locked. |
login_invalid_credentials | The bank indicated that the user's credentials are invalid. |
maximum_amount_error | The amount exceeds the maximum amount allowed for that bank. |
mfa_authorization_timeout | The user did not authorize the transfer with their multifactor method. |
mfa_invalid_authorization | The bank indicated that the multifactor authorization was invalid. |
mfa_locked | The multifactor authentication method is locked. |
mfa_unavailable | The multifactor authentication method is unavailable. |
new_contact_amount_limit_reached | The amount exceeds the maximum amount permitted for new contacts. |
new_contact_transfer_number_limit_reached | The maximum number of transfers for new contacts was reached. |
recipient_account_not_allowed | The bank indicated that the recipient account is not allowed to receive transfers. |
unresolved_final_status | The bank can’t provide a definite answer on whether this payment was completed or not. This reason will only appear for pending payments that could not be validated after 10 days. |
widget_closed | The user closed the widget before completing the payment |
user_left | The user abandoned the payment process before selecting an account or entering their bank account´s credentials. |
new_payment_intent_in_progress | The user started a new payment intent before completing the previous one, so the original payment intent was cancelled |