Invoice Cancel public
Отмена выставленного счета

Результатом выполнения запроса является отмена выставленного счета, после чего клиент не сможет его оплатить.

Request
Param Required Type Description
version yes Number Версия API. Текущее значение - 3
public_key yes String Публичный ключ - идентификатор магазина. Получить ключ можно в настройках магазина
merchant_public_key yes String Публичный ключ магазина агента
action yes String Тип операции. Возможные значения: pay - платеж, hold - блокировка средств на счету отправителя, subscribe - регулярный платеж, paydonate - пожертвование, auth - предавторизация карты
action yes String invoice_cancel
order_id yes String order_id успешного платежа
email yes String email для отправки квитанции
compensation_id no* String compensation_id проводки зачисления
resp_format no* String Возможный формат отчета json, csv, xml. Если параметр не передан, по умолчанию будет передан json.
date no** String Если неизвестен параметр compensation_id, то передается дата, за которую нужно получить список compensation_id
phone yes String Телефон плательщика. На этот номер будет отправлен OTP пароль подтверждения платежа. Телефон указывается в международном формате (Украина +380, Россия +7). Например: +380950000001 (с +) или 380950000001 (без +)
amount yes Number Сумма платежа.Например: 5, 7.34
currency yes String Валюта платежа. Пример значения: USD, EUR, RUB, UAH BYN KZT. Дополнительные валюты могут быть установлены по запросу компании.
description yes String Назначение платежа.
order_id yes String Уникальный ID покупки в Вашем магазине.Максимальная длина 255 символов.
confirm yes String Флаг подтверждения запроса. Возможные значения: yes, no
card yes String Номер карты плательщика
card_exp_month yes String Месяц срока действия карты плательщика.Например: 08
card_exp_year yes String Год срока действия карты плательщика.Например:19
card_cvv yes String CVV/CVV2
card_token yes String Токен карты плательщика.Например: B5BВB0D00B88B00ED00A00D0D
card_track yes String Трек карты плательщика.Например:1111222233334444=1703000000000000000
imei yes String IMEI устройства
receiver_card yes String Номер карты получателя
bitcoin_addr yes String Кошелек Bitcoin который необходимо пополнить
ip yes String IP клиента.
email yes String E-mail клиента для отправки инвойса
channel_type yes String Канал бота. Поддерживаемые значения: telegram
account yes String ID пользователя в мессенджере
language no String Язык клиента ru, uk, en.
sandbox no String Включает тестовый режим. Средства с карты плательщика не списываются. Для включения тестового режима необходимо передать значение 1. Все тестовые платежи будут иметь статус sandbox - успешный тестовый платеж.
prepare no String Предподготовка платежа. Этот режим позволяет определить все ли данные заполнены, нужна ли 3DS проверка карты, не превышен ли лимит. Средства с карты плательщика не списываются. Для включения режиима необходимо передать значение 1.
recurringbytoken no String Этот параметр позволяет генерировать card_token плательщика, который вы получите в callback запросе на server_url. card_token позволяет проводить платежи без ввода реквизитов карты плательщика, используя API paytoken. Для получения card_token необходимо передать в запросе значение: 1
server_url no String URL API в Вашем магазине для уведомлений об изменении статуса платежа (сервер->сервер). Максимальная длина 510 символов. Подробнее
result_url no String URL в Вашем магазине на который покупатель будет переадресован после завершения покупки в случае переадресации клиента на 3ds страницу 3DS-verify. Максимальная длина 510 символов.
receiver_card_token no String Токен карты получателя. Например: B5BВB0D00B88B00ED00A00D0D
result_url no String URL в Вашем магазине на который покупатель будет переадресован после завершения покупки. Максимальная длина 510 символов.
paytypes no String Параметр в котором передаются способы оплаты, которые будут отображены на чекауте. Возможные значения card - оплата картой, liqpay - через кабинет liqpay, privat24 - через кабинет приват24, masterpass - через кабинет masterpass, moment_part - рассрочка, cash - наличными, invoice - счет на e-mail, qr - сканирование qr-кода. Если параметр не передан, то применяются настройки магазина, вкладка Checkout.
verifycode no String Возможное значение Y. Динамический код верификации, генерируется и возвращается в Callback. Так же сгенерированный код будет передан в транзакции верификации для отображения в выписке по карте клиента. Работает для action= auth.
token no String token платежа
otp no String Одноразовый OTP пароль, который Клиент получил на свой телефон
date_from no String Дата начала отчета в формате timestamp в миллисекундах
date_to no String Дата окончания отчета в формате timestamp в миллисекундах
resp_format no String Возможный формат отчета json, csv, xml. Если параметр не передан, по умолчанию будет передан json.
phone yes String Номер телефона магазина
public_phone no String Публичный телефон магазина
logo no String URL логотипа магазина
site yes String URL сайта магазина
description yes String Описание магазина
email yes String E-mail магазина
name yes String Название магазина
card yes * String Номер карты для приема платежей в этом магазине
card_exp_month yes * String Месяц срока действия карты
card_exp_year yes * String Год срока действия карты
card_cvv yes * String CVV/CVV2
account yes ** String Номер счета для приема платежей в этом магазине
mfo yes ** String МФО счета
okpo yes ** String ОКПО счета
company yes ** String Наименование счета
amount_procent_agent no Number Комиссия агента в процентах
amount_static_agent no * Number Комиссия агента статическая
currency_static_agent no * String Валюта статической комиссии агента
expired_date no String Время до которого клиент может оплатить счет по UTC. Передается в формате 2016-04-24 00:00:00
action_payment no String Тип операции. Возможные значения: pay - платеж, hold - блокировка средств на счету отправителя, subscribe - регулярный платеж, paydonate - пожертвование
goods no String Список товаров
[
  {
    "amount": 1,
    "count": 2,
    "unit": "шт.",
    "name": "USB"
  },
  {
    "amount": 10,
    "count": 1,
    "unit": "шт.",
    "name": "Телефон"
  }
]
Параметры по отправителю
sender_first_name no String Имя отправителя
sender_last_name no String Фамилия отправителя
sender_country_code no String Страна карты отправителя. Цифровой ISO 3166-1 код
sender_city no String Город отправителя
sender_address no String Адрес отправителя
sender_postal_code no String Почтовый индекс отправителя
Параметры по получателю
receiver_first_name no String Имя получателя
receiver_last_name no String Фамилия получателя
Параметры регулярного платежа
subscribe no String Регулярный платеж.Возможные значения: 1
subscribe_date_start no String Дата первого платежа.
Время необходимо указывать в следующем формате 2015-03-31 00:00:00 по UTC. Если указана прошедшая дата, то подписка будет активирована с текущей даты получения запроса
subscribe_periodicity no String Периодичность списания средств.
Возможные значения:
month - раз в месяц
year - раз в год
Параметры аккредитива
letter_of_credit no String Чтобы включить прием платежей по аккредитиву передайте параметр со значением 1
letter_of_credit_date no String Дата окончания срока аккредитива по UTC. Передается в формате 2015-04-24 00:00:00
3DS параметры
mpi_pares no String Параметр, возвращаемый страницей ACS pares.
Этот параметр передается, только если предварительно было использовано API MPI
mpi_md no String Параметр, возвращаемый страницей ACS MD.
Этот параметр передается, только если предварительно было использовано API MPI
Другие параметры
product_url no String Адрес страницы с товаром. Максимальная длина 2000 символов.
product_category no String Категория товара. Максимальная длина 25 символов.
product_name no String Название товара. Максимальная длина 100 символов.
product_description no String Описание товара. Максимальная длина 500 символов.
expired_date no String Время до которого клиент может оплатить счет, а также время жизни сессии чекаута по UTC. Передается в формате 2016-04-24 00:00:00
info no String Информация для добавления к данным платежа. Например: "External information for payments"
customer no String Уникальный идентификатор пользователя на сайте мерчанта. Максимальная длина 100 символов.
mpi_action no String Параметр, определяющий тип платежа. Возможные значения:
pay - Эквайринг
p2p - Перевод с карты на карту
verifycode no String Динамический код авторизации
suburl no String URL субмерчанта
dae no String Длинная запись Detail Addenda.
Параметра dae представляет собой JSON строку, к которой применили функцию base64. JSON может содержать следующие параметры:
- Название поля,
- Формат [S/N]XXX,
- S - строка,
- N - число,
- XXX - длина,
- Описание поля.
{
  "airLine": "S4", // абревиатура авиакомпании, max длина 4 символа.
  "ticketNumber": "ACSFD12354SA", // номер билета, max длина 15 символов. 
  "passengerName": "John Doe", // имя пассажира, max длина 29 символов.
  "flightNumber": "742", // номер рейса, max длина 5 символов.
  "originCity": "DP", // код города/аэропорта вылета, max длина 5 символов.
  "destinationCity": "NY", // код города/аэропорта назначения, max длина 5 символов.
  "departureDate": "100514" // дата вылета в формате YYMMDD, max длина 6 символов.
}

