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
Статьи, которые могут вас также заинтересовать
Передача данных в Amazon несколько отличается от получения
Рассмотрим передачу данных на примере присвоения заказу трекномера.
Подключение API EasyPost
Подключение API EasyPost
Особенности подключения API EasyPost
Особенности подключения Iiko API
Особенности подключения Iiko API
Iiko API это JSON API. Каждый запрос нужно подписывать специальным временным токеном доступа. Получить временный токен можно используя имя и пароль Вашего Iiko аккаунта, предоставленного Вам Iiko.
Реализация структуры база продуктов с сервиса sql-ex.ru с помощью Doctrine2
Расширяйте проект на прочной основе с использованием встроенного функционала Doctrine2, попробуйте добавить свои классы и таблицы. Характеристика базы продуктов
Свяжитесь с нами
#0013
Готовы Начать? Дайте нам знать!
Телефон:
Адрес:

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

Пн-Пт 9.00 - 19.00

Свяжитесь с нами
#0000
Остались вопросы?
Опишите свою проблему, заполните форму ниже и наши специалисты помогут Вам!
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле