Channel: 3
Provider: Transbank
Payment Method: Debit / Credit Card
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=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¤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=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¤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=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
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 |
shopper_information
JSON format
shopper_information
JSON formatField 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:
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 |
Test Transactions
Simulate payment
Once the notification URL is configured, please follow the steps below to begin the tests.
- Create Transaction: The first thing you need to do is create a transaction, you will be redirected to Transbank.
- Select the Credit, Debit or Prepaid Card
- Select TEST COMMERCE BANK, enter one of the Testing Cards number and click on Pay button
Credit and Debits TEST Cards CLP
Brand | Type | Card Number | CVV | Exp Date | Status |
---|---|---|---|---|---|
Visa | CREDIT CARD | 4051885600446623 | 123 | Any | APPROVED |
Mastercard | CREDIT CARD | 5186059559590568 | 123 | Any | REJECTED |
Red compra | DEBIT & PREPAID CARD | 4051884239937763 | N/A | N/A | APPROVED |
Mastercard | DEBIT & PREPAID CARD | 5186008541233829 | N/A | N/A | REJECTED |
- Login : For Credit Card you will redirect to validation
Enter the following credential and then log in:
- Rut: 11.111.111-1
- Clave: 123
- Select Accept (Acertar) option and click on continue button
- 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
Code | Message |
---|---|
1 | Invalid card |
2 | Connection error |
3 | Exceeds maximum amount |
4 | Invalid expiration date |
5 | Authentication problem |
6 | General Rejection |
7 | Locked card |
8 | Expired card |
9 | Transaction not supported |
10 | Transaction problem |
11 | Rejection retry limit exceeded |
Authentication error handling
Code | Message |
---|---|
TSN | Authentication Rejected |
NP | Does not participate, without authentication |
U3 | Connection Failed, Authentication Rejected |
INV | Invalid Data |
A | Tried |
CNP1 | Commerce does not participate |
EOP | Operational error |
BNA | BIN no adherido |
ENA | Non-attached issuer |
TSYS | Successful authentication Frictionless. Authentication result: Authentication Successful) |
TSAS | Attempt, card not enrolled / issuer not available. Authentication result: Authentication Successful) |
TSNS | Failed, not authenticated, denied / does not allow attempts. Authentication result: Authentication denied) |
TSRS | Authentication declined - frictionless. Authentication result: Authentication refused) |
TSUS | Authentication could not be performed due to technical problem or other reason. Authentication result: Authentication failed) |
TSCF | Friction authentication (Not accepted by the merchant). Authentication result: Incomplete authentication) |
TSYF | Successful authentication with friction. Authentication result: Authentication successful) |
TSNF | Not authenticated. Transaction denied with friction. Authentication result: Authentication denied) |
TSUF | Friction authentication could not be performed due to technical or other problem. Authentication result: Authentication failed) |
NPC | Commerce does not participate. Authentication result: Commerce/BIN does not participate) |
NPB | BIN does not participate. Authentication result: Commerce/BIN does not participate) |
NPCB | Commerce and BIN do not participate. Authentication result: Commerce/BIN does not participate) |
SPCB | Commerce and BIN do participate. Authentication result: Incomplete authorization) |