Channel: 20
Provider: Unlimit
Payment Method: Debit / Credit Card
Available Currencies
Name | Code | Country |
---|---|---|
Mexican Peso | MXN | Mexico |
Colombian Pesos | COP | Colombia |
US Dollar | USD | Ecuador, Panama |
Costa Rican Colon | CRC | Costa Rica |
Guatemalan Quetzal | GTQ | Guatemala |
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=17 \
--data amount=100 \
--data currency=BRL \
--data trans_id=1 \
--data time_expired=120 \
--data url_ok=https://bit.ly/3S4I7iR \
--data url_error=https://bit.ly/3S5aOwc \
--data signature=e22ef7fd3b7a7fa155f39dd966098b17cf7106b41e38544383487de0124e6208 \
--data shopper_information={"name_shopper": "Test","last_name_Shopper": "User","type_doc_identi": "RUT","Num_doc_identi": "12345678901","email": "no-reply@alps.cl", "country_code": "593","Phone": "1237634562", "country": "MEX"}\
--data filter_by= pse
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://localhost/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' => 'zyssglikvtltbd2se2hudwl50jjomil2uytp7tpvjtxyfdw469jagk8yvnex9jks','time' => '2024-07-17 16:33:11','amount' => '509','currency' => 'COP','trans_id' => '1','time_expired' => '120','url_ok' => 'http://127.0.0.1/justpay/url_ok','url_error' => 'http://127.0.0.1/justpay/url_error','channel' => '20','signature' => '3d05635d9dfc08f83d9d4f63beaeb5102c9582471c349d3246ddb4bb4b9d734c','shopper_information' => '{
"Phone": "3123456789",
"email": "teste@email.com",
"name_shopper": "Fulano",
"Num_doc_identi": "12342345",
"type_doc_identi": "CC",
"last_name_Shopper": "Da Silva",
"country":"COL",
"address":"feftsc",
"country_code":"+57"}','filter_by' => 'pse'),
));
$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': '2024-07-17 16:33:11',
'amount': '509',
'currency': 'COP',
'trans_id': '1',
'time_expired': '120',
'url_ok': 'http://127.0.0.1/justpay/url_ok',
'url_error': 'http://127.0.0.1/justpay/url_error',
'channel': '20',
'signature': '3d05635d9dfc08f83d9d4f63beaeb5102c9582471c349d3246ddb4bb4b9d734c',
'shopper_information': '{
"Phone": "3123456789",
"email": "teste@email.com",
"name_shopper": "Fulano",
"Num_doc_identi": "12342345",
"type_doc_identi": "CC",
"last_name_Shopper": "Da Silva",
"country":"COL",
"address":"feftsc",
"country_code":"+57"}',
'filter_by': 'pse'}
files=[
]
headers = {}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
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: '17',
amount: '100',
currency: 'BRL',
trans_id: '1',
time_expired: '120',
url_ok: 'https://bit.ly/3S4I7iR',
url_error: 'https://bit.ly/3S5aOwc',
signature: 'e22ef7fd3b7a7fa155f39dd966098b17cf7106b41e38544383487de0124e6208',
shopper_information: '{"name_shopper": "Test","last_name_Shopper": "User","type_doc_identi": "RUT","Num_doc_identi": "12345678901","email": "no-reply@alps.cl", "country_code": "593","Phone": "1237634563", "country": "MEX"}',
"filter_by":"pse"
}));
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: Online: 30 minutes Cash: 2 hours For Brazil: Online: 2 hours Cash 24 hrs |
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 |
filter_by | True | string(3-14) | Payment method |
shopper_information
JSON format
shopper_information
JSON formatField shopper_information must be send in string format (JSON encode).
'{"name_shopper": "Test","last_name_Shopper": "User","type_doc_identi": "RUT","Num_doc_identi": "12345678901","email": "no-reply@alps.cl", "country_code": "593","Phone": "123763456", "country": "MEX"}'
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 (3) | Identification document [CPF, CNPJ ] |
Num_doc_identi | True | String (12) | Identification document number |
email | True | String (255) | Shopper's email |
country_code | True | String (4) | Country's phone code [+57 ] |
Phone | True | String (12) | Shopper's phone number |
country | True | String (3) | Country ISO code [MEX ] |
address | True | string(255) | JSON format for shopper's address |
Errors
To better error handling, we'll return the errors in the response body using the following fields:
{
"error":{
"code":"UNAUTHORIZED_RESOURCE",
"message":"Resource being accessed is unauthorized."
}
}
Decline Codes
This section contains a list of decline codes:
Code | Message |
---|---|
01 | System malfunction. |
02 | Cancelled by customer. |
03 | Declined by Antifraud. |
04 | Declined by 3-D Secure. |
05 | Only 3-D Secure transactions are allowed. |
06 | 3-D Secure availability is unknown. |
07 | Limit reached. |
08 | Requested operation is not supported. |
10 | Declined by bank (reason not specified). |
11 | Common decline by bank. |
12 | Soft decline: EMV 3DS Authentication required. |
13 | Insufficient funds. |
14 | Card limit reached. |
15 | Incorrect card data. |
16 | Declined by bank's antifraud. |
17 | Bank's malfunction. |
18 | Connection problem. |
19 | Incorrect payment data. |
21 | No payment was received (for BITCOIN payment method only). |
22 | Wrong payment was received (for BITCOIN payment method only). |
23 | Confirmations payment timeout (for BITCOIN payment method only). |
25 | The maximum transaction amount limit on payment method side is exceeded. |
3-D Secure Status Reason Codes
The Status Reason is provided by the issuer ACS or the scheme DS. It indicates why an authentication was not possible or failed.
Possible codes values:
Code | Scheme | Message |
---|---|---|
01 | All | Card authentication failed. |
02 | All | Unknown device. |
03 | All | Unsupported device. |
04 | All | Exceeds authentication frequency limit. |
05 | All | Expired card. |
06 | All | Invalid card number.. |
07 | All | Invalid transaction. |
08 | All | No card record. |
09 | All | Security failure. |
10 | All | Stolen card. |
11 | All | Suspected fraud. |
12 | All | Transaction not permitted for cardholder. |
13 | All | Cardholder not enrolled in service. |
14 | All | Transaction timed out at ACS. |
15 | All | Low confidence. |
16 | All | Medium confidence. |
17 | All | High confidence. |
18 | All | Very high confidence. |
19 | All | Exceeds ACS maximum challenges. |
20 | All | Non-payment transaction not supported. |
21 | All | 3RI transaction not supported. |
22 | All | ACS technical issue. |
23 | All | Decoupled Authentication required by ACS but not requested by 3DS Requestor. |
24 | All | 3DS Requestor decoupled max expiry time exceeded. |
25 | All | Decoupled Authentication was provided insufficient time to authenticate cardholder ACS will not make attempt. |
26 | All | Authentication attempted but not performed by the cardholder. |
80 | Visa | Error connecting to ACS. |
80 | Mastercard | Returned on all Data Only authentications. |
80 | American Express | Safekey is not available for this type of card. |
81 | Visa | ACS timed out. |
81 | Mastercard | Challenge exemption accepted. |
82 | Visa | Invalid response from ACS. |
82 | Mastercard | Challenge Mandate requested but could not be performed. |
83 | Visa | System Error response from ACS. |
83 | Mastercard | DS dropped reason code received from DS. |
84 | Visa | VMID not eligible for requested program. |
85 | Visa | VMID not eligible for requested program. |
86 | Visa | Protocol version not supported by ACS. |
87 | Visa | Transaction is excluded from Attempts Processing (includes non-reloadable pre-paid cards and non-payments (NPA)). |
88 | Visa | Requested program not supported by ACS. |