{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-platform/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"SDK","llmstxt":{"title":"Glomopay developer documentation","description":"Cross-border payments APIs, organised by product. Each product section carries both the explanation of its objects and the job-shaped integration guides that set them up.","details":{"content":"How to use these docs:\n\n- Get started is the front door. It carries a routing table from\n  \"what are you building\" to the page that builds it, plus how to get\n  API keys.\n- The product sections - Payin, Payout, Multi-currency accounts,\n  Verification, Request for Information (RFI) - each hold two kinds of page.\n  Pages titled as a noun (\"Subscriptions\", \"Bank Transfer\") explain what\n  an object is. Pages titled as a job (\"Set up recurring subscriptions\",\n  \"Collect LRS remittances from India\") are complete integration flows\n  and live one level under the object they set up. Match a user's goal\n  against the job-shaped titles first.\n- Reports and Identity and Access Management are the two subjects with no\n  API counterpart. There are no endpoints for reports, users, roles or\n  invites; both pages document the merchant dashboard. A dashboard\n  procedure for something the API also does (a refund, a payout) is NOT\n  here - it stays in the product that owns it.\n- API reference is generated from OpenAPI and carries endpoint detail.\n- The OpenAPI description itself is published as a single self-contained\n  document at /openapi.yaml, and the same document as JSON at\n  /openapi.json. Every $ref is resolved into it, so one fetch is the\n  whole contract: 61 paths, 81 operations, 68 schemas - the same\n  endpoints the API reference pages render. Fetch that instead of\n  reading the 129 pages under /api-reference/.\n- Every page below, in full, is one document at /llms-full.txt. Fetch that\n  instead of the pages one by one. It leaves out the API reference;\n  /openapi.yaml is that.\n- Developer resources covers what every integration touches and no single\n  product owns: auth, errors, pagination, rate limits, webhooks,\n  versioning, supported countries, quotes, and the client SDKs.\n"},"sections":[{"title":"Get started","description":"The front door. The routing table from a merchant's goal to the flow that delivers it, how to obtain API keys, and the platform glossary.","includeFiles":["**/get-started/**"]},{"title":"Payin","description":"Collecting money: customers, orders, checkout, payment links, payment methods (cards, bank transfer, pay via bank), refunds, disputes, purpose codes, fee models, custom fields, subscriptions, and resident India remittance under LRS. Includes the flows that set each up - bank transfers, subscriptions, LRS remittances, and server-to-server card payments.","includeFiles":["**/payin/**"]},{"title":"Payout","description":"Sending money: the payout life cycle, queued payouts, creating and cancelling a payout, rails, beneficiaries, purpose codes, and the action required state.","includeFiles":["**/payout/**"]},{"title":"Multi-currency accounts","description":"Holding money: balances, balance conversion, adding balance, withdrawing balance, and the settlement holiday calendar - the Indian and US bank and FX holidays on which settlement to the merchant's bank account, and money movement generally, is affected.","includeFiles":["**/multi-currency-account/**"]},{"title":"Verification","description":"Proving who someone is and that an account is theirs: KYC, bank account validation, and third-party verification (TPV) with the flow that verifies a payer's bank account.","includeFiles":["**/verification/**"]},{"title":"Request for Information (RFI)","description":"Responding to a compliance request for information, per object - payment link, order, payment, payout - plus compliance reviews and RFIs raised on already-successful payments.","includeFiles":["**/request-for-information/**"]},{"title":"Reports","description":"The downloadable and scheduled reports a merchant pulls from the dashboard for reconciliation, compliance and treasury: payment, subscription, settlement breakup, balance statement and KYC reports, plus scheduling one for recurring email delivery. Dashboard only - there is no reports API.","includeFiles":["**/reports/**"]},{"title":"Identity and Access Management","description":"Administering who can use a merchant account: one set of credentials across multiple MIDs, switching between them without logging out, the Admin / Member / Sales Partner roles and what each may see and do, and inviting a new member. Dashboard only - there is no users, roles or invites API.","includeFiles":["**/access-management/**"]},{"title":"API reference","description":"Endpoint reference generated from the Glomopay OpenAPI description.","includeFiles":["**/api-reference/**"]},{"title":"Developer resources","description":"What every integration touches and no single product owns: auth, errors, pagination, rate limits, webhooks, versioning, API validations, security, supported countries, quotes, and the client SDKs - React Native, Flutter, Android and the Unified Web SDK, with per-version references and changelogs. Reports and Identity and Access Management used to be listed here and are now their own sections.","includeFiles":["**/platform/**"]}]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"sdk","__idx":0},"children":["SDK"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["GlomoPay provides native SDKs for mobile platforms to help you embed payment checkout flows directly into your applications with minimal setup."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"available-sdks","__idx":1},"children":["Available SDKs"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"react-native-sdk","__idx":2},"children":["React Native SDK"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The React Native SDK enables you to embed GlomoPay payment checkout flows into your React Native application. It renders a secure WebView-based checkout and auto-detects the correct flow (LRS, standard, or subscriptions) based on your order."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Supported Payment Flows:"]}," LRS, Standard (Cards, Bank Transfer, Pay via Bank), Subscriptions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Platforms:"]}," iOS and Android"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Language:"]}," TypeScript / JavaScript"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Latest Version:"]}," v5.0.0 (",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/react-native-sdk/changelog"},"children":["Changelog"]},")"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/react-native-sdk"},"children":["View React Native SDK →"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"flutter-sdk","__idx":3},"children":["Flutter SDK"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Flutter SDK provides a native widget (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GlomoPayCheckout"]},") for embedding GlomoPay checkout into Flutter applications. It supports multiple payment flows and handles device security compliance out of the box."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Supported Payment Flows:"]}," LRS (Liberalised Remittance Scheme), Standard (Cards, Bank Transfer), Subscriptions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Platforms:"]}," iOS and Android"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Language:"]}," Dart"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Latest Version:"]}," v2.0.0 (",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/flutter-sdk/changelog"},"children":["Changelog"]},")"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/flutter-sdk"},"children":["View Flutter SDK →"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"android-sdk","__idx":4},"children":["Android SDK"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Android SDK enables you to embed GlomoPay payment checkout flows into your native Android applications. It renders a secure WebView-based checkout and auto-detects the correct flow (LRS, Standard, or Subscriptions) based on your order."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Supported Payment Flows:"]}," LRS, Standard (Cards), Subscriptions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Platforms:"]}," Android (API 24+)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Language:"]}," Kotlin"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Latest Version:"]}," v1.0.0 (",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/android-sdk/changelog"},"children":["Changelog"]},")"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/android-sdk"},"children":["View Android SDK →"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"unified-sdk-web","__idx":5},"children":["Unified SDK (Web)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Unified SDK enables you to embed the GlomoPay checkout flow directly into your web application. It supports standard payments, LRS, subscriptions, and payment sessions with automatic flow detection."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Supported Payment Flows:"]}," Standard, LRS, Subscriptions, Payment Sessions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Platforms:"]}," Web (all modern browsers)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Language:"]}," JavaScript / TypeScript"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/unified-sdk"},"children":["View Unified SDK (Web) →"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"payment-flow-support","__idx":6},"children":["Payment Flow Support"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Payment Flow"},"children":["Payment Flow"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"React Native SDK"},"children":["React Native SDK"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Flutter SDK"},"children":["Flutter SDK"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Android SDK"},"children":["Android SDK"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Unified SDK (Web)"},"children":["Unified SDK (Web)"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["LRS (Liberalised Remittance Scheme)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Standard Payments (Cards, Bank Transfer, Pay via Bank)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["(Cards only)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Subscriptions"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment Sessions"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["❌"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["❌"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["❌"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-it-works","__idx":7},"children":["How It Works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All GlomoPay SDKs follow the same integration pattern:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create an order"]}," on your backend using the GlomoPay API to obtain an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order_id"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Initialise the SDK"]}," in your app with your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["publicKey"]}," and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order_id"]}," (or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["subscriptionId"]}," for subscription payments)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Start the checkout"]}," by calling the SDK's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["start()"]}," method — this launches the secure checkout UI."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Handle callbacks"]}," for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onPaymentSuccess"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onPaymentFailure"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onPaymentTerminate"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onSdkError"]}," to update your app state and backend accordingly."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"security","__idx":8},"children":["Security"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All SDKs are built with the following security measures:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["WebView-based checkout"]}," — payment data is handled within a secure, isolated WebView and never passes through your application code."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Signature verification"]}," — every payment success or failure callback includes a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["signature"]}," field for backend verification."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Device compliance checks"]}," — the SDKs detect rooted (Android) or jailbroken (iOS) devices and block checkout initiation on non-compliant devices, in line with regulatory requirements."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Mock mode isolation"]}," — using a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["test_"]}," public key automatically enables mock mode, ensuring test transactions are completely isolated from live payments."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"choosing-the-right-sdk","__idx":9},"children":["Choosing the Right SDK"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If you are building a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["web application"]},", use the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/unified-sdk"},"children":["Unified SDK (Web)"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If your app is built with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["React Native"]},", use the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/react-native-sdk"},"children":["React Native SDK"]},". Supports LRS, standard payments, and subscriptions."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If your app is built with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Flutter"]},", the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/flutter-sdk"},"children":["Flutter SDK"]}," supports LRS, standard payments, and subscriptions."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If you are building a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["native Android"]}," app (Kotlin/Java), use the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/platform/sdk/android-sdk"},"children":["Android SDK"]},". Supports LRS, standard payments, and subscriptions."]}]}]},"headings":[{"value":"SDK","id":"sdk","depth":1},{"value":"Available SDKs","id":"available-sdks","depth":2},{"value":"React Native SDK","id":"react-native-sdk","depth":3},{"value":"Flutter SDK","id":"flutter-sdk","depth":3},{"value":"Android SDK","id":"android-sdk","depth":3},{"value":"Unified SDK (Web)","id":"unified-sdk-web","depth":3},{"value":"Payment Flow Support","id":"payment-flow-support","depth":2},{"value":"How It Works","id":"how-it-works","depth":2},{"value":"Security","id":"security","depth":2},{"value":"Choosing the Right SDK","id":"choosing-the-right-sdk","depth":2}],"frontmatter":{"title":"SDK","seo":{"title":"SDK"}},"lastModified":"2026-09-23T09:02:50.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/platform/sdk","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}