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