App-Integration

  Zuletzt aktualisiert: 

 

Unsere App-Integrationsoption ermöglicht es Ihrer eigenen Android App auf demselben Zahlungsgerät, Anfragen zu initiieren, die in der Android Trust Payments App entsprechend bearbeitet werden.

 

Erste Schritte

 

 

Diese Ressource ist für Entwickler gedacht, die unsere SmartPOS-Funktionalität nahtlos in ihre eigenen Android Anwendungen integrieren möchten. Durch die Nutzung von Android's Intents und Broadcasts System, haben wir einen flexiblen Weg geschaffen, um verschiedene Aktionen zu behandeln.

Bevor wir fortfahren, sollten wir uns über zwei Hauptarten der Kommunikation im Klaren sein:

  1. Ereignisse - Ausgelöst durch das Subsystem Kinetic Pay.
  2. API-Aufrufe - werden von Ihrer Anwendung initiiert, um bestimmte Aktionen durchzuführen.

 

Übersicht

  1. Einrichten von Broadcast-Empfängern - Erstellen Sie Broadcast-Empfänger in Ihrer Anwendung, um die verschiedenen Intents für Transaktionen und Statusaktualisierungen zu verarbeiten.
  2. Implementierung der Transaktionseinleitung - Verwenden Sie die Aktion com.kineticsmart.intent.PAYMENT_START_TRANSACTION, um neue Transaktionen zu starten.
  3. Bearbeitung von Aktualisierungen des Transaktionsstatus - Warten Sie auf die Aktion transaction_status_changed, um Echtzeitaktualisierungen zum Transaktionsfortschritt zu erhalten.
  4. Abgeschlossene Transaktionen verarbeiten - Verwenden Sie die Aktion com.kineticsmart.intent.PAYMENT_ENGINE_READY, um Details zu abgeschlossenen Transaktionen abzurufen.
  5. Quittungsdruck implementieren - Verwenden Sie die Aktion com.kineticsmart.intent.PAYMENT_ENGINE_READY mit spezifischen Parametern, um Händler- und Kundenquittungen zu drucken.
  6. Fehlerbehandlung - Implementieren Sie eine angemessene Fehlerbehandlung für Fälle wie ungültige Transaktionsarten oder andere potenzielle Probleme.

 

Referenz für API-Aufrufe

 

 

Sale

Initiiert eine neue Verkaufstransaktion.

Intent startSale = new Intent("com.kineticsmart.intent.PAYMENT_START_TRANSACTION");
startSale.putExtra("amount", "100");
startSale.putExtra("id", UUID.randomUUID().toString());
startSale.putExtra("transactionType", "sale");
sendBroadcast(startSale);

Erstattung

Leitet eine neue Erstattungstransaktion ein.

Intent startRefund = new Intent("com.kineticsmart.intent.PAYMENT_START_TRANSACTION");
startRefund.putExtra("amount", "100");
startRefund.putExtra("id", UUID.randomUUID().toString());
startRefund.putExtra("transactionType", "refund");
sendBroadcast(startRefund);

Abstimmen

Initiiert eine neue Abstimmungstransaktion (Tagesende).

Intent startReconcile = new Intent("com.kineticsmart.intent.PAYMENT_START_TRANSACTION");
startReconcile.putExtra("transactionType", "reconcile");
sendBroadcast(startReconcile);

Drucken

Druckt einen Bon für die letzte Transaktion.

Intent printReceipt = new Intent("com.kineticsmart.intent.PAYMENT_ENGINE_READY");
printReceipt.putExtra("transactionType", "print");
printReceipt.putExtra("printRequest", "transaction.last.print_merchant_receipt");
sendBroadcast(printReceipt);

 

Feldbezug

 

 

Ereignisfelder

Feld Format Type Beschreibung
transaction_status Zeichenfolge Refund, Sale Status der Transaktion.

 

Felder für API-Aufrufe

Feld Format Supported transaction types Beschreibung
amount Integer Refund, Sale Der volle Betrag für die Transaktion in Haupteinheiten (z. B. £20 würde als "2000" übermittelt).
id Zeichenfolge (UUID) Refund, Sale

Eindeutiger Bezeichner für den API-Aufruf.

printRequest Zeichenfolge Drucken

Gibt die Art des Bons an, der in der Druckanforderung gedruckt werden soll. Unterstützte Bonarten sind:

  • transaction.last.print_merchant_receipt - Kopie des Händlers
  • transaction.last.print_cardholder_receipt - Kundenkopie
referenz_txn_id
Zeichenfolge Sale

UUID der zuvor genehmigten Preauth- oder Anpassungstransaktion, erforderlich bei der Verarbeitung nachfolgender Subtypen von Anpassungs- oder Abschlusstransaktionen.

subType Zeichenfolge Sale

(Optional) Geben Sie einen der folgenden unterstützten Werte ein:

  • preauth - Verarbeitet eine Vorautorisierung für den eingereichten Betrag,
  • Anpassung - passt den Betrag an, der zuvor über einen Antrag auf eine Vorauthentifizierung oder eine Anpassungstransaktion genehmigt wurde. Eine Vorauthentifizierung kann mit dieser Methode im Betrag nach oben oder unten angepasst werden
  • Abschluss - Schließt eine ausstehende Vorauthentifizierung ab. Der Betrag kann kleiner oder gleich dem letzten Preauth- oder Anpassungsbetrag sein. Wenn der Betrag erhöht werden muss, muss dem Erledigungsantrag eine Anpassungstransaktion vorausgehen.
transactionType Alphanumerisch All

Die Art der Anfrage, die eingereicht wird. Unterstützte Anfragen sind:

  • print
  • reconcile
  • refund
  • sale

 

Leitfaden für die Umsetzung

 

 

Zuhören für Ereignisse

Um Aktualisierungen des Transaktionsstatus zu erhalten:

public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("transaction_status_changed")) {
String status = intent.getStringExtra("transaction_status");
// Process the status update
}
}

 

API-Aufrufe tätigen

Beispiel für die Initiierung einer Verkaufstransaktion:

String txnUUID = UUID.randomUUID().toString();
Intent startSale = new Intent("com.kineticsmart.intent.PAYMENT_START_TRANSACTION");
startSale.putExtra("amount", "100");
startSale.putExtra("id", txnUUID);
startSale.putExtra("transactionType", "sale");
sendBroadcast(startSale);

 

Umgang mit Antworten

Zur Bearbeitung abgeschlossener Transaktionen:

public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("com.kineticsmart.intent.PAYMENT_ENGINE_READ")) {
String transactionDetails = intent.getStringExtra("transaction_status");
// Process the completed transaction details
}
}

 

Fehlersuche

 

 

Gemeinsame Probleme

  1. Transaktion startet nicht - Stellen Sie sicher, dass Sie die richtige Intent-Aktion und Extras verwenden.
  2. Keine Statusaktualisierungen erhalten - Überprüfen Sie, ob Sie Ihren BroadcastReceiver korrekt registriert haben.
  3. Druckauftrag wird nicht ausgeführt - Überprüfen Sie den Druckerstatus und die Verbindung.
War dieser Artikel hilfreich?
0 von 0 Personen fanden dies hilfreich