img
scroll
#

Як підключити API Paypal?

Uk Ru En
Стаття
#0002
Paypal API Connection Features

PayPal - це один з найбільш інноваційних і популярних платіжних сервісів, який змінив уявлення про фінансові транзакції в інтернеті. Заснований у 1998 році, PayPal став справжньою революцією у сфері онлайн-платежів, полегшивши життя мільйонам користувачів та підприємницьких операцій. В основі його роботи лежить ідея забезпечення безпечних, простих та миттєвих платежів через інтернет. Використовуючи PayPal, користувачі можуть здійснювати перекази грошей в межах країни або між країнами, оплачувати товари та послуги на тисячах онлайн-платформ і веб-магазинах, а також отримувати платежі від клієнтів та партнерів. Унікальність PayPal полягає не тільки в його простоті використання та глобальному охопленні, але й у системі захисту даних та фінансової безпеки. Сервіс активно використовує передові технології шифрування, щоб забезпечити високий рівень захисту облікових записів користувачів та їх фінансових коштів від шахрайства.



Які завдання можна вирішувати за допомогою API PayPal

  • API PayPal дозволяє приймати платежі від клієнтів на вашому веб-сайті;
  • Надаються можливості для вирішення спорів та розв'язання проблемних ситуацій між покупцями та продавцями;
  • Можна здійснювати повернення платежів або скасовувати непідтверджені транзакції;
  • Ви можете використовувати API для перевірки статусу платежів;
  • API PayPal дозволяє отримувати детальну інформацію про кожну транзакцію, включаючи суму, дату та інші дані;
  • Можна перевіряти баланс на своєму рахунку або рахунках користувачів;

Це лише невеликий перелік завдань, які можна вирішувати за допомогою API PayPal. Завдяки багатофункціональності та гнучкості API, воно може бути інтегровано в різні види бізнесів та платформ для поліпшення користувальницького досвіду та спрощення фінансових операцій.



Підключити Paypal

PayPal надає два API: REST та IPN. Ми розглянемо REST API, яке будемо називати просто "API". Це API забезпечує зручну взаємодію з необхідними сутностями та використовує формат даних JSON для обміну інформацією. PayPal надає два середовища: основне та пісочницю. Для забезпечення безпеки запитів PayPal використовує аутентифікацію OAuth 2.0. Тому для взаємодії з API необхідно отримати токен доступу. Для отримання токена потрібно відправити POST-запит на шлях "v1/oauth2/token" з параметром "grant_type", значенням якого є "client_credentials", і передачею заголовка "Authorization" із значенням "Basic " . base64_encode("$clientId:$secret").

Отриманий токен можна використовувати для підпису всіх наступних запитів протягом певного часу. Дані $clientId і $secret можна отримати безпосередньо в кабінеті PayPal. Там же можна змінити режим роботи додатка. За винятком запиту на отримання токена доступу, всі інші запити можуть бути відправлені у форматі JSON.

Зазвичай отриманого токена достатньо для здійснення платежів, перегляду історії платежів та інших операцій. Проте за замовчуванням історія недоступна і для її використання потрібно дозволити відповідну опцію в особистому кабінеті PayPal. У тестовому середовищі за замовчуванням історія платежів порожня і для роботи з уже існуючими платежами їх необхідно створити.

Для деяких запитів рівень захисту підвищений, і для виконання певних операцій, наприклад, повернення платежу, потрібно підписати запит ще однією підписом. Для цього необхідно передати заголовок "PayPal-Auth-Assertion" із значенням, яке є конкатенацією точкою base64-зашифрованих JSON-рядків, отриманих із масивів ['alg' => 'none'] і ['iss' => $clientId, 'email' => $email]. Параметр $clientId був згаданий раніше, а $email представляє собою адресу електронної пошти користувача PayPal, на яку зареєстрований його обліковий запис. Важливо відзначити, що при використанні середовища "пісочниця" PayPal генерує тестовий e-mail, тому будьте уважні під час проведення тестових операцій.
Крім того, замість e-mail у другому масиві можна використовувати 'payer_id' із значенням payer_id облікового запису користувача. Слід також зазначити, що у результатуючому рядку між двома зашифрованими рядками має бути точка, яку PayPal буде використовувати як роздільник.

Наприклад, на мові програмування PHP генерація другої підпису буде виглядати наступним чином:


