Zum Hauptinhalt springen

Android-Kassen-SDK

Android-Kassenschnittstelle: Über die Android-Kassenschnittstelle können Sie direkt mit der Terminalsoftware kommunizieren. Der Vorteil besteht darin, dass Sie ein Android-SDK nutzen können, um mit dem Terminal zu interagieren; dies ist jedoch nur für Anwendungen möglich, die auf dem Terminal ausgeführt werden. Wenn die Anwendung nicht auf dem Terminal läuft, funktioniert die Android-Kassenschnittstelle nicht. Für die Android-Kassenschnittstelle müssen Sie das SDK als Abhängigkeit zu Ihrer Android-App hinzufügen.

Für das Testen und die Veröffentlichung Ihrer Android-App nehmen Sie bitte Kontakt mit uns auf.

1) SDK hinzufügen & Grundlagen​

  • Binde das Till SDK in dein Projekt ein (Informationen zur Gradle-Konfiguration und zu den Artefakten findest du in der README-Datei des Repos).
  • Deine App läuft auf demselben Terminal, auf dem die Wallee Payment Application installiert ist. GitHub

2) Client erstellen und verbinden​

public class MainActivity extends AppCompatActivity {
private ApiClient client;

@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ResponseHandler handler = new ResponseHandler() {
@Override
public void authorizeTransactionReply(TransactionResponse resp) {
// TODO: inspect resp (approved/declined, refs, amounts)
}
};

client = new ApiClient(handler);
client.bind(this); // bind to Wallee Till SDK service
}
}

(Den vollständigen Beispielcode findest du im Repo.) GitHub

3) Eine Transaktion autorisieren​

Currency currency = Currency.getInstance("CHF");
BigDecimal amount = new BigDecimal("23.60");
List<LineItem> items = new LineItem.ListBuilder("Item A", amount).build();

Transaction trx = new Transaction.Builder(items)
.setInvoiceReference("IREF-123")
.setMerchantReference("MREF-123")
.setCurrency(currency)
.build();

client.authorizeTransaction(trx);

Allgemeine Operationen, die für ApiClient verfügbar sind:

  • checkApiServiceCompatibility()
  • authorizeTransaction(...) (Kauf/Gutschrift/Reservierung/Anpassung)
  • completeTransaction(...) (Reservierung abschließen)
  • voidTransaction(...) (Reservierung stornieren)
  • cancelLastTransactionOperation()
  • Abrechnungsvorgänge: executeSubmission, executeTransmission, executeFinalBalance
  • Hilfsfunktionen: executeConfiguration, executeInitialisation, executeGeneratePanToken, getPinPadInformation GitHub

4) Antworten bearbeiten​

Erweitern Sie ResponseHandler, um Folgendes zu erhalten:

  • TransactionResponse, TransactionCompletionResponse, TransactionVoidResponse
  • SubmissionResult, TransmissionResult, FinalBalanceResult
  • GeneratePanTokenResponse, GetPinpadInformationResponse, GetConfigDataResponse GitHub