Интеграция с вашата услуга
Търговец
Създайте приложение
Използвайте метода public/exchanger/order/create
Име | Описание | Тип |
routeId | директен идентификатор | 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 | договор | BOOLEAN |
hideOutData | скрий детайлите | BOOLEAN |
clientCallbackUrl | обратно извикване, когато приложението приключи, клиентът ще види бутон за връщане към сайта и клиентът ще бъде пренасочен към този URL. ?status=success или на ?status=error | STRING |
ipnUrl | URL адрес за известие за незабавно плащане (ще бъде извикан при промяна на статуса на поръчката) | STRING |
ipnSecret | низ за създаване на защитен хеш в ipn url | STRING |
Документация за системата за оторизация можете да намерите в личния си акаунт.
IPN (Известие за промяна в статуса на заявка за плащане)
За да получите известие за промяна в статуса на приложение по време на неговото създаване, трябва да изпратите допълнителни параметри:
clientCallbackUrl
- обратно извикване, когато приложението приключи, клиентът ще види бутон за връщане към сайта и клиентът ще бъде пренасочен към този URL.hideOutData
- скриване на данните за получателяipnUrl
- HTTP/HTTPS връзка за уведомяване на вашия сървър.ipnSecret
- Произволен низ за генериране на подписа на заявката (за поддържане на целостта на заявката)
- Заявката ще бъде изпратена чрез метода POST
- IPN ще бъде изпратен веднъж
- Доставката на IPN не е гарантирана (ако сървърът не е отговорил на заявката, тя няма да бъде изпратена повторно)
Примерен IPN
- POST
- ['Content-Type'] = 'application/x-www-form-urlencoded'
orderUID
:Number() - приложение uidorderId
:String(ObjectId) -приложение idnewStatus
:String() - приложение текущо състояниеinAmount
:String(number) - order in sumoutAmount
:String(number) - order out sumxml_from
:String() - приложение uidxml_to
:String() - приложение uidtimestamp
:Number() - unix време и ipn известияtoValues
:Array([{key,name,value}]) - подробности за приложението
page.merchants.statusesList
new
- ново приложениеwaitPayment
- очакваме плащане от потребителяerrorPayment
- грешка при плащането на потребителя (грешка при доставката на продавача)inProgress
- в процес (изчакване на обработка от администратор или плащане на приложението)inProgressPayout
- в опашка за плащане (плащането е прието успешно) (ако е конфигурирано автоматично плащане във валута, то ще бъде инициализирано)errorPayout
- грешка при плащане (възникна грешка при плащане)hold
- приложението е замразено (проблеми с приложението)done
- приложението е платено успешноreturned
- заявлението е платено, но не са изпълнени всички условия за обмен и методи за връщане на подателяdeleted
- приложението е изтрито (отменено)
Поискайте проверка на контролна сума (IPN).
sha256(orderId:newStatus:inAmount:outAmount:xml_from:xml_to:timestamp:ipnSecret)
const stringForHash = orderId+":"+newStatus+":"+inAmount+":"+outAmount+":"+xml_from+":"+xml_to+":"+timestamp+":"+ipnSecret;
// example string for hash 5d8e6002b80b7b4cd75a6424:inProgress:2:317.42:ETH:WMZ:1571328406072:SECRET123
const hash = crypto.createHash('sha256').update(stringForHash).digest('hex')
// example hash af3acf947e6f0e0f2c267e300b8582e504dba12d1f2d058652b7414163c09f48
Контрол на плащанията
- Ако трябва да наблюдавате състоянието на заявките, създайте ги с помощта на оторизация, всички заявки ще бъдат показани в личния ви акаунт;
- Можете да запишете UID на заявката и тайната и да отидете ръчно до заявката, като посочите тези подробности в адресната лента
Плащане
-
Можете да използвате /payment/ за показване на страницата за плащане
// schema
https://nimlab.eu/user-lang/payment/order-uid/order-secret
// example result
https://nimlab.eu/en/payment/1409/dGqwF2M2eBPaSN1G5ljMS1cb - Също така можете просто да дадете линк към борсата, тъй като тя се вижда от всички клиенти по същата схема, както в първия вариант, с изключение на /плащане/ трябва да се замени с /поръчка/
- Методът има параметри, които ви позволяват да показвате данни за плащане или формуляр за плащане на вашия сайт, който можете да използвате.