Channel: 23
Provider: Khipu
Payment Method: Regular/Simplified - Transfer
Available Currencies
Name | Code | Country |
---|---|---|
Chilean Pesos | CLP | Chile |
Request example
curl --location 'http://paymentscert.alps.cl/justpay/check-out/SecurePayment' \
--form 'public_key="zyssglikvtltbd2se2hudwl50jjomil2uytp7tpvjtxyfdw469jagk8yvnex9jks"' \
--form 'time="2024-07-17 16:33:11"' \
--form 'amount="500"' \
--form 'currency="CLP"' \
--form 'trans_id="1"' \
--form 'time_expired="120"' \
--form 'url_ok="https://bit.ly/3S4I7iR"' \
--form 'url_error="https://bit.ly/3S4I7iR"' \
--form 'channel="23"' \
--form 'signature="0326811933d8edc9e2302a489ad4fed95da2c060f6dfd467d2694c3d0408189d"' \
--form 'shopper_information="{\"Phone\": \"999999999\", \"email\": \"[email protected]\", \"name_shopper\": \"\", \"Num_doc_identi\": \"234112345678\", \"type_doc_identi\": \"ci\", \"last_name_Shopper\": \"\", \"country\":\"ECU\", \"country_code\":\"+593\"}"'
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://paymentscert.alps.cl/justpay/check-out/SecurePayment',
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' => '500','currency' => 'CLP','trans_id' => '1','time_expired' => '120','url_ok' => 'https://bit.ly/3S4I7iR','url_error' => 'https://bit.ly/3S4I7iR','channel' => '23','signature' => '0326811933d8edc9e2302a489ad4fed95da2c060f6dfd467d2694c3d0408189d','shopper_information' => '{"Phone": "999999999", "email": "[email protected]", "name_shopper": "", "Num_doc_identi": "234112345678", "type_doc_identi": "ci", "last_name_Shopper": "", "country":"ECU", "country_code":"+593"}'),
));
$response = curl_exec($curl);
curl_close($curl);
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': '500',
'currency': 'CLP',
'trans_id': '1',
'time_expired': '120',
'url_ok': 'https://bit.ly/3S4I7iR',
'url_error': 'https://bit.ly/3S4I7iR',
'channel': '23',
'signature': '0326811933d8edc9e2302a489ad4fed95da2c060f6dfd467d2694c3d0408189d',
'shopper_information': '{"Phone": "999999999", "email": "[email protected]", "name_shopper": "", "Num_doc_identi": "234112345678", "type_doc_identi": "ci", "last_name_Shopper": "", "country":"ECU", "country_code":"+593"}'}
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': 'http://paymentscert.alps.cl/justpay/check-out/SecurePayment',
'headers': {
},
formData: {
'public_key': 'zyssglikvtltbd2se2hudwl50jjomil2uytp7tpvjtxyfdw469jagk8yvnex9jks',
'time': '2024-07-17 16:33:11',
'amount': '500',
'currency': 'CLP',
'trans_id': '1',
'time_expired': '120',
'url_ok': 'https://bit.ly/3S4I7iR',
'url_error': 'https://bit.ly/3S4I7iR',
'channel': '23',
'signature': '0326811933d8edc9e2302a489ad4fed95da2c060f6dfd467d2694c3d0408189d',
'shopper_information': '{"Phone": "999999999", "email": "[email protected]", "name_shopper": "", "Num_doc_identi": "234112345678", "type_doc_identi": "ci", "last_name_Shopper": "", "country":"ECU", "country_code":"+593"}'
}
};
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 |
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": "Test","last_name_Shopper": "User","type_doc_identi": "RUT","Num_doc_identi": "12345678901","email": "[email protected]", "country_code": "593","Phone": "123763456", "country": "MEX"}'
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 (3) | Identification document [CI, RUT, PAS, DNI ] |
Num_doc_identi | True | String (12) | Identification document number |
email | True | String (255) | Shopper's email |
country_code | True | String (4) | Country's phone code [+59 ] |
Phone | True | String (12) | Shopper's phone number |
country | True | String (3) | Country ISO code [CHL ] |
How to make a payment with Khipu Chile
Khipu offers two methods to make secure online payments from your bank in Chile. Here we explain step by step how each one works.

Option 1: Transfer with my bank (automatic)
This option automates the entire payment process from your bank account.
- Select ‘Transfer with my bank’.
- Choose your bank and account type
- Indicate whether you are a natural person or a company.
- Select your bank from the list
- Enter your bank credentials.
Enter: - Your RUT, example (12.345.678-5).
- Your bank password (internet password).
- Select the account of origin, if you have more than one account, choose from which one you want to make the payment.
- Authorize the payment, depending on your bank, you must enter a code sent by SMS, use your coordinates card or security token.
- Payment completed, Khipu will process the transaction and return you to the original platform with confirmation.
Option 2: Manual transfer
This option allows you to make the payment directly from your bank, copying the data delivered by Khipu.
- Select ‘Manual Transfer’, from the payment methods screen, choose this alternative.
- Complete the requested data
- Select your bank.
- Enter your RUT.
- Enter your email address (ideally Gmail or another active one).
- Receive the details of the Khipu account, you will see the data to make the transfer:
- Bank and account number.
- Name of the recipient.
- Exact amount.
- Glossa/reference to identify the payment.
- Make the transfer from your bank, open your website or banking app and complete the operation using the data provided.
- Confirm the payment once you send the money, return to Khipu to indicate that you have made the transfer.
- Payment in the process of validation
Errors
Code Range | Description |
---|---|
A000 | Authentication error. There is a problem with the JWT token (expired, revoked, or invalid). |
E100 - E199 | Logon errors. Invalid credentials, blocked account, or other login issues. |
E200 - E299 | Destination service errors. Target system unavailable or failed to respond. |
E300 - E399 | No data available. Process completed but no expected result found (e.g., future transactions). |
E400 - E499 | User input errors. Invalid parameters, such as wrong dates or unknown currency codes. |
E500 - E599 | Automatic payment errors. Issues in auto-pay functionalities. |
E999 | Custom error. Generic message with additional descriptive text. |
E000 | Generic error. No specific description available. |
D000 | Incomplete scraping. Missing data needed to complete the process. |
F000 | Processing error. Failure in data transformation or response formatting. |
T000 | Timeout error. The scraping operation exceeded time limits. |
I001 - I003 | Infrastructure errors. Missing internal components or malformed responses. |
P001 - P003 | Request parameter errors. Issues like malformed URLs in async calls. |
L000 | Webhook timeout. Data couldn't be fetched in the allowed time window. |
Error Types
These values indicate how your application should handle specific error responses. They are especially helpful for designing resilient integrations and deciding when to retry or abort a request.
Error Type | Description |
---|---|
DO_NOT_RETRY | Do not retry. The request is invalid or credentials are incorrect. Retrying will not help. |
RETRY_IMMEDIATELY | Safe to retry. Temporary issue (e.g., timeout or destination service hiccup). Try again right away. |
WAIT_4_HOURS_BEFORE_RETRY | Wait before retrying. Our system is still working on something. Please retry after 4 hours. |