Меню

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

logo
Подключение к платежной системе API Payoneer. Основные среды подключения. Прохождение пользователем регистрации/авторизации по предоставленной ссылке, список пользователей.
Реализация подключения API Payoneer

Особенности подключения 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.

рис. 1

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

рис. 2

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

рис. 3

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

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

Ключевые отличия между Laravel и Symfony 07.09.2019 Ключевые отличия между Laravel и Symfony
Какой из двух фреймворков Laravel и Symfony лучше выбрать для реализации проекта? Под какие конкретные нужды использовать тот или иной фреймворк? Характеристика функциональных возможностей фреймворков

Реализация подключения API Payoneer 10.09.2019 Реализация подключения API Payoneer
Подключение к платежной системе API Payoneer. Основные среды подключения. Прохождение пользователем регистрации/авторизации по предоставленной ссылке, список пользователей.

Возврат к списку