Integration patterns

Overview

Peach Payments terminal integrations fall into a few patterns. Pick the one that matches where your POS software runs and how you deliver payment results to your backend.

Pattern comparison

PatternTill runs onPayment initiated byResult delivery
App-to-app (Intent API)Payment terminalPOS app calls Intent API buildersIntent callback; optional point of sale webhook
Web POS in WebViewWebView container on terminalJavaScript bridge → Kotlin → Intent APISame as app-to-app
POS Integrations APIAny device (tablet, PC, phone)Till calls the Integrations APIPoint of sale webhook (required)

Decision guide

Where does your POS software run?
│
├─ Same Sunmi device as Payment App
│   ├─ Native Android (Kotlin/Java) ──► App-to-app (Intent API)
│   └─ Web UI in WebView shell      ──► Web POS in WebView (Intent API)
│
└─ Separate device from terminal
    └── POS Integrations API + point of sale webhooks

Same device → app-to-app. Your POS and the Payment App share one Android device. Use com.peach:intent_api builders and receive results in your listener callbacks.

Separate till → POS Integrations API. Your till calls Peach Payments over HTTPS to push the payment to the terminal. Your backend receives the outcome via Point of sale webhooks.

Result delivery

PatternPrimary result pathBackend notification
App-to-appIntent listener callback (PosTransactionSummary, VoidResponse)Optional Point of sale webhooks
POS Integrations APINone on till deviceRequired Point of sale webhooks
📘

For both Intent callbacks and point of sale webhooks, evaluate transactionType and isApproved together to determine success. Void uses VoidResponse without isApproved.

Next steps

PatternNext step
App-to-appGet started with app-to-app
POS Integrations APIPOS Integrations API
Web POSApp-to-app integration (Web POS section)

Did this page help you?