App integratie

  Laatst bijgewerkt: 

 

Met onze App Integratie optie kan je eigen Android app op hetzelfde betaalapparaat verzoeken initiëren die op de juiste manier worden verwerkt binnen de Android Trust Payments app.

 

Aan de slag

 

 

Dit hulpmiddel is ontworpen voor ontwikkelaars die onze SmartPOS-functionaliteit naadloos willen integreren in hun eigen Android toepassingen. Door gebruik te maken van Android's Intents en Broadcasts systeem, hebben we een flexibele manier gecreëerd om verschillende acties af te handelen.

Voordat we verder gaan, zijn er twee hoofdtypen communicatie waar we ons bewust van moeten zijn:

  1. Gebeurtenissen - Geactiveerd door het subsysteem Kinetische beloning.
  2. API-oproepen - Gestart door je applicatie om specifieke acties uit te voeren.

 

Overzicht

  1. Broadcastontvangers instellen - Maak broadcastontvangers in je applicatie om de verschillende intenties af te handelen die worden gebruikt voor transacties en statusupdates.
  2. Transactie-initiatie implementeren - Gebruik de actie com.kineticsmart.intent.PAYMENT_START_TRANSACTION om nieuwe transacties te starten.
  3. Verwerk statusupdates van transacties - Luister naar de actie transaction_status_changed om real-time updates over de voortgang van transacties te ontvangen.
  4. Verwerk voltooide transacties - Gebruik de actie com.kineticsmart.intent.PAYMENT_ENGINE_READY om details van voltooide transacties op te halen.
  5. Afdrukken van kassabonnen implementeren - Gebruik de actie com.kineticsmart.intent.PAYMENT_ENGINE_READY met specifieke parameters om kassabonnen van verkopers en klanten af te drukken.
  6. Foutafhandeling - Implementeer de juiste foutafhandeling voor gevallen zoals ongeldige transactietypen of andere potentiële problemen.

 

Referentie API-aanroepen

 

 

Sale

Initieert een nieuwe verkooptransactie.

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);

Terugbetaling

Initieert een nieuwe restitutietransactie.

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);

Verzoenen

Initieert een nieuwe afstemmingstransactie (einde van de dag).

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

Afdrukken

Drukt een ontvangstbewijs af voor de laatste transactie.

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

 

Veldverwijzing

 

 

Evenement velden

Veld Formaat Type Beschrijving
transaction_status String Refund, Sale Status van de transactie.

 

API-oproepvelden

Veld Formaat Supported transaction types Beschrijving
amount Integer Refund, Sale Het volledige bedrag voor de transactie in hoofdeenheden (bijv. £20 zou worden ingediend als "2000").
id String (UUID) Refund, Sale

Unieke identifier voor de API-aanroep.

printRequest String Afdrukken

Specificeert het type ontvangstbewijs dat moet worden afgedrukt in het afdrukverzoek. Ondersteunde bontypes zijn:

  • transaction.last.print_merchant_receipt - Kopie merchant
  • transaction.last.print_cardholder_receipt - Kopie voor de klant
referentie_txn_id
String Sale

UUID van eerder goedgekeurde Preauth of Aanpassingstransactie, vereist bij het verwerken van daaropvolgende Aanpassing of Voltooiingstransactiesubtypes.

subtype String Sale

(Optioneel) Voer een van de volgende ondersteunde waarden in:

  • preauth - Verwerkt een pre-auth voor het ingediende bedrag,
  • Aanpassing - past het bedrag aan dat eerder is goedgekeurd via het Preauth- of Aanpassingstransactieverzoek. Een preauth kan via deze methode naar boven of beneden worden bijgesteld.
  • voltooiing - Voltooit een lopende pre-auth. Het bedrag kan lager of gelijk zijn aan het laatste Preauth- of Aanpassingsbedrag. Als het bedrag moet worden verhoogd, moet een aanpassingstransactie voorafgaan aan het verzoek tot voltooiing.
transactionType Alfanumeriek All

Het type verzoek dat wordt ingediend. Ondersteunde verzoeken zijn:

  • print
  • reconcile
  • refund
  • sale

 

Implementatiegids

 

 

Luisteren naar gebeurtenissen

Statusupdates van transacties ontvangen:

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-oproepen doen

Voorbeeld van het initiëren van een verkooptransactie:

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);

 

Reacties verwerken

Om afgehandelde transacties te verwerken:

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
}
}

 

Problemen oplossen

 

 

Veelvoorkomende problemen

  1. Transactie start niet - Controleer of je de juiste Intent actie en extra's gebruikt.
  2. Geen statusupdates ontvangen - Controleer of je de BroadcastReceiver correct geregistreerd hebt.
  3. Afdruktaak wordt niet uitgevoerd - Controleer de printerstatus en de verbinding.
Was dit artikel nuttig?
0 van de 0 vonden dit nuttig