Подключение внешнего способа оплаты (для разработчиков интеграций) — различия между версиями

Материал из Insales Wiki
Перейти к: навигация, поиск
(Новая: Специальный способ оплаты создается в разделе Настройки -> Оплата. Настройки на стороне InSales: shop_id - ...)
 
Строка 24: Строка 24:
 
     key: Ключ идентификации заказа. Изначально был отправлен InSales.
 
     key: Ключ идентификации заказа. Изначально был отправлен InSales.
 
     transaction_id - id транзакции. Изначально был отправлен InSales.
 
     transaction_id - id транзакции. Изначально был отправлен InSales.
     signature: Подпись. Формируется как MD5 от "shop_id;amount;number;key;paid;password".
+
     signature: Подпись. Формируется как MD5 от "shop_id;amount;transaction_id;key;paid;password".
 
     shop_id: Идентификатор магазина.
 
     shop_id: Идентификатор магазина.
  

Версия 11:28, 14 декабря 2011

Специальный способ оплаты создается в разделе Настройки -> Оплата.

Настройки на стороне InSales:

   shop_id - идентификатор магазина в вашей системе.
   password - пароль для генерации подписи.
   url - адрес внешнего сервиса, куда будет отправлен покупатель.


На последнем шаге заказа, система InSales отправляет на внешний URL (задается в настройках внешнего способа оплаты в InSales) POST запросом следующие параметры:

   shop_id - идентификатор магазина в вашей системе
   amount - сумма
   transaction_id - id транзакции
   description - описание заказа
   key - ключ заказа

После обработки платежа, внешний сервис возвращает на success_url или fail_url c параметрами:

1) success-контроллер ожидает POST запрос со следующими параметрами:

   paid: Оплачен или нет. "1" или "0".
   amount: Сумма платежа. Например, "87.10", или "1200.00".
   key: Ключ идентификации заказа. Изначально был отправлен InSales.
   transaction_id - id транзакции. Изначально был отправлен InSales.
   signature: Подпись. Формируется как MD5 от "shop_id;amount;transaction_id;key;paid;password".
   shop_id: Идентификатор магазина.

Сохраняет данные, проверяет подпись, сумму, параметр paid и shop_id. Дальше помечает заказ как успешный.

2) fail только сохраняет данные.

Примеры success_url и fail_url: http://shop.myinsales.ru/payments/external/success http://shop.myinsales.ru/payments/external/fail