Integracja z Twoją usługą

merchant

Zrób podanie

użyj metody public/exchanger/order/create

Nazwa Opis Typ
routeId id kierunki 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 STRING
agreement umowa BOOLEAN
hideOutData Ukryj rekwizyt BOOLEAN
clientCallbackUrl oddzwonienie po zakończeniu aplikacji klient zobaczy przycisk powrotu na stronę i zostanie przekierowany na ten adres URL ?status=success lub w ?status=error STRING
ipnUrl Adres URL natychmiastowego powiadomienia o płatności (zostanie wywołany, gdy zmieni się status zamówienia) STRING
ipnSecret ciąg do generowania bezpiecznego hasha w adresie IPN STRING

Dokumentację systemu autoryzacji znajdziesz na swoim koncie osobistym. Więcej szczegółów na temat pracy c metodami oraz dodatkowe dane można znaleźć na

IPN (Powiadomienie o zmianie statusu wniosku o płatność)

Aby otrzymać powiadomienie o zmianie statusu aplikacji po jej utworzeniu, należy przesłać dodatkowe parametry:

  • clientCallbackUrl - oddzwonienie po zakończeniu aplikacji klient zobaczy przycisk powrotu na stronę i zostanie przekierowany na ten adres URL
  • hideOutData - ukryj dane odbiorcy
  • ipnUrl - Link HTTP/HTTPS do powiadamiania serwera.
  • ipnSecret - Losowy ciąg do wygenerowania podpisu żądania (w celu zachowania integralności żądania)
  1. Żądanie zostanie wysłane metodą POST.
  2. IPN zostanie wysłany tylko raz
  3. 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() - podanie uid
  • orderId :String(ObjectId) -podanie id
  • newStatus :String() - podanie aktualny stan
  • inAmount :String(number) - order in sum
  • outAmount :String(number) - order out sum
  • xml_from :String() - podanie uid
  • xml_to :String() - podanie uid
  • timestamp :Number() - Powiadomienia o czasie uniksowym i ipn
  • toValues :Array([{key,name,value}]) - rekwizyty i podania

Spis statusów

  • new - Nowe podanie
  • waitPayment - oczekiwanie na płatność od użytkownika
  • errorPayment - niestandardowy błąd płatności (błąd wysyłania sprzedawcy)
  • inProgress - w trakcie (oczekuje na przetworzenie przez administratora lub opłacenie wniosku)
  • inProgressPayout - w kolejce do płatności (płatność przyjęta pomyślnie) (jeśli skonfigurowana jest płatność automatyczna w walucie zostanie ona zainicjowana)
  • errorPayout - błąd płatności (wystąpił błąd podczas płatności)
  • hold - aplikacja jest zamrożona (problemy z aplikacją)
  • done - aplikacja pomyślnie opłacona
  • returned - wniosek został opłacony, ale nie wszystkie warunki wymiany i metody zwrotu nadawcy zostały spełnione
  • deleted - aplikacja usunięta (anulowana)

Poproś o weryfikację sumy kontrolnej (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 wniosków, utwórz je za pomocą autoryzacji, wtedy wszystkie wnioski zostaną odzwierciedlone na Twoim koncie osobistym;
  2. Możesz zapisać UID żądania i klucz tajny oraz ręcznie przejść do żądania, wprowadzając te dane w pasku adresu

Zapłata

  1. Możesz użyć /payment/, aby wyświetlić stronę płatności

    // schema
    https://www.smartexpay.com//user-lang/payment/order-uid/order-secret
    // example result
    https://www.smartexpay.com//en/payment/1409/dGqwF2M2eBPaSN1G5ljMS1cb
  2. Możesz też po prostu podać link do giełdy, tak jak widzi go wszyscy klienci w taki sam sposób, jak w pierwszej opcji, z wyjątkiem /payment/ należy zastąpić /order/
  3. Metoda ma parametry, które pozwalają wyświetlić szczegóły płatności lub formę płatności na Twojej stronie, z której możesz skorzystać. WAŻNE: Jeśli korzystasz z metody przedpłaconej, musisz zaktualizować status zamówienia z waitPayment na inProgress po dokonaniu płatności