img
scroll
#

Реалізація підключення API Payoneer

Uk Ru En
Стаття
#0002

Особливості підключення API Payoneer

API Payoneer - це JSON API c використанням популярного методу підпису запитів з передачею header "Authorization" зі значенням 'Basic'. base64_encode ("$username: $password"), де $username і $password надаються розробнику з боку Payoneer.

Сервіс надає два середовища підключення, основне і так звану "пісочницю", для кожної з яких пара $username і $password своя. Так само середовище характеризується своєю кінцевою точкою для відправки запитів, https://api.sandbox.payoneer.com/v2/programs/ - для пісочниці, https://api.payoneer.com/v2/programs/ - для основного середовища.

В особистому кабінеті Payoneer є список користувачів, на рахунку яких можна робити переказ коштів (рис. 1), але має місце додатковий захисний шар. Payoneer не надає в вільне користування реальні ідентифікатори своїх користувачів. Щоб додати користувача в вищевказаний список, потрібно зробити окремий запит на отримання реєстраційного/авторизаційного посилання. Більш того, розробник може використовувати свій унікальний ідентифікатор для "запрошеного" користувача, який пізніше буде використовуватися для ідентифікації останнього. Таким чином, кожному користувачеві в базі користувачів можна поставити у відповідність "запрошеного" користувача в Payoneer.

Payoneer API
Payoneer API

Наприклад, здійснюється спроба отримати реєстраційне посилання для користувача з Id 1. Необхідно відправити POST-запит на "payees/registration-link" зі значенням "payee_id" 1. При переході за отриманим посиланням користувач побачить форму реєстрації (рис. 2). Важливо розуміти, що реєстраційне та авторизаційне посилання ідентичні. Payoneer сам визначає, який запит здійснювався, і в залежності від цього рендерить форму. Тому користувач сайту повинен сам вибрати, збирається він реєструватися або авторизуватися, посилання для цього буде одне і те ж.

Payoneer API
Payoneer API

Після того, як користувач пройшов реєстрацію/авторизацію по наданому посиланню, він з'явиться в списку користувачів, яким можна здійснити переказ. Тепер можна перевірити статус користувача за допомогою запиту на "payees/$payeeId/status", де $payeeId в нашому випадку має значення 1. Якщо статус дорівнює "ACTIVE" (рис. 3), то на рахунок користувача можна здійснювати переказ коштів. Для цього достатньо здійснити POST-запит на "payouts" з параметрами "payee_id" - ідентифікатор користувача в системі Payoneer (1), "amount" - сума переказу, не менше $20, "client_reference_id" - унікальний ідентифікатор транзакції, "description" - опис транзакції.

Payoneer API
Payoneer API

Реалізація підключення Payoneer крім того вимагає також написання обробки помилок, що повертаються Payoneer, і інтеграції з бізнес логікою сайту.

Треба зауважити, що помилки Payoneer можна поділити на два типи: помилки валідації переданих даних, коли http статус-код дорівнює 200, і інші помилки, які повертаються з http статус-кодом не рівним 200.

Блог
#0002
Статті, які можуть вас також зацікавити
Реалізація структури бази продуктів з сервісу sql-ex.ru з підтримкою Doctrine2
Розширюйте проект на міцній основі з використанням вбудованого функціоналу Doctrine2, спробуйте додати свої класи і таблиці. Характеристика бази продуктів
Поради щодо підключення до сервісу API ShipStation
Поради щодо підключення до сервісу API ShipStation
Використовуйте API ShipStation як агрегатор для вашого сервісу, а такж як відмінний інструмент для економії коштів на відправленнях посилок. Опис особливостей сервісу
Ключові відмінності між Laravel і Symfony
Ключові відмінності між Laravel і Symfony
Який з двох фреймворків Laravel чи Symfony вибрати для реалізації проекту? Під які конкретні потреби використовувати той чи інший фреймворк? Характеристика функціональних можливостей фреймворків
Особливості впровадження принципів SCRUM в нашій компанії і їх ефективність
Впровадження методів управління проектами SCRUM в нашій компанії, які використовують принципи і артефакти, результати застосування в спектрі ефективності використання трудових і часових ресурсів.
Зв'яжіться з нами
#0013
Готові Розпочати? Повідомте нас про це!
Телефон:
Адреса:

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

Пн-Пт 9.00 - 19.00

Зв'яжіться з нами
#0000
Залишилися запитання?
Опишіть свою проблему, заповніть форму нижче та наші спеціалісти допоможуть Вам!
Обов'язкове поле
Обов'язкове поле
Обов'язкове поле
Обов'язкове поле