Пример параметра dae: ewogICJhaXJMaW5lIjogIkROSVBST0FWSUEiLAogICJ0aWNr
ZXROdW1iZXIiOiAiQUNTRkQxMjM1NFNBIiwKICAicGFzc2VuZ2VyTmFtZSI6ICJKb2huIERvZSIs
CiAgImZsaWdodE51bWJlciI6ICI3NDIiLAogICJvcmlnaW5DaXR5IjogIkRQIiwKICAiZGVzdGluY
XRpb25DaXR5IjogIk5ZIiwKICAiZGVwYXJ0dXJlRGF0ZSI6ICIxMDA1MTQiCn0=
split_rules no String Платеж с расщеплением суммы на нескольких получателей. В этом параметре указывается JSON массив с правилами расщепления платежа. При использовании параметра split_rules происходит одно списание с клиента и несколько зачислений получателям. Эквайринговая комиссия взимается с каждого магазина в массиве split_rules. Пример JSON строки:
[
  {
    "public_key": "i000000001",
    "amount": 1,
    "commission_payer": "sender",
    "server_url": "https://server1/callback"
  },
  {
    "public_key": "i000000002",
    "amount": 2,
    "commission_payer": "receiver",
    "server_url": "https://server2/callback"
  }
]
#!/bin/bash
PUBLIC_KEY='your_public_key'
PRIVATE_KEY='your_private_key'
API_URL='https://www.liqpay.com/api/request'
JSON="{ 
	\"action\" : \"invoice_cancel\",
    \"version\" : 3,
    \"public_key\" : \"${PUBLIC_KEY}\", 
    \"order_id\" : \"order_id_1\"
}"
# DATA is besa64 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'        => 'invoice_cancel',
'version'       => '3',
'order_id'      => 'order_id_1'
));
HashMap params = new HashMap();
params.put("action", "invoice_cancel");
params.put("version", "3");
params.put("order_id", "order_id_1");

