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

  1. 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;
  2. 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

  1. 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
  2. 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/
  3. 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.