Ми - обмінник TradeTo.Cash.
Необхідно написати інтеграцію(модуль прийому платежів) на Node.JS, дотримуючись логіки, яка представлена в вже готовій інтеграції. Необхідно тільки адаптувати(переписати логіку апі-запитів стороннього сервісу, а ту частину, що стосується взаємодії з нашим беком - залишити(або трохи доопрацювати, якщо це буде необхідно)).
Готова інтеграція - DeSend: https://git.boxexchanger.net/boxexchanger-plugins/merchant-desend/-/blob/main/index.js
Також надаю інші готові модулі прийому платежів, якщо є необхідність в ознайомленні: https://git.boxexchanger.net/boxexchanger-plugins
Нова інтеграція - PayCraft.
API DeSend, на якому написана готова інтеграція:
https://documenter.getpostman.com/view/23240955/VVBashoA#5642b79b-c842-476a-9bfb-ec346b33f664
https://documenter.getpostman.com/view/26778716/2s93XsYS39#83389228-6913-4bd4-88c4-ac8ebcdd503b
API PayCraft, на якому потрібно написати нову інтеграцію: https://ru.anotepad.com/note/read/tfm4pdhi
API нашого сервісу(можливо і не знадобиться, т.к. методи взаємодії з нами переписувати не потрібно буде): https://www.tradeto.cash/service/api-docs/#/
Тут описані особливості роботи модулів, в т.ч. модуля прийому платежів: https://manual.boxexchanger.net/obmen/merchant-i-api/birzha-whitebit/vzaimodeistvie-modulei
Демо обмінника(якщо необхідно для ознайомлення):
Клієнтська частина: https://www.develop.exchange/en/
Адмінка: https://admin.develop.exchange/sign-in/
Login: a @ boxexchanger . net (без пробілів)
Password: rezftXe3
ІНСТРУКЦІЇ ПО РОЗРОБЦІ ПОДІБНОГО МОДУЛЯ, НА ЖАЛЬ, НІ.
Готовий надати оперативну підтримку на всіх етапах розробки, відповідати на будь-які питання, пов'язані з завданням, а також підтримувати голосовий зв'язок, якщо такий формат роботи виявиться для Вас переважнішим.
====================================
Для тих, хто дочитав і навіть почав розбиратися:
1. Запит на отримання інформації про заявку: server/exchanger/order/merchantData/upsert | Відповідь:
TYPE: param.type || "order",
_id: resultOrder._id,
rid: resultOrder.rid,
uid: resultOrder.uid,
status: resultOrder.status,
lang: resultOrder.lang,
inAmount: Number(resultOrder.inAmount),
fromValues: resultOrder.fromValues,
toValues: resultOrder.toValues,
routeValues: resultOrder.routeValues,
secret: String(param.orderSecret),
methodAml: resultOrder.methodAml,
route: route,
2. Запит на зміну статусу заявки: server/exchanger/order/update-status