LiqPay liqpay = new LiqPay(PUBLIC_KEY, PRIVATE_KEY);
HashMap 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"        : "invoice_cancel",
"version"       : "3",
"order_id"      : "order_id_1"
})
liqpay = Liqpay::Liqpay.new(
:public_key  => 'public_key',
:private_key => 'private_key'
)
res = liqpay.api("request", {
:action        => "invoice_cancel",
:version       => "3",
:order_id      => "order_id_1"
})
LiqPay = liqpay:init(PublicKey, PrivateKey),
Res = liqpay:api("request", [
{<<"action">>, <<"invoice_cancel">>},
{<<"version">>, <<"3">>},
{<<"order_id">>, <<"order_id_1">>}
], LiqPay)
var LiqPay = require('liqpay');
var liqpay = new LiqPay(public_key, private_key);
liqpay.api("request", {
"action"   : "invoice_cancel",
"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'        => 'invoice_cancel',
'version'       => '3',
'order_id'      => 'order_id_1'
}
);
Response
Param Type Description
err_code String Код ошибки.
err_description String Описание ошибки.
version Number Версия API. Текущее значение - 3
result String Результат выполнения запроса ok или error.
bot_name String Имя бота кошелька LiqPay
bot_in_contacts Bollean Этот параметр указывает добавил ли уже клиент бота кошелька LiqPay себе в контакты или его нужно попросить добавить бота.
status String Статус платежа.
Возможные значения:
Конечные статусы платежа
success Успешный платеж
failure Неуспешный платеж
error Неуспешный платеж. Некорректно заполнены данные
subscribed Подписка успешно оформлена
unsubscribed Подписка успешно деактивирована
reversed Платеж возвращен
sandbox Тестовый платеж
Cтатусы требующие подтверждения платежа
otp_verify Требуется OTP подтверждение клиента. OTP пароль отправлен на номер телефона Клиента.
Для завершения платежа, требуется выполнить otp_verify.
3ds_verify Требуется 3DS верификация.
Для завершения платежа, требуется выполнить 3ds_verify.
cvv_verify Требуется ввод CVV карты отправителя.
Заполните параметр card_cvv и повторите запрос.
sender_verify Требуется ввод данных отправителя.
Заполните параметры sender_first_name, sender_last_name, sender_country_code, sender_city, sender_address, sender_postal_code и повторите запрос.
receiver_verify Требуется ввод данных получателя.
Заполните параметры receiver_first_name, receiver_last_name и повторите запрос.
phone_verify Ожидается ввод телефона клиентома
ivr_verify Ожидается подтверждение звонком ivr
pin_verify Ожидается подтверждение pin-code
captcha_verify Ожидается подтверждение captcha
password_verify Ожидается подтверждение пароля приложения Приват24
senderapp_verify Ожидается подтверждение в приложении Sender
Cтатусы ожидающие обработку платежа
processing Платеж обрабатывается
prepared Платеж создан, ожидается его завершение отправителем
wait_bitcoin Ожидается перевод bitcoin от клиента
wait_secure Платеж на проверке
wait_accept Деньги с клиента списаны, но магазин еще не прошел проверку. Если магазин не пройдет активацию в течение 90 дней, платежи будут автоматически отменены
wait_lc Аккредитив. Деньги с клиента списаны, ожидается подтверждение доставки товара
hold_wait Сумма успешно заблокирована на счету отправителя
cash_wait Ожидается оплата наличными в ТСО.
wait_qr Ожидается сканирование QR-кода клиентом.
wait_sender Ожидается подтверждение оплаты клиентом в приложении Privat24/Sender.
wait_card Не установлен способ возмещения у получателя
wait_compensation Платеж успешный, будет зачислен в ежесуточной проводке
invoice_wait Инвойс создан успешно, ожидается оплата
wait_reserve Средства по платежу зарезервированы для проведения возврата по ранее поданной заявке
type String Тип платежа.
qr_code String QR-код по которому клиент может произвести оплату
bitcoin_amount Number Сумма в BTC
bitcoin_addr String Кошелек Bitcoin на который клиент должен перевести bitcoin_amount
bitcoin_addr String Кошелек Bitcoin который необходимо пополнить
bitcoin_rate String Курс Bitcoin
err_erc String Код ошибки.
redirect_to String Ссылка на которую необходимо перенаправить клиента для прохождения 3DS верификации.
token String Token платежа.
card_token String Token карты оправителя
payment_id Number Id платежа в системе LiqPay
id Number Id платежа в системе LiqPay
public_key String Публичный ключ магазина
acq_id Number ID еквайера
order_id String Order_id платежа
liqpay_order_id String Order_id платежа в системе Liqpay
description String Комментарий к платежу
sender_phone String Телефон оправителя
sender_card_mask2 String Карта отправителя
sender_card String Карта отправителя
sender_card_bank String Банк отправителя
sender_card_country String Страна карты отправителя. Цифровой ISO 3166-1 код
sender_user_ip String IP адрес отправителя
sender_card_type String Тип карты отправителя
paytype String Способ оплаты
ip String IP адрес отправителя
info String Дополнительная информация о платеже
customer String Уникальный идентификатор пользователя на сайте мерчанта. Максимальная длина 100 символов.
amount Number Сумма платежа
currency String Валюта платежа
sender_commission Number Комиссия с отправителя в валюте платежа
receiver_commission Number Комиссия с получателя в валюте платежа
agent_commission Number Комиссия агента в валюте платежа
amount_debit Number Сумма транзакции debit в валюте currency_debit
amount_credit Number Сумма транзакции credit в валюте currency_credit
commission_debit Number Комиссия с отправителя в валюте currency_debit
commission_credit Number Комиссия с получателя в валюте currency_credit
currency_debit String Валюта транзакции debit
currency_credit String Валюта транзакции credit
sender_bonus Number Бонус отправителя в валюте платежа
amount_bonus Number Бонус отправителя в валюте платежа debit
refund_amount Number Сумма возврата
completion_date String Дата списания средств
authcode_debit String Код авторизации по транзакции debit
authcode_credit String Код авторизации по транзакции credit
rrn_debit String Уникальный номер транзакции в системе авторизации и расчетов обслуживающего банка Retrieval Reference number
rrn_credit String Уникальный номер транзакции в системе авторизации и расчетов обслуживающего банка Retrieval Reference number
arrn_debit String Уникальный номер транзакции в системе авторизации и расчетов обслуживающего банка Acquirer's Reference Number
arrn_credit String Уникальный номер транзакции в системе авторизации и расчетов обслуживающего банка Acquirer's Reference Number
verifycode String Код верификации
action String Тип операции. Возможные значения: pay - платеж, hold - блокировка средств на счету отправителя, paysplit - разбивка суммы, subscribe - регулярный платеж, paydonate - пожертвование
is_3ds Boolean Возможные значения:
true - транзакция прошла с 3DS проверки,
false - транзакция прошла без 3DS проверкой
ecommerce_auth_code_debit String Код авторизации
trans_type String Тип транзакции. Возможные значения r - reverse, hc - hold_compl, pr - purchase, rf - refund
create_date String Дата создания платежа
end_date String Дата завершения/изменения платежа
mpi_req_pareq String Параметр, необходимый для аутентификации отправителя на странице ACS
mpi_req_md String Параметр, необходимый для аутентификации отправителя на странице ACS
mpi_req_url String адрес страницы банка-эмитента карты (ACS страница), на которую нужно перенаправить клиента для прохождения 3D-Secure
mpi_status String N - карта не участвует, перенаправление клиента для прохождения 3D-Secure не требуется,
U - не удалось проверить карту на участие, перенаправление клиента для прохождения 3D-Secure не требуется,
Y - карта поддерживает сервис 3D-Secure и в параметре mpi_req_url будет присутствовать адрес страницы банка-эмитента, куда нужно будет передать методом POST параметры mpi_req_pareq и mpi_req_md в следующей форме:

	<form name="MPIform" action='${mpi_req_url}' method="POST">
		 <input type="hidden" name="PaReq" value='${mpi_req_pareq}'>
		 <input type="hidden" name="MD" value='${mpi_req_md}'>
		 <input type="hidden" name="TermUrl" value='${TermUrl}'>
	</form>
	

где TermUrl – адрес страницы, на которую эмитент вернет ответ с параметрами PaRes и MD.
Для проведения платежа с уже пройденным 3DS при создании платежа необходимо передать параметры mpi_pares и mpi_md, со значениями PaRes и MD, которые были получены от ACS банка эмитента.
public_key String Публичный ключ мерчанта
private_key String Приватный ключ мерчанта
data String Данные
product_url String Адрес страницы с товаром.
product_category String Категория товара.
product_name String Название товара.
product_description String Описание товара.
{
"result": "ok"
}