Как вам помочь ?

Интеграция платежной системы в Advantshop по API

В этой статье рассмотрим, как разработчик может интегрировать платежную систему в Advantshop, если нужной системы нет в списке доступных интеграций. 

 

Необходимые данные

Чтобы интегрировать платежную систему от поставщика услуги, необходимо, чтобы продавец (администратор магазина) мог указать в настройках следующие данные:

  • Login — учетка/идентификатор в платежной системе;
  • Password — пароль для создания платежной формы;
  • PasswordNotify — пароль для уведомлений об оплате (может совпадать с Password, это определяется поставщиком платежной системы);

После оформления заказа по нажатию на кнопку "Оплатить заказ" ADVANTSHOP отправляет POST запрос на внешний URL адрес. URL Адрес задается в настройках вашего платежного модуля.

 

Таблица формата данных

В таблице 1 ниже приведен формат данных, который используется в запросе:

Поле Тип Описание
Login строка учетка в платёжной системе
Sum дробное число с точкой и двумя знаками после сумма заказа
OrderId строка номер заказа
Desc строка описание заказа
Receipt json-строка содержание заказа, отсылается, если включена настройка (подробнее ниже)
Signature строка

MD5 от строки: Login+":"+ Sum +":"+ OrderId+":"+(Receipt(если указано)+":")+Password

IsTest Доступные значения: 1 флаг отвечающий за тестовый режим работы. Если указан URL для тестовых запросов то, не выставляется.
SuccessUrl строка URL для перенаправления клиента в случае успеха
FailUrl строка URL для перенаправления клиента в случае ошибки
NotificationUrl строка URL получения уведомления об оплате
Email строка Email пользователя (для извещения клиента о чеке)
Phone строка телефон пользователя, если он указал (для извещения клиента о чеке)
Таблица 1.

 

Элементы Receipt-json

Отправка данных чеков о покупке (Receipt) должна производится при условии, что соответствующая настройка включена продавцом (администратором магазина) в настройках вашего модуля.

Поле Receipt представляет собой коллекцию из элементов Receipt с полями:

  • Name — строка;
  • Sum — дробное число (запятая с 2 знаками после неё);
  • Quantity — дробное число (запятая с 2 знаками после неё);
  • Tax — строка, не обязательный параметр, возможные значения:
    • None — не указано;
    • VatWithout — без НДС;
    • Vat0 — НДС по ставке 0%;
    • Vat10 — НДС по ставке 10%;
    • Vat18 — НДС по ставке 18%;
    • Vat20 — НДС по ставке 20%;
    • Vat110 — НДС по ставке 10/110;
    • Vat118 — НДС по ставке 18/118;
    • Vat120 — НДС по ставке 20/120;
  • PaymentMethod — строка, необязательный параметр. Возможные значения Признака способа расчёта:
    • FullPrepayment — полная предоплата;
    • Prepayment — частичная предоплата;
    • Advance — аванс;
    • FullPayment — полный расчет;
    • PartialPayment — частичный расчет и кредит;
    • Credit — кредит;
    • CreditPayment — выплата по кредиту;
  • PaymentObject — строка, необязательный параметр. Возможные значения Признака предмета расчёта:
    • Commodity — товар;
    • Excise — подакцизный товар;
    • Job — работа;
    • Service — услуга;
    • GamblingBet — ставка в азартной игре;
    • GamblingPrize — выигрыш в азартной игре;
    • Lottery — лотерейный билет;
    • LotteryPrize — выигрыш в лотерею;
    • IntellectualActivity — результаты интеллектуальной деятельности;
    • Payment — платеж;
    • AgentCommission — агентское вознаграждение;
    • Composite — несколько вариантов;
    • Another — другое;

Пример:

[
{
    "Name": "Наименование товара",
    "Sum":999.99,
    "Quantity":1,
    "Tax":"Vat120",
    "PaymentMethod":"FullPrepayment",
    "PaymentObject":"Commodity"
},
{
    "Name": "Наименование товара",
    "Sum”:77.00,
    "Quantity":1.5,
    "Tax":"Vat120",
    "PaymentMethod":"FullPrepayment",
    "PaymentObject":"Commodity"
},
{
    "Name": "Доставка",
    "Sum":100.00,
    "Quantity":1,
    "Tax":"Vat120",
    "PaymentMethod":"FullPrepayment",
    "PaymentObject":"Service"
}
]

 

Нотификации

  • На NotificationUrl мы ожидаем POST/GET запрос c форматом данных описанных в таблице 2:
Поле Тип Описание
Sum дробное число с точкой и двумя знаками после сумма заказа
Пример: 999.99
OrderId строка номер заказа
Signature строка MD5 от строки: Sum+":"+OrderId+":"+PasswordNotification
Таблица 2.
  • На SuccessUrl мы ожидаем POST/GET запрос c форматом данных описанных в таблице 3:
Поле Тип Описание
OrderId строка номер заказа
Таблица 3.

На успешную операцию мы возвращаем ответ вида OK_{OrderId}, где OrderId номер заказа. 

  • На FailUrl мы ожидаем POST/GET запрос c форматом данных описанных в таблице 4:
Поле Тип Описание
FailUrl строка номер заказа
Таблица 4.

Ответ на операцию с ошибкой FAIL_{ OrderId }_{error}, где OrderId номер заказа, а error текст ошибки.

Теперь перейдем к интеграции вашего платежного модуля в систему ADVANTSHOP.

 

Тестирование и интеграция

Чтобы платежная система появилась в системе ADVANTSHOP, вам необходимо отправить на адрес partner@advantshop.net данные вашего платежного модуля:

  • Название платежного модуля;
  • URL — Внешний адрес куда ADVANTSHOP будет отправлять платежную форму;
  • TestURL — Адрес для тестовых запросов на оплату, не обязательный, может быть заменено маркером IsTest в теле запроса

Готово, после этого наша команда свяжется с вами для завершения интеграции. 

Другие статьи по теме

Статья оказалась полезной?
Благодарим за отзыв.

Как мы можем улучшить статью?

Не нашли нужную статью? Предложить свою тему

Не нашли нужную статью?

Благодарим за отзыв.

Тэги: интеграция, интеграция способа оплаты, интеграция платежной системы, разработка способа оплаты

Мы используем cookies. Подробнее...