Channel: 20

Provider: Unlimit

Payment Method: Debit / Credit Card

Available Currencies

NameCodeCountry
Mexican PesoMXNMexico
Colombian PesosCOPColombia
US DollarUSDEcuador, Panama
Costa Rican ColonCRCCosta Rica
Guatemalan QuetzalGTQGuatemala

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

AttributeMandatoryData typeDescription
public_keyTrueString (255)Public key, unique value that identifies the commerce
timeTrueDatetimeRequest data time
channelTrueIntegerPayment Channel
amountTrueDoubleThe amount of the transaction. Use 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 Suggested: Online: 30 minutes Cash: 2 hours For Brazil: Online: 2 hours Cash 24 hrs
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
filter_byTruestring(3-14)Payment method

shopper_information JSON format

📘

Field 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:

ParameterMandatoryData TypeDescription
name_shopperTrueString (255)Shopper's name
last_name_ShopperTrueString (255)Shopper's last name
type_doc_identiTrueString (3)Identification document [CPF, CNPJ]
Num_doc_identiTrueString (12)Identification document number
emailTrueString (255)Shopper's email
country_codeTrueString (4)Country's phone code [+57]
PhoneTrueString (12)Shopper's phone number
countryTrueString (3)Country ISO code [MEX]
addressTruestring(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:

CodeMessage
01System malfunction.
02Cancelled by customer.
03Declined by Antifraud.
04Declined by 3-D Secure.
05Only 3-D Secure transactions are allowed.
063-D Secure availability is unknown.
07Limit reached.
08Requested operation is not supported.
10Declined by bank (reason not specified).
11Common decline by bank.
12Soft decline: EMV 3DS Authentication required.
13Insufficient funds.
14Card limit reached.
15Incorrect card data.
16Declined by bank's antifraud.
17Bank's malfunction.
18Connection problem.
19Incorrect payment data.
21No payment was received (for BITCOIN payment method only).
22Wrong payment was received (for BITCOIN payment method only).
23Confirmations payment timeout (for BITCOIN payment method only).
25The 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:

CodeSchemeMessage
01AllCard authentication failed.
02AllUnknown device.
03AllUnsupported device.
04AllExceeds authentication frequency limit.
05AllExpired card.
06AllInvalid card number..
07AllInvalid transaction.
08AllNo card record.
09AllSecurity failure.
10AllStolen card.
11AllSuspected fraud.
12AllTransaction not permitted for cardholder.
13AllCardholder not enrolled in service.
14AllTransaction timed out at ACS.
15AllLow confidence.
16AllMedium confidence.
17AllHigh confidence.
18AllVery high confidence.
19AllExceeds ACS maximum challenges.
20AllNon-payment transaction not supported.
21All3RI transaction not supported.
22AllACS technical issue.
23AllDecoupled Authentication required by ACS but not requested by 3DS Requestor.
24All3DS Requestor decoupled max expiry time exceeded.
25AllDecoupled Authentication was provided insufficient time to authenticate cardholder ACS will not make attempt.
26AllAuthentication attempted but not performed by the cardholder.
80VisaError connecting to ACS.
80MastercardReturned on all Data Only authentications.
80American ExpressSafekey is not available for this type of card.
81VisaACS timed out.
81MastercardChallenge exemption accepted.
82VisaInvalid response from ACS.
82MastercardChallenge Mandate requested but could not be performed.
83VisaSystem Error response from ACS.
83MastercardDS dropped reason code received from DS.
84VisaVMID not eligible for requested program.
85VisaVMID not eligible for requested program.
86VisaProtocol version not supported by ACS.
87VisaTransaction is excluded from Attempts Processing (includes non-reloadable pre-paid cards and non-payments (NPA)).
88VisaRequested program not supported by ACS.