23 - Khipu - CHL (CLP)

Channel: 23

Provider: Khipu

Payment Method: Regular/Simplified - Transfer

Available Currencies

NameCodeCountry
Chilean PesosCLPChile

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

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": "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:

ParameterMandatoryData TypeDescription
name_shopperTrueString (255)Shopper's name
last_name_ShopperTrueString (255)Shopper's last name
type_doc_identiTrueString (3)Identification document [CI, RUT, PAS, DNI]
Num_doc_identiTrueString (12)Identification document number
emailTrueString (255)Shopper's email
country_codeTrueString (4)Country's phone code [+59]
PhoneTrueString (12)Shopper's phone number
countryTrueString (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 RangeDescription
A000Authentication error. There is a problem with the JWT token (expired, revoked, or invalid).
E100 - E199Logon errors. Invalid credentials, blocked account, or other login issues.
E200 - E299Destination service errors. Target system unavailable or failed to respond.
E300 - E399No data available. Process completed but no expected result found (e.g., future transactions).
E400 - E499User input errors. Invalid parameters, such as wrong dates or unknown currency codes.
E500 - E599Automatic payment errors. Issues in auto-pay functionalities.
E999Custom error. Generic message with additional descriptive text.
E000Generic error. No specific description available.
D000Incomplete scraping. Missing data needed to complete the process.
F000Processing error. Failure in data transformation or response formatting.
T000Timeout error. The scraping operation exceeded time limits.
I001 - I003Infrastructure errors. Missing internal components or malformed responses.
P001 - P003Request parameter errors. Issues like malformed URLs in async calls.
L000Webhook 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 TypeDescription
DO_NOT_RETRYDo not retry. The request is invalid or credentials are incorrect. Retrying will not help.
RETRY_IMMEDIATELYSafe to retry. Temporary issue (e.g., timeout or destination service hiccup). Try again right away.
WAIT_4_HOURS_BEFORE_RETRYWait before retrying. Our system is still working on something. Please retry after 4 hours.