# Руководство по подключению услуги Безопасная покупка сервиса Наложка ![](https://i.imgur.com/mF4Bf4t.png) Услугу можно подключить к магазинам на OpenCart, InSales, Битрикс, [установив соответствующий модуль](https://help.nalogka.ru/business/safe-buy/get-started.html). Данное руководство описывает процесс подключения Безопасной покупки к магазину на CMS, отличной от OpenCart, InSales, Битрикс. ## Добавьте новый способ оплаты В первую очередь необходимо создать в системе новую платежную систему. Рекомендуемое название «Безопасная покупка (банковской картой)». ![](https://i.imgur.com/nf1vUrY.png) В качестве описания можно указать «Гарантия доставки или возврат денег» или более длинное «Оплата производится с использованием сервиса безопасных сделок. Вы сможете вернуть деньги если не получите заказ». ### Настройте прием платежа за заказ Интернет-магазины бывают по разному устрены. В каких-то магазинах после создания заказа пользователю показывается кнопка «Оплатить», в каких-то, покупатель оправляется на оплату сразу после создания заказа. Цель одна - отправить пользователя в платежный шлюз. Но прежде чем сделать это, необходимо выполнить ряд действий. Порядок действий как раз зависит от того как в вашем магазине происходит оплата. #### Кнопка «Оплатить» ![](https://i.imgur.com/G5k6LBW.png) В таком случае перед тем как показать пользователю кнопку оплаты, то есть в момент создания заказа, необходимо: 1. Отправить [запрос на создание Безопасной сделки](https://api.nalogka.ru/deals.html#%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%B4%D0%B5n%D0%BA%D0%B8-%D0%B4n%D1%8F-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%E2%80%91%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B0) в API сервиса Наложка. 2. Связать ID сделки с ID заказа в базе магазина. 3. Обработать ошибки в случае их возникновения. 4. Отобразить кнопку оплаты. При нажатии но кнопку оплаты, пользователь должен отправляться на страницу оплаты (адрес страницы оплаты необходимо сгенерировать, информация о том, как это сделать, есть в документации). TODO: Дать ссылку на документацию #### Переход к оплате сразу после создания заказа Если переход на оплату осуществляется сразу после оформления заказа, то первые три пункта совпадают, а четверный пункт будет таким: 4. Перенаправить покупателя на страницу оплаты. Адрес страницы оплаты, как упоминалось выше, нужно сгенерировать. Инструкция есть в документации. Со страницы оплаты покупатель будет автоматически перенаправлен на платежный шлюз. С платежного шлюза покупатель отправится на станицу успешной или неуспешной оплаты, адреса этих страниц должны быть переданы на страницу оплаты. ### Настройте отправку изображений товаров Для осуществления арбитража, небходимо отправлять в сервис Наложка фотографии товаров из заказа. Чтобы не затяигивать процесс оплаты, предлагается прикреплять фотографии асинхронно, после создания и оплаты заказа. Либо в обработчике уведомлений от сервиса Наложка, в момент когда пришло уведомление об успешной оплате, либо написать скрипт который будет брать все оплаченные заказы, изображения которых еще не были отправлены, и выполнять их отправку. Сам скрипт запускать по cron'у. Подробнее о том – как работать с хранилищем файлов можно прочитать в соответствующем разделе [документации](https://api.nalogka.ru/misc/files.html). ### Создайте обработчик событий Если вы хотите после оплаты менять статус заказа на «Оплачен», то вам необходимо создать обработчик событий, сделать его доступным по http и сообщить его адрес нам, например https://mysite.com/nalogka-events. Все уведомления от сервиса Наложка будут отправялять на этот адрес. В частности, на этот адрес, после того как покупатель оплатит заказ, будет оправлено уведомление с данными сделки, которая была создана по заказу. Также вы можете настроить изменение статусов заказа в зависимости от состояния сделки. Сервис Наложка отправляет вебхук-уведомления обо всех изменениях статуса сделки. Посмотрите [диаграмму перехода статусов сделки](https://api.nalogka.ru/deals.html#%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D1%8B%D0%B5-%D1%81%D0%B4%D0%B5n%D0%BA%D0%B8), чтобы лучше понять что и в каком статусе происходит со сделкой. #### Безопасность уведомлений Чтоб защитить уведомления от подделки они подписываются электронной подписью по алгоритму RSA. Подробнее можно прочитать в [документации по получению уведомлений](https://api.nalogka.ru/misc/notifications.html). ### Добавьте возможность указать к заказу трек-номер накладной СДЭК После того как покупатель оплатил заказ, продавец должен отправить его через службу доставки СДЭК. Номер накладной отправленного заказа, необходимо передать в сервис Наложка. Мы будем отслеживать движение заказа и как только покупатель его заберет – инициируем процедуру выплаты продавцу. Пример поля для ввода трек-номера в магазине на OpenCart: ![](https://i.imgur.com/80zZ1Xy.png) Пример из магазина InSales: ![](https://i.imgur.com/Po1IagG.png) API методы по добавлению трек номеров [описаны в документации](https://api.nalogka.ru/deals.html#api-%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D1%8B%D1%85-%D1%81%D0%B4%D0%B5n%D0%BE%D0%BA), в пункте «Отслеживание процесса исполнения сделки». > **Обратите внимание!** > Для транспортной компании СДЭК, параметр `tracker_short_name` должен принимать значение `cdek`. ### Настройте синхронизацию заказа и сделки В интернет-магазинах бывает возможность вносить изменения в заказ. В заказе могут измениться: способ оплаты, способ доставки, количество товаров, информация о покупателе. В случае если меняется контактная информаци покупателя – нужно обновить эту инфомрацию в сделке через метод обновления сделки. Если меняется способ оплаты, то прежде чем сохранить изменение способа оплаты, нужно запросить отмену сделки и получить успешный ответ. Если меняетя инфомация о товарах или тарифе доставки – то необходимо отменить сделку по заказу и создать новую, с новыми ценами. Это обсуловленно невозможностью менять инфомрацию о деньгах в уже созданных сделках. ![](https://i.imgur.com/QJbFq8W.png) Если изменился способ доставки на отличный от ТК СДЭК, то сделку тоже нужно отменить. Из схемы этот пункт не очевиден. ### Настройте отмену сделки при отмене заказа Если отменяется заказ, то должна отмениться и сделка. Иначе покупатель не получит назад деньги, в тех случаях когда отменяется оплаченный заказ. Отменить сделку можно через API запрос. **Данное руководство рекомендуется читать параллельно с [документацией по интеграции с сервисами Наложка](https://api.nalogka.ru/).** Вопросы по интеграции можно присылать на почту **a.endiuskin@nalogka.com**, в Skype: **phantomwd** или телеграм **@ultonic**.