Channel: 3

Provider: Transbank

Payment Method: Debit / Credit Card

Available Currencies

NameCodeCountry
Chilean PesosCLPChile

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=3 \
  --data amount=300 \
  --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=1a72e22bca745685e6f942f4c32994e3a60c2cd73327e8f63dd77af010b5bf89
  --data 'shopper_information={"name_shopper": "Jon","last_name_Shopper": "Snow","type_doc_identi": "DNI","Num_doc_identi": "92738009","email": "[email protected]","country_code": "+56","Phone": "999763655"}'
<?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=3&amount=300&currency=CLP&trans_id=1&time_expired=120&url_ok=https%3A%2F%2Fbit.ly%2F3S4I7iR&url_error=https%3A%2F%2Fbit.ly%2F3S5aOwc&signature=1a72e22bca745685e6f942f4c32994e3a60c2cd73327e8f63dd77af010b5bf89&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=3&amount=300&currency=CLP&trans_id=1&time_expired=120&url_ok=https%3A%2F%2Fbit.ly%2F3S4I7iR&url_error=https%3A%2F%2Fbit.ly%2F3S5aOwc&signature=1a72e22bca745685e6f942f4c32994e3a60c2cd73327e8f63dd77af010b5bf89shopper_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: '3',
  amount: '300',
  currency: 'CLP',
  trans_id: '1',
  time_expired: '120',
  url_ok: 'https://bit.ly/3S4I7iR',
  url_error: 'https://bit.ly/3S5aOwc',
  signature: '1a72e22bca745685e6f942f4c32994e3a60c2cd73327e8f63dd77af010b5bf89',
  shopper_information:'{"name_shopper": "Jon","last_name_Shopper": "Snow","type_doc_identi": "DNI","Num_doc_identi": "92738009","email": "[email protected]","country_code": "+56","Phone": "999763655"}'
}));
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).

'{"name_shopper": "Jon","last_name_Shopper": "Snow","type_doc_identi": "DNI","Num_doc_identi": "92738009","email": "[email protected]","country_code": "+56","Phone": "999763655"}'

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 [RUT,DNI,CI, ID etc.]
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

Test Transactions

Simulate payment

Once the notification URL is configured, please follow the steps below to begin the tests.

  1. Create Transaction: The first thing you need to do is create a transaction, you will be redirected to Transbank.
  2. Select the Credit, Debit or Prepaid Card

  1. Select TEST COMMERCE BANK, enter one of the Testing Cards number and click on Pay button

Credit and Debits TEST Cards CLP

BrandTypeCard NumberCVVExp DateStatus
VisaCREDIT CARD4051885600446623123AnyAPPROVED
MastercardCREDIT CARD5186059559590568123AnyREJECTED
Red compraDEBIT & PREPAID CARD4051884239937763N/AN/AAPPROVED
MastercardDEBIT & PREPAID CARD5186008541233829N/AN/AREJECTED
  1. Login : For Credit Card you will redirect to validation
    Enter the following credential and then log in:
  • Rut: 11.111.111-1
  • Clave: 123
  1. Select Accept (Acertar) option and click on continue button

  1. You will be redirected to a resume page and the transaction will be completed

Errors

To better error handling, we'll return the errors in the response body using the following fields:

{
  "error":{
    "code":1,
    "message":"Invalid card"
  }
}

General error handling

CodeMessage
1Invalid card
2Connection error
3Exceeds maximum amount
4Invalid expiration date
5Authentication problem
6General Rejection
7Locked card
8Expired card
9Transaction not supported
10Transaction problem
11Rejection retry limit exceeded

Authentication error handling

CodeMessage
TSNAuthentication Rejected
NPDoes not participate, without authentication
U3Connection Failed, Authentication Rejected
INVInvalid Data
ATried
CNP1Commerce does not participate
EOPOperational error
BNABIN no adherido
ENANon-attached issuer
TSYSSuccessful authentication Frictionless. Authentication result: Authentication Successful)
TSASAttempt, card not enrolled / issuer not available. Authentication result: Authentication Successful)
TSNSFailed, not authenticated, denied / does not allow attempts. Authentication result: Authentication denied)
TSRSAuthentication declined - frictionless. Authentication result: Authentication refused)
TSUSAuthentication could not be performed due to technical problem or other reason. Authentication result: Authentication failed)
TSCFFriction authentication (Not accepted by the merchant). Authentication result: Incomplete authentication)
TSYFSuccessful authentication with friction. Authentication result: Authentication successful)
TSNFNot authenticated. Transaction denied with friction. Authentication result: Authentication denied)
TSUFFriction authentication could not be performed due to technical or other problem. Authentication result: Authentication failed)
NPCCommerce does not participate. Authentication result: Commerce/BIN does not participate)
NPBBIN does not participate. Authentication result: Commerce/BIN does not participate)
NPCBCommerce and BIN do not participate. Authentication result: Commerce/BIN does not participate)
SPCBCommerce and BIN do participate. Authentication result: Incomplete authorization)