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,getPinPadInformationGitHub
4) Antworten bearbeiten
Erweitern Sie ResponseHandler, um Folgendes zu erhalten:
TransactionResponse,TransactionCompletionResponse,TransactionVoidResponseSubmissionResult,TransmissionResult,FinalBalanceResultGeneratePanTokenResponse,GetPinpadInformationResponse,GetConfigDataResponseGitHub