> For the complete documentation index, see [llms.txt](https://wallee.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wallee.gitbook.io/documentation/payments/in-store-payments/softpos-on-android/your-first-transaction.md).

# Your first Transaction

Get from zero to a working transaction in six steps.

**1. Add the Terminal API to your project**

Include the [Terminal API ](/documentation/payments/in-store-payments/softpos-on-android/developer-resources/terminal-api-reference.md)dependency in your Android project and declare the required permission and package visibility in your `AndroidManifest.xml`. See SDK Setup for the exact snippets.

**2. Install the Wallee SoftPOS APK on your device**

[Download](/documentation/payments/in-store-payments/softpos-on-android/developer-resources/wallee-softpos-apk.md) the Wallee SoftPOS APK and install it on your Android device. This is the service your integrator app will bind to.

**3. Request an activation code and activate the device**

Request a 6-digit activation code from our sales team, then enter it in the wallee SoftPOS app to activate the device. See [Terminal Activation](/documentation/payments/in-store-payments/softpos-on-android/developer-resources/terminal-activation.md) for the full process.

**4. Connect your app to the Terminal service**

Initialize Terminal API in an application-scoped holder and call `sdk.connect()` to bind to the SoftPOS service on the device.

**5. Run your first transaction**

Build a `TransactionRequest.purchase(...)`, create a transaction context, and execute it:

kotlin

```kotlin
val context = sdk.terminal.payments.createTransaction(request)
val result = sdk.terminal.payments.executeTransaction(context.transactionId)
```

**!Important!**

**You only can test with even amounts like 6.00 to run successful payments.**

**6. Verify the result**

Check the `TransactionOutcome` (e.g. `APPROVED`) and read back the `transactionReferenceNumber` for your records.

That's it — you're live in QAT environment. From here, explore refunds, reservations, captures, and the config, batch, and identification domains in the [Terminal API reference](/documentation/payments/in-store-payments/softpos-on-android/developer-resources/terminal-api-reference.md).
