Channel: 40
Provider: Ligo
Payment Method: Bank Transfer
Available Currencies
| Name | Code | Country |
|---|---|---|
| Peruvian sol | PEN | Peru |
Request example
curl --location 'https://uat-payments.alps.cl/justpay/check-out/SecurePayment.php' \
--form 'public_key="{YOUR_PUBLIC_KEY}"' \
--form 'time="2024-07-17 16:33:11"' \
--form 'amount="10.00"' \
--form 'currency="PEN"' \
--form 'trans_id="1"' \
--form 'time_expired="120"' \
--form 'url_ok="https://bit.ly/3S4I7iR"' \
--form 'url_error="https://bit.ly/3S5aOwc"' \
--form 'channel="40"' \
--form 'signature="{YOUR_SIGNATURE}"' \
--form 'shopper_information="{\"name_shopper\":\"Juan\",\"last_name_Shopper\":\"Pérez López\",\"type_doc_identi\":\"DNI\",\"Num_doc_identi\":\"12345678\",\"email\":\"[email protected]\",\"country_code\":\"+51\",\"Phone\":\"999763555\",\"country\":\"PER\"}"' \
--form 'filter_by="efimero"'<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://uat-payments.alps.cl/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' => '{YOUR_PUBLIC_KEY}','time' => '2024-07-17 16:33:11','amount' => '10.00','currency' => 'PEN','trans_id' => '1','time_expired' => '120','url_ok' => 'https://bit.ly/3S4I7iR','url_error' => 'https://bit.ly/3S5aOwc','channel' => '40','signature' => '{YOUR_SIGNATURE}','shopper_information' => '{"name_shopper":"Juan","last_name_Shopper":"Pérez López","type_doc_identi":"DNI","Num_doc_identi":"12345678","email":"[email protected]","country_code":"+51","Phone":"999763555","country":"PER"}','filter_by' => 'efimero'),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;import requests
url = "https://uat-payments.alps.cl/justpay/check-out/SecurePayment.php"
payload = {'public_key': '{YOUR_PUBLIC_KEY}',
'time': '2024-07-17 16:33:11',
'amount': '10.00',
'currency': 'PEN',
'trans_id': '1',
'time_expired': '120',
'url_ok': 'https://bit.ly/3S4I7iR',
'url_error': 'https://bit.ly/3S5aOwc',
'channel': '40',
'signature': '{YOUR_SIGNATURE}',
'shopper_information': '{"name_shopper":"Juan","last_name_Shopper":"Pérez López","type_doc_identi":"DNI","Num_doc_identi":"12345678","email":"[email protected]","country_code":"+51","Phone":"999763555","country":"PER"}',
'filter_by': 'efimero'}
files=[
]
headers = {}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)var request = require('request');
var options = {
'method': 'POST',
'url': 'https://uat-payments.alps.cl/justpay/check-out/SecurePayment.php',
'headers': {
},
formData: {
'public_key': '{YOUR_PUBLIC_KEY}',
'time': '2024-07-17 16:33:11',
'amount': '10.00',
'currency': 'PEN',
'trans_id': '1',
'time_expired': '120',
'url_ok': 'https://bit.ly/3S4I7iR',
'url_error': 'https://bit.ly/3S5aOwc',
'channel': '40',
'signature': '{YOUR_SIGNATURE}',
'shopper_information': '{"name_shopper":"Juan","last_name_Shopper":"Pérez López","type_doc_identi":"DNI","Num_doc_identi":"12345678","email":"[email protected]","country_code":"+51","Phone":"999763555","country":"PER"}',
'filter_by': 'efimero'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});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. Use 40 |
amount | True | Double | The amount of the transaction. 2 decimals |
currency | True | String (3) | Transaction currency code. Use PEN |
trans_id | True | String (255) | Transaction id |
time_expired | True | String (255) | Time in minutes to expire the token. Value given in minutes. Minimum: 30 minutes |
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 (255) | Defines the transfer method and does not allow the user to modify it. Possible values: efimero, efimero_v2 |
shopper_information JSON format
{"name_shopper":"Juan","last_name_Shopper":"Pérez López","type_doc_identi":"DNI","Num_doc_identi":"12345678","email":"[email protected]","country_code":"+51","Phone":"999763555","country":"PER"}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 [DNI, CED, PAS, RUC]. DNI: national ID card. CED: foreign resident card. PAS: passport. RUC: tax identification number |
Num_doc_identi | True | String (255) | Identification document number. DNI: exactly 8 digits, without check digit. CED: 8 to 13 digits. RUC: 9 to 13 digits. PAS: 8 to 20 characters, uppercase letters and digits only |
email | True | String (255) | Shopper's e-mail |
country_code | True | String (10) | Country's phone code. Accepts +51 or 51 |
Phone | True | String (20) | Shopper's phone number: the national number without the country code (Ex. 999763555), with or without spaces. Mobile and landline numbers are accepted. It is validated together with country_code and must be a valid Peruvian number. Do not repeat the country code inside Phone and do not use the 00 prefix |
country | True | String (3) | Country ISO code [PER] |
Transfer Method
You can filter the available method by sending the filter_by field in the payload.
Method enabled
| QR type | Code (filter_by) |
|---|---|
| Efimero | efimero |
| Efimero V2 | efimero_v2 |
Note: The
filter_byfield is required.
Errors
This payment integration only sends notifications for successfully completed transactions. This means that error messages will not be generated for failed transactions.
The following validation errors are returned when the payment is created:
| Code | Cause |
|---|---|
SHOPPER_INVALID_DOCUMENT_TYPE | type_doc_identi is not DNI, CED, PAS or RUC |
INVALID_PHONE_NUMBER | Phone and country_code do not form a valid Peruvian phone number |
