Приватний
Верифікація відправника
Запит додаткових даних по відправнику для його верифікації при оплаті

Схема роботи API верифікація відправника
Формування запиту до API при самостійній інтеграції:
Приклад використання SDK:
#!/bin/bash
PUBLIC_KEY='your_public_key'
PRIVATE_KEY='your_private_key'
API_URL='https://www.liqpay.ua/api/request'
JSON="{ 
	\"action\" : \"confirm\",
    \"version\" : 3,
    \"public_key\" : \"${PUBLIC_KEY}\", 
    \"confirm_token\" : \"JmV2qDgC3LotB8njGDcEYjHFpmpAZR\", 
    \"sender_first_name\" : \"first name\",
    \"sender_last_name\" : \"last name\",
    \"sender_address\" : \"address\",
    \"sender_city\" : \"city\",
    \"sender_country_code\" : \"code\"
}"
# 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'  => 'confirm',
'version' => '3',
'confirm_token'   => 'JmV2qDgC3LotB8njGDcEYjHFpmpAZR',
'sender_first_name'     => 'first name',
'sender_last_name'     => 'last name',
'sender_address'     => 'address',
'sender_city'     => 'city',
'sender_country_code'     => 'code'
));
HashMap<String, String> params = new HashMap<String, String>();
params.put("action", "confirm");
params.put("version", "3");
params.put("confirm_token", "JmV2qDgC3LotB8njGDcEYjHFpmpAZR");
params.put("sender_first_name", "first name");
params.put("sender_last_name", "last name");
params.put("sender_address", "address");
params.put("sender_city", "city");
params.put("sender_country_code", "code");

LiqPay liqpay = new LiqPay(PUBLIC_KEY, PRIVATE_KEY);
HashMap<String, Object> res = liqpay.api("request", params);   
System.out.println(res.get("status"));
liqpay = LiqPay(public_key, private_key)
res = liqpay.api("request", {
"action"  : "confirm",
"version" : "3",
"confirm_token"   : "JmV2qDgC3LotB8njGDcEYjHFpmpAZR",
"sender_first_name"     : "first name",
"sender_last_name"     : "last name",
"sender_address"     : "address",
"sender_city"     : "city",
"sender_country_code"     : "code"
})
liqpay = Liqpay::Liqpay.new(
:public_key  => 'public_key',
:private_key => 'private_key'
)
res = liqpay.api("request", {
:action  => "confirm",
:version => "3",
:confirm_token   => "JmV2qDgC3LotB8njGDcEYjHFpmpAZR",
:sender_first_name     => "first name",
:sender_last_name     => "last name",
:sender_address     => "address",
:sender_city     => "city",
:sender_country_code     => "code"
})
LiqPay = liqpay:init(PublicKey, PrivateKey),
Res = liqpay:api("request", [
{<<"action">>, <<"confirm">>},
{<<"version">>, <<"3">>}, 
{<<"confirm_token">>, <<"JmV2qDgC3LotB8njGDcEYjHFpmpAZR">>}, 
{<<"sender_first_name">>, <<"first name">>}, 
{<<"sender_last_name">>, <<"last name">>}, 
{<<"sender_address">>, <<"address">>}, 
{<<"sender_city">>, <<"city">>}, 
{<<"sender_country_code">>, <<"code">>}
], LiqPay)
var LiqPay = require('liqpay');
var liqpay = new LiqPay(public_key, private_key);
liqpay.api("request", {
"action"  : "confirm",
"version" : "3",
"confirm_token"   : "JmV2qDgC3LotB8njGDcEYjHFpmpAZR",
"sender_first_name"     : "first name",
"sender_last_name"     : "last name",
"sender_address"     : "address",
"sender_city"     : "city",
"sender_country_code"     : "code"
}, function( json ){
console.log( json.status );
});
my $liqpay = Liqpay->new($public_key,$private_key);
my $res = $liqpay->api("request",
{
'action'  => 'confirm',
'version' => '3',
'confirm_token'   => 'JmV2qDgC3LotB8njGDcEYjHFpmpAZR',
'sender_first_name'     => 'first name',
'sender_last_name'     => 'last name',
'sender_address'     => 'address',
'sender_city'     => 'city',
'sender_country_code'     => 'code'
}
);
Init("my_public_key", "my_private_key")
Api("request", map[string]interface{}{
    "action": "confirm",
    "version": 3,
    "public_key": PublicKey,
    "confirm_token": "JmV2qDgC3LotB8njGDcEYjHFpmpAZR",
    "sender_first_name": "first name",
    "sender_last_name": "last name",
    "sender_address": "address",
    "sender_city": "city",
    "sender_country_code": "code",
})
Параметри для формування data:
Основні
Parameter Required Type Description
version Required Number Версія API. Поточне значення - 3
public_key Required String Публічний ключ - ідентифікатор магазину. Отримати ключ можна в налаштуваннях магазину
action Required String confirm
confirm_token Required String token платежу
sender_address Required String Адреса відправника
sender_city Required String Місто відправника
sender_country_code Required String Код країни відправника. Цифровий ISO 3166-1 код
sender_first_name Required String Ім'я відправника
sender_last_name Required String Прізвище відправника
sender_postal_code Required String Поштовий індекс відправника
Приклад відповіді:
{
  "action": "p2p",
  "payment_id": 165235,
  "status": "failure",
  "err_code": "err_payment",
  "err_description": "Error payment",
  "version": 3,
  "paytype": "card",
  "public_key": "i000000000",
  "acq_id": 414963,
  "order_id": "98R1U1OV1485849059893399",
  "liqpay_order_id": "NYMK3AE61501685438251925",
  "description": "p2p",
  "sender_phone": "380950000001",
  "sender_first_name": "test",
  "sender_first_name": "test",
  "sender_card_mask2": "414962*99",
  "sender_card_bank": "pb",
  "sender_card_type": "visa",
  "sender_card_country": 804,
  "amount": 1.0,
  "currency": "UAH",
  "sender_commission": 0.02,
  "receiver_commission": 0.0,
  "agent_commission": 0.0,
  "amount_debit": 1.0,
  "amount_credit": 0.04,
  "commission_debit": 0.02,
  "commission_credit": 0.0,
  "currency_debit": "UAH",
  "currency_credit": "USD",
  "sender_bonus": 0.0,
  "amount_bonus": 0.0,
  "mpi_eci": "7",
  "is_3ds": false,
  "create_date": 1501754644818,
  "end_date": 1501754644818,
  "transaction_id": 165235,
  "code": "err_payment"
}
Параметри відповіді
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
code String Код помилки
commission_credit Number Комісія з одержувача у валюті currency_credit
commission_debit Number Комісія з відправника у валюті currency_debit
create_date String Дата створення платежу
currency String Валюта платежу
currency_credit String Валюта транзакції credit
currency_debit String Валюта транзакції debit
description String Коментар до платежу
end_date String Дата завершення/зміни платежу
err_code String Код помилки
err_description 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 Комісія з одержувача у валюті платежу
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 Неуспішний платіж
reversed Платіж повернений
success Успішний платіж
Інші статуси платежу
wait_accept Кошти з клієнта списані, але магазин ще не пройшов перевірку. Якщо магазин не пройде активацію протягом 180 днів, платежі будуть автоматично скасовані
wait_secure Платіж на перевірці
transaction_id Number Id транзакції в системі LiqPay
version Number Версія API. Поточне значення - 3