Что вам нужно
| Поле | Что оно делает |
|---|---|
| Client ID | Идентифицирует ваше приложение PayPal в вызовах API. В паре с секретом. |
| Client secret | Секретная половина авторизации API. Вместе с Client ID создаёт заказ. Секретный. |
| Webhook ID | Идентифицирует вебхук, который подписывает PayPal, чтобы мы могли проверить каждую доставку. |
| URL успеха / URL отмены | Куда попадает покупатель после оплаты или отказа. |
Почему мы спрашиваем каждое поле
Client ID
Идентифицирует ваше приложение PayPal в вызовах API. Работает только в паре с Client secret.
Client secret
Приватная половина авторизации API. Вместе с Client ID он позволяет нам создать заказ, чтобы платёж прошёл через ваш счёт.
Webhook ID
Как мы подтверждаем, что вебхук подлинно от PayPal: PayPal идентифицирует каждый вебхук по ID, и мы используем его, чтобы напрямую спросить у PayPal, подлинно ли данное сообщение. Это мешает кому-либо подделать событие «оплачено».
URL успеха и отмены
Простые настройки: куда попадает покупатель после оплаты или отказа. Не секретные.
Настройка
- Откройте панель разработчика PayPal
Войдите на developer.paypal.com. PayPal предоставляет бесплатную песочницу с поддельными бизнес- и покупательскими счетами, так что вы можете тестировать без движения реальных денег. Это руководство описывает работу в песочнице; процесс для Live идентичен — просто переключите тумблер Sandbox / Live (вверху слева) и используйте PayPal для бизнес-счёта. На панели откройте Apps & Credentials.
PayPal Developer → Apps & Credentials - Создайте приложение
На странице API Credentials убедитесь, что выбран тумблер Sandbox, затем нажмите «Create App» (вверху справа).
PayPal → Apps & Credentials → Create App - Назовите его и выберите Merchant
Введите имя приложения (например, «Coin Moebius»), оставьте тип Merchant, выберите бизнес-счёт песочницы и нажмите «Create App».
PayPal → Create App - Скопируйте Client ID и Client secret
PayPal открывает ваше новое приложение. Скопируйте Client ID и раскройте и скопируйте Secret key. (Оба можно скопировать и из строки Default Application в списке API Credentials.) Сохраните их.
1. PayPal → API Credentials → ваше приложение в списке 2. PayPal → ваше приложение → Client ID и Secret Client secret секретный, обращайтесь с ним как с паролем. У приложения песочницы и боевого приложения своя пара, не смешивайте их.
- Добавьте вебхук
Прокрутите страницу приложения вниз до раздела Sandbox Webhooks и нажмите «Add Webhook». В поле Webhook URL вставьте адрес вебхука PayPal для вашего проекта (ниже). Затем выберите события, которые прослушивает Coin Moebius, и нажмите «Save».
- Разовые платежи: CHECKOUT.ORDER.APPROVED, PAYMENT.CAPTURE.COMPLETED, PAYMENT.CAPTURE.DENIED, PAYMENT.CAPTURE.DECLINED, PAYMENT.CAPTURE.REFUNDED, PAYMENT.CAPTURE.REVERSED, CUSTOMER.DISPUTE.CREATED.
- Подписки (только если вы их продаёте): BILLING.SUBSCRIPTION.ACTIVATED, BILLING.SUBSCRIPTION.UPDATED, BILLING.SUBSCRIPTION.CANCELLED, BILLING.SUBSCRIPTION.PAYMENT.FAILED, PAYMENT.SALE.COMPLETED. Если вы не выставляете счёт на регулярной основе, пропустите их.
- Торопитесь? Можно выбрать All Events (подстановочный знак вверху) — мы игнорируем всё, что не используем.
https://api.coinmoebius.com/webhook/paypal/<your project id>PayPal → ваше приложение → Add webhook Id вашего проекта находится под его названием в панели Coin Moebius; подставьте его в адрес выше. Карточка подключённого провайдера (последний шаг) показывает тот же URL для справки.
- Скопируйте Webhook ID
Ваш вебхук теперь отображается в списке Sandbox Webhooks. Скопируйте Webhook ID рядом с ним. Именно так Coin Moebius просит PayPal подтвердить подлинность каждого вебхука. Зарегистрируйте отдельный вебхук в песочнице и в боевой среде.
PayPal → ваше приложение → Sandbox Webhooks → Webhook ID - Обратно в Coin Moebius: Добавить провайдера → PayPal
В вашем проекте откройте вкладку «Провайдеры», нажмите «Добавить провайдера», выберите «Подключить сервис» и выберите PayPal. Укажите URL успеха и URL отмены. Тестируете с учётными данными песочницы? Используйте вкладку Test (необязательно) и вставьте Client ID, Client secret и Webhook ID туда, затем нажмите «Сохранить». Переходите сразу к боевой среде? Используйте вкладку Live. Тестовая группа по принципу «всё или ничего»: все три поля или ни одного.
Coin Moebius → Добавить провайдера → PayPal - Вы подключены
PayPal теперь отображается на вкладке «Провайдеры» с датой подключения (с меткой TEST при использовании учётных данных песочницы). Карточка показывает тот же URL вебхука, который вы вставили в PayPal, а также кнопки «Редактировать» и «Отключить».
Coin Moebius → Провайдеры → PayPal (подключено) - Тест с покупателем песочницы
Чтобы оплатить через тестовое оформление, вам нужен логин покупателя песочницы. В PayPal откройте Testing Tools → Sandbox Accounts, чтобы просмотреть поддельные бизнес- и личные счета.
PayPal → Testing Tools → Sandbox Accounts - Получите данные для входа покупателя
Откройте Personal (покупательский) счёт, чтобы просмотреть его Login Info: URL песочницы, почту и пароль. Войдите на sandbox.paypal.com с этими данными, когда тестовое оформление попросит оплатить. Реальные деньги не движутся.
PayPal → счёт в песочнице → Login Info
После подключения
Сделайте один тестовый платёж до запуска:
- Создайте товар и задайте его Environment как Testing. Это запускает товар на учётных данных песочницы, так что вы можете оформить полный заказ без движения денег. (Если вы пропустили набор песочницы, товар Testing откатывается к боевой среде, так что сначала добавьте его.)
- Поставьте кнопку покупки на страницу (подойдёт локальный HTML-файл), направленную на ваш проект.
- Завершите оформление, оплатив со счёта покупателя песочницы.
- Откройте вкладку «Транзакции». Появляется новая строка с меткой Testing. Когда её статус достигнет succeeded, ваши учётные данные и вебхук оба работают от начала до конца.
Переключите Environment товара на Live, когда будете готовы к реальным платежам.
Решение проблем
Начните с «Проверить». В панели нажмите «Проверить» (или «Проверить тестовые учётные данные» для песочницы), чтобы проверить ваши учётные данные клиента.
«Проверить» не проходит.
Перекопируйте Client ID и Client secret. У приложения песочницы и боевого приложения разные пары, так что не смешивайте их.
Платёж завершается, но заказ остаётся в ожидании.
Webhook ID должен быть из того же приложения и окружения, что и ваши учётные данные клиента. Боевым учётным данным нужен боевой webhook id. Подтвердите, что URL вебхука совпадает.
Подтвердите всё от начала до конца.
PayPal Developer Dashboard → Webhooks Simulator: отправьте пример события на ваш URL вебхука, затем смотрите, как обновляется заказ.
Полезно знать
Ротация секретов. Генерируйте новый client secret когда угодно, затем вставьте его. Секретные поля остаются пустыми при редактировании.
Вопросы? Join our Discord