Zum Hauptinhalt springen

Android-Kassen-SDK

Android-Kassenschnittstelle: Mithilfe der 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.

Bitte setzen Sie sich mit uns in Verbindung, wenn Sie Ihre Android-App testen und veröffentlichen möchten.

1) SDK hinzufügen und Grundlagen​

  • Binden Sie das Till-SDK in Ihr Projekt ein (Informationen zur Gradle-Konfiguration und zu den Artefakten finden Sie in der README-Datei des Repositorys).
  • Ihre App läuft auf demselben Terminal, auf dem die Wallee-Zahlungsanwendung 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 finden Sie im Repository.) 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 abschliessen)
  • voidTransaction(...) (Reservierung stornieren)
  • cancelLastTransactionOperation()
  • Abwicklungsvorgä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