Запрос проведения списания по сохраненной карте
Команда выполняет списание средств с карты клиента, которая была использована в предыдущих платежах и клиент согласился на доступ к средствам его карты. Параметры передаются в виде XML методом POST.
После успешного выполнения запроса будет выполнен callback согласно протокола Форма оповещения о платеже
URL: https://card.paysoft.solutions/api/xml
Запрос:
Пример XML:
<Command action="purchaseByToken">
    <LMI_MERCHANT_ID></LMI_MERCHANT_ID>
    <LMI_PAYMENT_NO></LMI_PAYMENT_NO>
    <LMI_PAYMENT_TOKEN></LMI_PAYMENT_TOKEN>
    <LMI_PAYMENT_AMOUNT></LMI_PAYMENT_AMOUNT>
    <LMI_PAYMENT_DESC></LMI_PAYMENT_DESC>
    <LMI_HASH></LMI_HASH>
    <LMI_MERCHANT_URL></LMI_MERCHANT_URL>
    <LMI_PAYER_ID></LMI_PAYER_ID>
    <LMI_PAYER_IP></LMI_PAYER_IP>   
</Command>
Описание параметров:
| Название | Название в XML | Обязательный? | Описание | 
|---|---|---|---|
| Действие | Action | Да | Действие, которое необходимо выполнить. В данном случае «createAndConfirm» создание платежа. | 
| Идентификатор продавца | LMI_MERCHANT_ID | Да | Идентификатор Продавца в системе PaySoft | 
| Номер платежа | LMI_PAYMENT_NO | Да | Номер платежа в системе Продавца. | 
| Токен карты | LMI_PAYMENT_TOKEN | Да | Уникальный идентификатор предварительно сохраненной карты, с которой будет произведено списание | 
| Сумма платежа | LMI_PAYMENT_AMOUNT | Да | Сумма списания | 
| Назначение платежа | LMI_PAYMENT_DESC | Да | Описание товара или услуги. Кодировка – UTF8. | 
| Номер платежа в системе PaySoft для проведения каскадинга | LMI_SYS_PAYMENT_ID | Нет | Если в ответ на первую попытку был получен ответ LMY_RETRY=1, платеж может быть проведен через другого эквайера. Для этого на вход нужно передать номер платежа в системе PaySoft из первой попытки | 
| Контрольная подпись | LMI_HASH | Да | Контрольная подпись запроса. Для формирования подписи исходный текст XML-запроса с пустым значением LMI_HASH конкатенируется с секретным ключом SecretKey (без разделителя). От полученной строки формируется хеш сумма с помощью алгоритма, указанного в настройках магазина в Кабинете Продавца. Полученная подпись передается в теге LMI_HASH. Рекомендованный алгоритм хеширования SHA256.Пример формирования подписи | 
| IP плательщика | LMI_PAYER_IP | Нет | IP адрес плательщика | 
| URL сайта | LMI_MERCHANT_URL | Нет | URL сайта, на котором производился платеж | 
| Электронный адрес Клиента | LMI_PAYER_EMAIL | Нет | Электронный адреса Клиента | 
| Идентификатор клиента на стороне Продавца | LMI_PAYER_ID | Нет | Может содержать буквы английского алфавита, цифры и знак дефиса «-». Максимальная длина 50 символов. | 
| Фамилия Клиента | LMI_PAYER_SURNAME | Нет*** | Фамилия Клиента | 
| Имя Клиента | LMI_PAYER_FIRSTNAME | Нет*** | Имя Клиента | 
| Отчество Клиента | LMI_PAYER_PATRONYMIC | Нет*** | Отчество Клиента | 
| Дата рождения Клиента | LMI_PAYER_BIRTHDAY | Нет*** | Дата рождения Клиента в формате ГГГГ-ММ-ДД | 
| ИНН Клиента | LMI_PAYER_TAX_ID | Нет*** | ИНН | 
| Страна Клиента | LMI_PAYER_COUNTRY | Нет** | ISO 3166-1 alpha-2 | 
| Штат (только для США и Канады) | LMI_PAYER_STATE | Нет** | аббревиатура штата | 
| Город | LMI_PAYER_CITY | Нет** | Город | 
| Адрес | LMI_PAYER_ADDRESS | Нет** | Адрес | 
| Срок оплаты заказа | LMI_EXPIRES | Нет | Срок, в течение которого заказ может быть оплачен. Передается в формате YYYY-MM-DD hh:mm:ss. Если параметр пустой, время оплаты является неограниченным. | 
Ответ:
Пример XML:
<Response>
    <Retval></Retval>
    <Retdesc></Retdesc>
    <LMI_ERROR_CODE></LMI_ERROR_CODE>
    <LMI_CLIENT_MESSAGE></LMI_CLIENT_MESSAGE>
    <LMI_RETRY></LMI_RETRY>
    <LMI_SYS_PAYMENT_ID></LMI_SYS_PAYMENT_ID>
</Response>
Описание параметров:
| Название | Название в XML | Обязательный? | Описание | 
|---|---|---|---|
| Код ответа | Retval | Да | Результат выполнения см. таблицу коды Retval | 
| Описание ответа | Retdesc | Да | «OK» либо описание ошибки. | 
| Код ошибки | LMI_ERROR_CODE | Нет | Код ошибки | 
| Текст ошибки | LMI_CLIENT_MESSAGE | Нет | Рекомедуемый для отображения текст ошибки | 
| Номер платежа в системе PaySoft | LMI_SYS_PAYMENT_ID | Да | Номер созданного платежа в системе PaySoft. | 
| Флаг каскадинга | LMI_RETRY | Да | Флаг возможности проведения неуспешной транзакции через другого эквайера | 
Коды Retval
| Код | Описание | 
|---|---|
| 1 | Транзакция успешная | 
| 2 | Ошибка в параметрах запроса | 
| 4 | Внутренняя ошибка | 
| 6 | Внутренняя ошибка | 
| 8 | Статус неопределен, транзакция в процессе выполнения. Необходимо запрашивать статус до получения финального статуса | 
| 12 | Отклонено системой антифрода | 
| 304 | Неверно указан идентификатор Продавца (LMI_MERCHANT_ID) | 
| 306 | Ошибка в параметрах запроса (LMI_TOKEN не существует) | 
| 318 | Токен не найден | 
| 322 | Превышен дневной лимит | 
| 326 | Карта не может быть спроцессирована | 
| 401 | Ошибка проведения транзакции. | 
| 507 | Ошибка подписи | 
| 509 | Ошибка в сумме | 
Коды ошибок в системе PaySoft LMI_ERROR_CODE
| Код | Текст рекомендуемый для отображения | Пояснение | 
|---|---|---|
| 1 | Платеж отклонен по врeменным техническим причинам. Пожалуйста, повторите оплату позже. | Техническая проблема | 
| 2 | Платеж отклонен. Попробуйте оплатить другой картой или повторите оплату позже. | Антифрод PaySoft | 
| 3 | Платеж отклонен. На данной карте недостаточно средств для совершения транзакции. | Недостаточно средств на карте | 
| 6 | Платеж отклонен. Проверьте правильность введённых реквизитов карты или укажите номер другой карты | Отказ банка эмитента | 
| 9 | Платеж отклонен. Проверьте правильность введенных реквизитов карты. | Неправильно введен CVV | 
| 11 | Платеж отклонен. Попробуйте оплатить другой картой или повторите оплату позже. | Антифрод банка эквайера | 
| 12 | Платеж отклонен. Срок действия Вашей карты истек. Обратитесь в банк. | |
| 13 | Платеж отклонен. Превышен суточный лимит количества операций по карте. Пожалуйста, обратитесь в Ваш банк. | |
| 14 | Платеж отклонен. Карта не поддерживает дополнительный уровень безопасности 3DSecure. Просьба обратиться в Ваш банк для подключения функции. | |
| 18 | Платеж отклонен. Проверьте правильность введеных реквизитов карты или укажите номер другой карты или обратитесь в банк, выдавший Вашу карту. | Карта заблокирована эмитентом | 
| 19 | Платеж отклонен. Вы отказались от оплаты платежа | |
| 22 | Лимит оплат в интернете по Вашей карте превышен. Пожалуйста, обратитесь в Ваш банк. | |
| 27 | Платеж отклонен. Страна карты отличается от страны сетевого адреса компьютерной сети (IP). | |
| 42 | Истекло время отведенное на оплату | |
| 61 | Операция по Вашей карте в Интернете была отклонена из-за недостаточного интернет-лимита по сумме операций. Рекомендуем Вам увеличить интернет-лимит в Приват24 (меню «Мои счета» > «Управление картой/счетом» > «Оплата в Интернете») и повторить операцию немного позже. | |
| 62 | Ваш банк (Ощадбанк) отказал в проведении операции. Для проведения платежей с Вашей карты за пополнение электронных кошельков или участия в азартных играх - обратитесь в поддержку Ощадбанка для снятия ограничений. | |
| 63 | Проверка 3D-Secure не выполнена. Просьба обратиться в Ваш банк для уточнения информации. | |
| 66 | Только карты украинских банков | |
| 67 | Только карты стран СНГ | |
| 68 | Оплата картами данного типа не поддерживается. Укажите другую карту | Запрет корпоративных карт у данного продавца | 
| 69 | Платеж отклонен. Проверьте правильность введенных реквизитов карты. | Бин карты не найден в нашей базе |