private function getPaypalAuthAssertion($email, $clientId) {
   $joseHeader = base64_encode(json_encode(['alg' => 'none']));
   $payload = base64_encode(json_encode([
        'iss' => $clientId,
        'email' => $email,
   ]));
   return $joseHeader . '.' . $payload;
}

Для правильної реалізації обробки помилок варто враховувати два типи ситуацій: помилки доступу, які можуть виникнути при неуспішної спробі отримання токена та помилки валідації. Тому в вашій системі знадобляться два механізми для обробки помилок з різними форматами.



Webhooks Paypal

Webhooks - це механізм, який дозволяє API PayPal надсилати вашому серверу сповіщення про події в реальному часі. За допомогою вебхуків ваш додаток може автоматично отримувати інформацію про різні події, пов'язані з вашими транзакціями та обліковим записом PayPal, без постійного опитування API для отримання оновлень. Коли відбувається подія, до якої прив'язаний вебхук, PayPal надсилає POST-запит з даними про подію на зазначений вами URL вашого сервера. Таким чином, ваш сервер може реагувати на ці сповіщення та виконувати необхідні дії відповідно до події.


Наприклад, ви можете використовувати вебхуки для таких сценаріїв:


  • При отриманні сповіщення про завершений платіж, ви можете оновити статус замовлення в вашій системі або надати користувачу доступ до вашого контенту або послуг;
  • Якщо покупець запитує повернення коштів, ви можете отримати сповіщення про повернення та оновити статус транзакції в вашій системі;
  • Якщо виникають спори або конфлікти, ви можете отримувати сповіщення про них і приймати відповідні дії.

Для використання вебхуків вам потрібно виконати наступні кроки:


  • Створіть кінцеву точку на вашому сервері (URL), куди PayPal буде надсилати сповіщення про події;
  • Ви повинні підписатися на конкретні події, які ви хочете відстежувати. Наприклад, підтвердження платежу, повернення коштів, скасування підписки тощо;
  • При створенні вебхука вам необхідно вказати токен перевірки підлинності (Webhook Verification Token), щоб ваш сервер міг перевірити, що сповіщення від PayPal є дійсними;
  • Після налаштування вебхука рекомендується протестувати його в тестовому середовищі, щоб переконатися, що ваш сервер правильно обробляє сповіщення.

PayPal надає докладну документацію з роботи з вебхуками, включаючи список підтримуваних подій та формати даних, які ви отримаєте при кожній події. Переконайтеся, що ваш сервер обробляє сповіщення безпечним та надійним способом, щоб уникнути втрати даних або некоректних дій.


Компанія Asabix має досвід підключення API PayPal та інших сервісів. Якщо вам потрібна допомога або послуги з підключення API, зв'яжіться з нами будь-яким зручним способом або залиште заявку на сторінці інтеграція API будь-якої складності.


Блог
#0002

Статті, які можуть вас також зацікавити

Що таке верстка сайту простими словами?
У цій статті ми розглянемо поняття верстки, її складові, а також її важливість та невід'ємну роль у веб-індустрії.
CMS або фреймворк - що вибрати?
CMS або фреймворк - що вибрати?
У наш час, коли технології все більше та більше проникають у наше повсякденне життя, актуальність питання "фреймворк чи CMS?" стає все більш очевидною.
Як підключити API Paypal?
Як підключити API Paypal?
PayPal - це один з найбільш інноваційних і популярних платіжних сервісів, який змінив уявлення про фінансові транзакції в інтернеті.
Що таке вебдодатки та як вони функціонують?
Є декілька думок з приводу вебдодатків – деякі вважають, що це всі сайти, а деякі, що до них відносяться лише ті, що дозволяють користувачам взаємодіяти з інтерфейсом та даними.
Зв'яжіться з нами
#0013

Готові розпочати? Повідомте нас про це!

Телефон:
+38 (096) 880 99 00
Адреса:

Україна, Житомир
вул. Вітрука 9в

Графік:

Пн-Пт 9.00 - 19.00

Телефон:
+48 570 337 815
Адреса:

Poland, Warsaw, 00-842
Łucka street 15/204

Графік:

Пн-Пт 9.00 - 19.00

Зв'яжіться з нами
#0000

Залишилися запитання?

Будь ласка, заповніть наведену нижче форму, і наші спеціалісти зв'яжуться з вами якнайшвидше!
Обов'язкове поле
Обов'язкове поле
Обов'язкове поле
Обов'язкове поле