Integrace s vaším servisem
Obchodník
Vytvořit žádost
Použijte metodu public/exchanger/order/create
Název | Popis | Typ |
routeId | ID směru | ObjectID |
partner | kód partnera | STRING |
amount | částka | FLOAT |
fromValues[0][key] | klíč pole | ObjectID |
fromValues[0][value] | hodnota pole | STRING |
toValues[0][key] | klíč pole | STRING |
toValues[0][value] | hodnota pole | STRING |
routeValues[0][key] | klíč pole | ObjectID |
routeValues[0][value] | hodnota pole | STRING |
lang | jazyk (ukr, ang) | STRING |
agreement | dohoda | BOOLEAN |
hideOutData | skrýt údaje | BOOLEAN |
clientCallbackUrl | callback, když bude aplikace dokončena, klient uvidí tlačítko pro návrat na web a bude přesměrován na tuto URL ?status=success nebo na ?status=error | STRING |
ipnUrl | URL adresa pro oznámení o okamžité platbě (bude vyvolán při změně stavu objednávky) | STRING |
ipnSecret | řetězec pro vytvoření bezpečného hashe v IPN URL | STRING |
Dokumentaci k systému autorizace naleznete ve svém osobním účtu. Další informace o práci s metodami a doplňující údaje najdete na
IPN (Oznámení o změně stavu platebního požadavku)
UclientCallbackUrl - {{ $t('page.merchants.clientCallbackUrl') }
UhideOutData - skrýt údaje příjemce
UipnUrl - HTTP / HTTPS odkaz pro oznámení vašeho serveru.
UipnSecret - Náhodný řetězec pro vytvoření podpisu žádosti (pro zajištění integrity požadavku)
Požadavek bude odeslán metodou POST
IPN bude odesláno jednou
Doručení IPN není garantováno (pokud server neodpoví, nebude znovu odesláno)
Příklad IPN
POST
['Content-Type'] = 'application/x-www-form-urlencoded'
orderUID :Number() - žádost uid
orderId :String(ObjectId) - žádost id
newStatus :String() - žádost aktuální stav
inAmount :String(number) - order in sum
outAmount :String(number) - order out sum
xml_from :String() - žádost uid
xml_to :String() - žádost uid
timestamp :Number() - unix čas a IPN oznámení
toValues :Array([{key,name,value}]) - údaje žádosti
Seznam stavů
new - nová žádost
waitPayment - čekáme na platbu od uživatele
errorPayment - chyba platby uživatele (chyba odeslání prodejce)
inProgress - v procesu (čeká na zpracování adminem nebo platbu žádosti)
inProgressPayout - v pořadí pro výplatu (platba byla úspěšně přijata) (pokud je nastaven automatický převod měny, bude zahájen)
errorPayout - chyba výplaty (došlo k chybě při výplatě)
hold - žádost zmrazena (problémy s aplikací)
done - žádost byla úspěšně vyplacena
returned - žádost byla zaplacena, ale ne všechny podmínky směny byly splněny, nebo nebyly splněny podmínky pro vrácení
deleted - žádost byla smazána (zrušena)
Ověření kontrolního součtu žádosti (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
Kontrola plateb
- Pokud potřebujete kontrolovat stav žádostí a vytvářet je prostřednictvím autorizace, všechny žádosti budou uvedeny ve vašem osobním účtu;
- Můžete uložit UID žádosti a tajný klíč a ručně přejít k žádosti zadáním těchto údajů do adresního řádku
Platba
-
Můžete použít /payment/ pro zobrazení stránky platby
// schema
https://nimlab.eu/user-lang/payment/order-uid/order-secret
// example result
https://nimlab.eu/en/payment/1409/dGqwF2M2eBPaSN1G5ljMS1cb - Také můžete jednoduše poskytnout odkaz na směnu stejným způsobem, jak jej vidí všichni klienti, pouze /payment/ nahraďte za /order/
- Metoda obsahuje parametry, které umožňují zobrazit platební údaje nebo formulář na vašem webu, který můžete použít. DŮLEŽITÉ: Pokud je použita metoda s předplacením, musíte po zaplacení aktualizovat stav objednávky z waitPayment na inProgress.