Integracja z Twoją usługą

Sprzedawca

Utwórz zamówienie

Użyj metody public/exchanger/order/create

Nazwa Opis Typ
routeId id kierunku ObjectID
partner kod partnera STRING
amount kwota FLOAT
fromValues[0][key] klucz pola ObjectID
fromValues[0][value] wartość pola STRING
toValues[0][key] klucz pola STRING
toValues[0][value] wartość pola STRING
routeValues[0][key] klucz pola ObjectID
routeValues[0][value] wartość pola STRING
lang język (ukr, ang) STRING
agreement umowa BOOLEAN
hideOutData ukryj dane konta BOOLEAN
clientCallbackUrl adres zwrotny, kiedy aplikacja zostanie zakończona, klient zobaczy przycisk powrotu do strony i zostanie przekierowany na ten URL ?status=success lub na ?status=error STRING
ipnUrl URL powiadomień o natychmiastowych płatnościach (będzie wywoływany przy zmianie statusu zamówienia) STRING
ipnSecret ciąg do tworzenia bezpiecznego hasha w IPN URL STRING

Dokumentację systemu autoryzacji można znaleźć w panelu użytkownika. Więcej informacji o metodach i dodatkowe dane można znaleźć na

IPN (Powiadomienie o zmianie statusu żądania płatności)

UclientCallbackUrl - {{ $t('page.merchants.clientCallbackUrl') }
UhideOutData - ukryj dane odbiorcy
UipnUrl - Adres HTTP / HTTPS do powiadamiania Twojego serwera.
UipnSecret - Losowy ciąg do tworzenia sygnatury żądania (w celu zapewnienia integralności żądania)

Żądanie zostanie wysłane metodą POST
IPN zostanie wysłane tylko raz
Dostarczenie IPN nie jest gwarantowane (jeśli serwer nie odpowie na żądanie, nie zostanie ono ponownie wysłane)

Przykład IPN

POST

['Content-Type'] = 'application/x-www-form-urlencoded'

orderUID :Number() - zamówienie uid
orderId :String(ObjectId) - zamówienie id
newStatus :String() - zamówienie bieżący status
inAmount :String(number) - order in sum
outAmount :String(number) - order out sum
xml_from :String() - zamówienie uid
xml_to :String() - zamówienie uid
timestamp :Number() - czas unix i powiadomienie IPN
toValues :Array([{key,name,value}]) - dane zamówienia

Lista statusów

new - nowe zamówienie
waitPayment - oczekiwanie na płatność od użytkownika
errorPayment - błąd płatności użytkownika (błąd sprzedawcy)
inProgress - w toku (oczekuje na przetworzenie przez administratora lub płatność)
inProgressPayout - w kolejce do płatności (płatność została pomyślnie przyjęta) (jeśli automatyczna płatność w walucie jest ustawiona, zostanie zainicjowana)
errorPayout - błąd płatności (wystąpił błąd przy dokonywaniu płatności)
hold - zamówienie wstrzymane (problemy z aplikacją)
done - zamówienie zostało pomyślnie zrealizowane
returned - zamówienie zostało opłacone, ale nie wszystkie warunki wymiany i metody zwrotu zostały spełnione
deleted - zamówienie usunięte (anulowane)

Weryfikacja sumy kontrolnej żądania (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 płatności

  1. Jeśli chcesz kontrolować status żądań i tworzyć je przy użyciu autoryzacji, wszystkie żądania będą odzwierciedlone w Twoim panelu użytkownika;
  2. Możesz zapisać UID żądania i sekret, a następnie ręcznie przejść do żądania, podając te dane w pasku adresu

Płatność

  1. Możesz użyć /payment/ do wyświetlenia strony płatności

    // schema
    https://nimlab.eu/user-lang/payment/order-uid/order-secret
    // example result
    https://nimlab.eu/en/payment/1409/dGqwF2M2eBPaSN1G5ljMS1cb
  2. Możesz również po prostu podać link do giełdy tak, jak widzą go wszyscy klienci według tego samego schematu, z tą różnicą, że /payment/ należy zastąpić na /order/
  3. W metodzie są parametry, które pozwalają wyświetlać dane płatności lub formularz płatności na Twojej stronie, które możesz wykorzystać. WAŻNE: jeśli używasz metody z przedpłatą, musisz zaktualizować status zamówienia z waitPayment na inProgress po dokonaniu płatności.