Процессинг платежей API
Прием платежей через ваш обменник для других сайтов. Выступайте в роли процессинга платежей
Last updated
Прием платежей через ваш обменник для других сайтов. Выступайте в роли процессинга платежей
Last updated
Используйте метод public/exchanger/order/create
Название | Описание | Тип |
---|---|---|
routeId | id направления | ObjectID |
partner | код партнера | STRING |
amount | сумма | FLOAT |
fromValues[0][key] | ключ поля | ObjectID |
fromValues[0][value] | значение для поля | STRING |
toValues[0][key] | ключ поля | STRING |
toValues[0][value] | значение для поля | STRING |
routeValues[0][key] | ключ поля | ObjectID |
routeValues[0][value] | значение для поля | STRING |
lang | язык (рус, англ) | STRING |
agreement | cоглашение | BOOLEAN |
hideOutData | cкрыть реквизиты | BOOLEAN |
clientCallbackUrl | обратный вызов, когда приложение будет завершено, клиент увидит кнопку для возврата на сайт, и клиент будет перенаправлен на этот url ?status=success или на ?status=error | STRING |
ipnUrl | URL-адрес уведомления о мгновенном платеже (будет вызыван, присмене статуса ордера) | STRING |
ipnSecret | строка для создания безопасного хеша в ipn url | STRING |
Документацию к системе авторизации вы можете найти в личном кабинете. Подробнее о работе с методы и дополнительные данные можно найти на
Чтобы получать уведомление об изменении статуса заявки при её создании, вам необходимо отправить дополнительные параметры:
clientCallbackUrl
- обратный вызов, когда приложение будет завершено, клиент увидит кнопку для возврата на сайт, и клиент будет перенаправлен на этот url
hideOutData
- скрыть данные получателя
ipnUrl
- Ссылка HTTP / HTTPS для уведомления вашего сервера.
ipnSecret
- Случайная строка для создания подписи запроса (для поддержания целостности запроса)
Запрос будет отправлен методом POST
IPN будет отправлено один раз
Доставка IPN не гарантируется (если сервер не ответил на запрос, он не будет отправлен повторно)
Пример IPN
POST
['Content-Type'] = 'application/x-www-form-urlencoded'
orderUID
:Number() - заявка uid
orderId
:String(ObjectId) -заявка id
newStatus
:String() - заявка текущего статуса
inAmount
:String(number) - order in sum
outAmount
:String(number) - order out sum
xml_from
:String() - заявка uid
xml_to
:String() - заявка uid
timestamp
:Number() - unix время и ipn уведомления
toValues
:Array([{key,name,value}]) - реквизиты заявки
new
- новая заявка
waitPayment
- ожидаем платеж от пользователя
errorPayment
- ошибка пользовательского платежа (ошибка отправки продавца)
inProgress
- в процессе (ожидается обработка админом или оплата заявки)
inProgressPayout
- в очереди на оплату (платеж принят успешно) (если настроен автоматический платеж в валюте, он будет инициализирован)
errorPayout
- ошибка платежа (ошибка произошла при оплате)
hold
- заявка заморожена (проблемы с приложением)
done
- заявка успешно выплачена
returned
-заявка была оплачена, но не все условия обмена и способы возврата отправителя были выполнены
deleted
- заявка удалена (отменена)
sha256(orderId:newStatus:inAmount:outAmount:xml_from:xml_to:timestamp:ipnSecret)
Если вы хотите контролировать статус запросов, авторизуйтесь и все заявки будут отражены в вашем личном кабинете;
Вы можете сохранить UID запроса и секрет и вручную перейти к запросу, указав эти данные в адресной строке
Вы можете использовать / payment / для отображения страницы оплаты
// schema
protocol://domain/user-lang/payment/order-uid/order-secret
// example result
https://www.domain.com/en/payment/1409/dGqwF2M2eBPaSN1G5ljMS1cb
Также вы можете просто отбразить ссылку на бирже так, как ее видят все клиенты по той же схеме, что и в первом варианте, кроме /payment/ следует заменить на /order/
В методе есть параметры, которые позволяют отображать платежные данные или форму оплаты на вашем сайте, которую вы можете использовать. ВАЖНО: если используется метод с предоплатой, вам необходимо обновить статус заказа с waitPayment до inProgress после оплаты.