Запрос проведения списания по сохраненной карте
Команда выполняет списание средств с карты клиента, которая была использована в предыдущих платежах и клиент согласился на доступ к средствам его карты. Параметры передаются в виде 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 | Платеж отклонен. Проверьте правильность введенных реквизитов карты. | Бин карты не найден в нашей базе |