Integration mit deinem Service

Merchant docs

Auftrag erstellen

nutze Methode public/exchanger/order/create

Name Beschreibung Typ
routeId Id Route ObjectID
partner Link Partner STRING
amount Betrag in FLOAT
fromValues[0][key] Schlüssel Name ObjectID
fromValues[0][value] Wert für dieses Feld STRING
toValues[0][key] Schlüssel Name STRING
toValues[0][value] Wert für dieses Feld STRING
routeValues[0][key] Schlüssel Name ObjectID
routeValues[0][value] Wert für dieses Feld STRING
lang lang client (ru,en,) STRING
agreement Vereinbarung BOOLEAN
hideOutData Zahlungdaten verschleiern BOOLEAN
clientCallbackUrl Callback: Wenn der Auftrag abgeschlossen ist, wird ein Button erscheinen mit dem der Kunde zur Homepage zurückkehren kann. ?status=success oder ?status=error STRING
ipnUrl Sofortzahlungs Mitteilung url (wird aufgerufen, wenn sich der Status des Auftrags geändert hat) STRING
ipnSecret Zeichenkette zur Erstellung eines sicheren Hash in ipn url STRING

Die Dokumentation zum Autorisierungssystem findest du in deinem Account. Mehr über die Arbeit mit Methoden und zusätzlichen Daten findest du auf

IPN (Mitteilung über die Statusänderung der Zahlung)

Um Mitteilungen über die Änderung des Auftragsstatus zu erhalten, musst du bei der Erstellung des Auftrags zusätzliche Informationen angeben:

  • clientCallbackUrl - Callback: Wenn der Auftrag abgeschlossen ist, wird ein Button erscheinen mit dem der Kunde zur Homepage zurückkehren kann.
  • hideOutData - Daten des Empfängers verbergen
  • ipnUrl - HTTP/HTTPS Link um deinen Server zu benachrichtigen.
  • ipnSecret - Zufällige Zeichenfolge zur Erstellung einer Anfragesignatur (zur Wahrung der Integrität der Anfrage)
  1. Die Anfrage wird mit der POST Methode gesendet
  2. IPN wird einmal gesendet
  3. IPN Lieferung ist nicht garantiert (wenn der Server nicht auf die Anfrage geantwortet hat, wird sie nicht erneut gesendet)

Beispiel IPN

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


  • orderUID :Number() - Auftrag uid
  • orderId :String(ObjectId) -Auftrag id
  • newStatus :String() - Auftrag aktueller Status
  • inAmount :String(number) - order in sum
  • outAmount :String(number) - order out sum
  • xml_from :String() - Auftrag uid
  • xml_to :String() - Auftrag uid
  • timestamp :Number() - Unix Zeit ipn benachrichtigen
  • toValues :Array([{key,name,value}]) - Auftrags Zahlungsdaten

Status Liste

  • new - neuer Auftrag
  • waitPayment - warten auf Kundenzahlung
  • errorPayment - Fehler Kundenzahlung (Merchant sende Fehler)
  • inProgress - In Bearbeitung (erwartet Admin oder Zahlung des Auftrags)
  • inProgressPayout - Zahlung in bearbeitung (Zahlung erfolgreich akzeptiert)(Wenn Vorkonfiguriert, wird die automatische (Aus-)Zahlung initalisiert)
  • errorPayout - Auszahlungsfehler
  • hold - Pausiert (Probleme mit dem Auftrag)
  • done - Auftrag erfolgreich abgeschlossen
  • returned - Auftrag wurde bezahlt, aber nicht alle Exchangebedingungen wurden erfüllt. Dem Kunden wird seine Zahlung rückerstattet
  • deleted - Auftrag gelöscht (storniert)

Überprüfung der Prüfsumme der Anfrage (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
        
      

Zahlungskontrolle

  1. Wenn du den Status von Aufträgen kontrollieren willst, erstelle sie mit Authorisierung, dann werden alle Aufräge in deinem User Account angezeigt;
  2. Du kannst die UID des Auftrags und secret manuell aufrufen, indem du die Daten in der Adresszeile angibst.

Zahlung

  1. Sie können / Zahlung / verwenden, um die Zahlungsseite anzuzeigen

    // schema
    https://catchange.me/user-lang/payment/order-uid/order-secret
    // example result
    https://catchange.me/en/payment/1409/dGqwF2M2eBPaSN1G5ljMS1cb
  2. Zudem kannst du einen Link zum Exchange abgeben wie er von allen Kunden gesehen wird, nach dem gleichen Schema wie in der ersten Variante angegeben. Ersetze /Zahlung/ durch /Auftrag/.
  3. Es gibt Parameter in der Methode die es dir erlauben die Zahlungsdaten oder die Zahlungsform anzuzeigen. Wichtig: bei der Methode manuelle Zahlung musst du den Status von warte auf Zahlung zu Zahung in bearbeitung nach der Zahlung aktualisieren.