The Android SDK supports two modes:
  • Native checkout — full in-app payment UI (Jetpack Compose), no browser redirect
  • Hosted checkout — create a session server-side, open the URL in a browser
Source code: OrcusHQ/orcuspay-android

Requirements

  • Android Studio
  • Kotlin 1.9+
  • minSdk 23 (Android 6.0+)
  • Jetpack Compose (for native checkout)

Install

Add JitPack to your project settings.gradle.kts:
Add the dependency in your module build.gradle.kts:

Git submodule

Then include the module in settings.gradle.kts:

Native Checkout

Native checkout handles the entire payment flow inside your app — no browser redirect. The SDK shows a bottom-sheet UI with payment method selection, transaction verification, and gateway checkout.

1. Create a session (server-side)

Create a checkout session from your backend and pass only the session ID to your Android app. Never ship secret keys in a public mobile app.
Node.js

2. Register for result

Register an activity result launcher before starting the checkout. This must be called in onCreate or at class init time — not inside a click handler.

3. Open checkout

Call OrcusCheckout.open() with the session ID you received from your backend:

What the user sees

The checkout screen shows a bottom sheet with these steps:
  1. Payment method selection — all available methods with icons, business branding, and the total amount
  2. Depending on the selected method:
    • bKash / Nagad / Rocket — a native form to enter the Transaction ID after sending money
    • Stripe — an embedded card/Google Pay checkout form
    • SSLCommerz — the SSLCommerz gateway for local bank and card payments

Custom API URL

For self-hosted Orcuspay instances, pass your API URL:

Hosted Checkout

For the redirect-based flow, create a session on your backend and open the checkout URL in Chrome Custom Tabs.
Do not ship production secret keys inside a public mobile app. The hosted checkout client shown below is for internal/trusted apps only. For consumer-facing apps, create sessions from your backend and use native checkout.