Channel: 12

Provider: ETPay

Payment Method: APM

Available Currencies

NameCodeCountry
Mexican pesoMXNMexico

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=12 \
  --data amount=50 \
  --data currency=MXN \
  --data trans_id=1 \
  --data time_expired=120 \
  --data url_ok=https://bit.ly/3S4I7iR \
  --data url_error=https://bit.ly/3S5aOwc \
  --data signature=890874e9a26468d26ba9ba54975ff04e3d636d582f2d681b79cee5a98b049922
  --data 'shopper_information={"Phone": "1122223333", "email": "[email protected]", "country_code": "+52", "name_shopper": "Fulano", "Num_doc_identi": "415792634157926323", "type_doc_identi": "CURP","last_name_Shopper": "Da Silva”}'
<?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=12&amount=50&currency=MXN&trans_id=1&time_expired=120&url_ok=https%3A%2F%2Fbit.ly%2F3S4I7iR&url_error=https%3A%2F%2Fbit.ly%2F3S5aOwc&signature=890874e9a26468d26ba9ba54975ff04e3d636d582f2d681b79cee5a98b049922&shopper_information=%7B%27Phone%27%3A%20%271122223333%27%2C%20%27email%27%3A%20%27teste%40email.com%27%2C%20%27country_code%27%3A%20%27%2B52%27%2C%20%27name_shopper%27%3A%20%27Fulano%27%2C%20%27Num_doc_identi%27%3A%20%27415792634157926323%27%2C%20%27type_doc_identi%27%3A%20%27CURP%27%2C%20%27last_name_Shopper%27%3A%20%27Da+Silva%27%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=12&amount=50&currency=MXN&trans_id=1&time_expired=120&url_ok=https%3A%2F%2Fbit.ly%2F3S4I7iR&url_error=https%3A%2F%2Fbit.ly%2F3S5aOwc&signature=890874e9a26468d26ba9ba54975ff04e3d636d582f2d681b79cee5a98b049922&shopper_information=%7B%27Phone%27%3A%20%271122223333%27%2C%20%27email%27%3A%20%27teste%40email.com%27%2C%20%27country_code%27%3A%20%27%2B52%27%2C%20%27name_shopper%27%3A%20%27Fulano%27%2C%20%27Num_doc_identi%27%3A%20%27415792634157926323%27%2C%20%27type_doc_identi%27%3A%20%27CURP%27%2C%20%27last_name_Shopper%27%3A%20%27Da+Silva%27%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: '12',
  amount: '50',
  currency: 'MXN',
  trans_id: '1',
  time_expired: '120',
  url_ok: 'https://bit.ly/3S4I7iR',
  url_error: 'https://bit.ly/3S5aOwc',
  signature: '890874e9a26468d26ba9ba54975ff04e3d636d582f2d681b79cee5a98b049922',
  shopper_information:'{"Phone": "1122223333", "email": "[email protected]", "country_code": "+52", "name_shopper": "Fulano", "Num_doc_identi": "415792634157926323", "type_doc_identi": "CURP","last_name_Shopper": "Da Silva”}'
}));
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

shopper_information JSON format

📘

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

'{"Phone": "1122223333", "email": "[email protected]", "country_code": "+52", "name_shopper": "Fulano", "Num_doc_identi": "415792634157926323", "type_doc_identi": "CURP","last_name_Shopper": "Da Silva”}'

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 [CI, PAS]
Num_doc_identiTrueString (255)Identification document number
emailTrueString (255)Shopper's e-mail
country_codeTrueString (10)Country's phone code (Ex. +57)
PhoneTrueString (20)Shopper's phone number