Публичный
Двухстадийная оплата
Блокировка средств на карте клиента для дальнейшего списания


Завершение
Формирование запроса к API при самостоятельной интеграции:
Пример использования SDK:
#!/bin/bash
PUBLIC_KEY='your_public_key'
PRIVATE_KEY='your_private_key'
API_URL='https://www.liqpay.ua/api/request'
JSON="{ 
	\"action\" : \"hold_completion\",
	\"version\" : 3,
	\"public_key\" : \"${PUBLIC_KEY}\", 
	\"order_id\" : \"order_id_1\"
}"
# DATA is base64_encode result from JSON string
DATA=$(echo -n ${JSON} | base64)
# SIGNATURE is base64 encode result from sha1 binary hash from concatenate string ${PRIVATE_KEY}${DATA}${PRIVATE_KEY}
SIGNATURE=$(echo -n "${PRIVATE_KEY}${DATA}${PRIVATE_KEY}" | openssl dgst -binary -sha1 | base64)
# REQ is json response from liqpay
REQ=$(curl --silent -XPOST ${API_URL} --data-urlencode data="${DATA}" --data-urlencode signature="${SIGNATURE}")
echo "Result: ${REQ}"
$liqpay = new LiqPay($public_key, $private_key);
$res = $liqpay->api("request", array(
'action'        => 'hold_completion',
'version'       => '3',
'order_id'      => 'order_id_1'
));
HashMap<String, String> params = new HashMap<String, String>();
params.put("action", "hold_completion");
params.put("version", "3");
params.put("order_id", "order_id_1");

LiqPay liqpay = new LiqPay(PUBLIC_KEY, PRIVATE_KEY);
HashMap<String, Object> res = liqpay.api("request", params);		
System.out.println(res.get("status"));
from liqpay import LiqPay

