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 verbergenipnUrl
- HTTP/HTTPS Link um deinen Server zu benachrichtigen.ipnSecret
- Zufällige Zeichenfolge zur Erstellung einer Anfragesignatur (zur Wahrung der Integrität der Anfrage)
- Die Anfrage wird mit der POST Methode gesendet
- IPN wird einmal gesendet
- 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 uidorderId
:String(ObjectId) -Auftrag idnewStatus
:String() - Auftrag aktueller StatusinAmount
:String(number) - order in sumoutAmount
:String(number) - order out sumxml_from
:String() - Auftrag uidxml_to
:String() - Auftrag uidtimestamp
:Number() - Unix Zeit ipn benachrichtigentoValues
:Array([{key,name,value}]) - Auftrags Zahlungsdaten
Status Liste
new
- neuer AuftragwaitPayment
- warten auf KundenzahlungerrorPayment
- 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
- Auszahlungsfehlerhold
- Pausiert (Probleme mit dem Auftrag)done
- Auftrag erfolgreich abgeschlossenreturned
- Auftrag wurde bezahlt, aber nicht alle Exchangebedingungen wurden erfüllt. Dem Kunden wird seine Zahlung rückerstattetdeleted
- 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
- Wenn du den Status von Aufträgen kontrollieren willst, erstelle sie mit Authorisierung, dann werden alle Aufräge in deinem User Account angezeigt;
- Du kannst die UID des Auftrags und secret manuell aufrufen, indem du die Daten in der Adresszeile angibst.
Zahlung
-
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 - 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/.
- 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.