liqpay = LiqPay(public_key, private_key)
res = liqpay.api("request", {
"action"        : "hold_completion",
"version"       : "3",
"order_id"      : "order_id_1"
})
liqpay = Liqpay::Liqpay.new(
:public_key  => 'public_key',
:private_key => 'private_key'
)
res = liqpay.api("request", {
:action        => "hold_completion",
:version       => "3",
:order_id      => "order_id_1"
})
LiqPay = liqpay:init(PublicKey, PrivateKey),
Res = liqpay:api("request", [
{<<"action">>, <<"hold_completion">>},
{<<"version">>, <<"3">>},
{<<"order_id">>, <<"order_id_1">>}
], LiqPay)
var LiqPay = require('liqpay');
var liqpay = new LiqPay(public_key, private_key);
liqpay.api("request", {
"action"   : "hold_completion",
"version"  : "3",
"order_id" : "order_id_1"
}, function( json ){
console.log( json.status );
});
my $liqpay = Liqpay->new($public_key,$private_key);
my $res = $liqpay->api("request",
{
'action'        => 'hold_completion',
'version'       => '3',
'order_id'      => 'order_id_1'
}
);
Init("my_public_key", "my_private_key")
Api("request", map[string]interface{}{
    "action": "hold_completion",
    "version": 3,
    "public_key": PublicKey,
    "order_id": "order_id_1",
})
Параметры для формирования data:
Основные
Parameter Required Type Description
version Required Number Версия API. Текущее значение - 3
public_key Required String Публичный ключ - идентификатор магазина. Получить ключ можно в настройках магазина
action Required String hold_completion
amount Required Number Сумма платежа.Например: 5, 7.34
order_id Required String Уникальный ID покупки в Вашем магазине. Максимальная длина 255 символов.
Пример ответа:
{
  "action": "hold",
  "payment_id": 165160,
  "status": "success",
  "version": 3,
  "type": "hold",
  "paytype": "card",
  "public_key": "i000000000",
  "acq_id": 414963,
  "order_id": "98R1U1OV1485849059893399",
  "liqpay_order_id": "NYMK3AE61501685438251925",
  "description": "test",
  "sender_phone": "380950000001",
  "sender_first_name": "first name",
  "sender_last_name": "last name",
  "sender_card_mask2": "414961*99",
  "sender_card_bank": "pb",
  "sender_card_type": "visa",
  "sender_card_country": 804,
  "card_token": "2DFBFE626B734161130DE81E971E948D6F260",
  "amount": 0.02,
  "currency": "UAH",
  "sender_commission": 0.0,
  "receiver_commission": 0.0,
  "agent_commission": 0.0,
  "amount_debit": 0.02,
  "amount_credit": 0.02,
  "commission_debit": 0.0,
  "commission_credit": 0.0,
  "currency_debit": "UAH",
  "currency_credit": "UAH",
  "sender_bonus": 0.0,
  "amount_bonus": 0.0,
  "authcode_debit": "751279",
  "authcode_credit": "002970",
  "rrn_debit": "000663204729",
  "rrn_credit": "000663205525",
  "mpi_eci": "7",
  "is_3ds": false,
  "create_date": 1501681569734,
  "end_date": 1501681657732,
  "completion_date": 1501681656973,
  "transaction_id": 165160
}
Параметры ответа
Parameter Type Description
acq_id Number ID эквайера
action String Тип операции. Возможные значения: pay - платеж, hold - блокировка средств на счету отправителя, paysplit - расщепление платежа, subscribe - создание регулярного платежа, paydonate - пожертвование, auth - предавторизация карты, regular - регулярный платеж
agent_commission Number Комиссия агента в валюте платежа
amount Number Сумма платежа
amount_bonus Number Бонус отправителя в валюте платежа debit
amount_credit Number Сумма транзакции credit в валюте currency_credit
amount_debit Number Сумма транзакции debit в валюте currency_debit
authcode_credit String Код авторизации по транзакции credit
authcode_debit String Код авторизации по транзакции debit
card_token String Token карты оправителя
commission_credit Number Комиссия с получателя в валюте currency_credit
commission_debit Number Комиссия с отправителя в валюте currency_debit
completion_date String Дата списания средств
create_date String Дата создания платежа
currency String Валюта платежа
currency_credit String Валюта транзакции credit
currency_debit String Валюта транзакции debit
description String Комментарий к платежу
end_date String Дата завершения/изменения платежа
is_3ds Boolean Возможные значения:
true - транзакция прошла с 3DS проверкой,
false - транзакция прошла без 3DS проверки
liqpay_order_id String Order_id платежа в системе LiqPay
mpi_eci Number Возможные значения: 5 - транзакция прошла с 3DS (эмитент и эквайер поддерживают технологию 3D-Secure), 6 - эмитент карты плательщика не поддерживает технологию 3D-Secure, 7 - операция прошла без 3D-Secure
order_id String Order_id платежа
payment_id Number Id платежа в системе LiqPay
paytype String Способ оплаты. Возможные значения card - оплата картой, liqpay - через кабинет liqpay, privat24 - через кабинет приват24, masterpass - через кабинет masterpass, moment_part - рассрочка, cash - наличными, invoice - счет на e-mail, qr - сканирование qr-кода.
public_key String Публичный ключ магазина
receiver_commission Number Комиссия с получателя в валюте платежа
rrn_credit String Уникальный номер транзакции в системе авторизации и расчетов обслуживающего банка Retrieval Reference number
rrn_debit String Уникальный номер транзакции в системе авторизации и расчетов обслуживающего банка Retrieval Reference number
sender_bonus Number Бонус отправителя в валюте платежа
sender_card_bank String Банк отправителя
sender_card_country String Страна карты отправителя. Цифровой ISO 3166-1 код
sender_card_mask2 String Карта отправителя
sender_card_type String Тип карты отправителя MC/Visa
sender_commission Number Комиссия с отправителя в валюте платежа
sender_first_name String Имя отправителя
sender_last_name String Фамилия отправителя
sender_phone String Телефон отправителя
status String Статус платежа.
Возможные значения:
Конечные статусы платежа
error Неуспешный платеж. Некорректно заполнены данные
failure Неуспешный платеж
sandbox Тестовый платеж
success Успешный платеж
transaction_id Number Id транзакции в системе LiqPay
type String Тип платежа
version Number Версия API. Текущее значение - 3