{"id":29391539,"url":"https://github.com/paymentwall/android-gameplay-sdk","last_synced_at":"2025-07-10T09:09:25.975Z","repository":{"id":302803944,"uuid":"1011792980","full_name":"paymentwall/android-gameplay-sdk","owner":"paymentwall","description":"Payment SDK for Android Game","archived":false,"fork":false,"pushed_at":"2025-07-04T09:52:18.000Z","size":64,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-04T10:35:53.656Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paymentwall.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-01T10:50:44.000Z","updated_at":"2025-07-04T09:52:22.000Z","dependencies_parsed_at":"2025-07-04T10:36:47.295Z","dependency_job_id":"d9a3f308-cc54-4c2d-b9a5-f6dfd970ac24","html_url":"https://github.com/paymentwall/android-gameplay-sdk","commit_stats":null,"previous_names":["paymentwall/android-gameplay-sdk"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/paymentwall/android-gameplay-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paymentwall%2Fandroid-gameplay-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paymentwall%2Fandroid-gameplay-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paymentwall%2Fandroid-gameplay-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paymentwall%2Fandroid-gameplay-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paymentwall","download_url":"https://codeload.github.com/paymentwall/android-gameplay-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paymentwall%2Fandroid-gameplay-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264555347,"owners_count":23627322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-10T09:09:22.017Z","updated_at":"2025-07-10T09:09:25.970Z","avatar_url":"https://github.com/paymentwall.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Android GamePay SDK\n\n## Table of Contents\n* [Introduction](#introduction)\n* [Features](#features)\n* [Requirements](#requirements)\n* [Installation](#installation)\n* [How to run Demo app](#how-to-run-demo-app)\n* [Latest update](#latest-update)\n* [Credentials](#credentials)\n\n## INTRODUCTION\n\nDo you want to accept payments from mobile users in different countries, different payment system by writing just few of code lines? GamePay SDK is a global mobile payment gateway that accepts payments from more than 200 countries with 100+ alternative payment options. We now provide SDK for Android which will become a native part of your application, it eliminates the necessity to open a web browser for payments. Less steps, faster process, there's no doubt your conversion rate will get boost! All you have to do is to integrate the framework into your project to start accepting in-app payment. It is quick and easy! We'll guide you through the process here.\n\n## FEATURES\n\n* Easy integration of payment gateway\n* Secure payment processing\n* Fully compatible with Android applications\n* Example project provided for easy setup and usage\n\n## REQUIREMENTS\n\nAndroid Studio 4.0+, Android API Level 24+ (Android 5.0+)\n\n## INSTALLATION\n\nYou can integrate the SDK into your Android app in three simple ways:\n\n### Gradle (Recommended):\nAdd the following dependency to your `app/build.gradle` file:\n\n```gradle\ndependencies {\n    implementation 'com.terminal3:gamepaysdk:1.0.1'\n}\n```\n\n\n\n## HOW TO RUN DEMO APP\n\n1. **Setup Project Credentials**: To run Demo app, you need to setup your server and project keys. Obtain these Paymentwall API credentials in the application settings of your Merchant Account at Paymentwall.com\n```kotlin\nobject Constants {\n    // Endpoint on the merchant's server that make a charge requests to Brick API.\n    const val MERCHANT_CHARGE_ENDPOINT = \"https://merchant-server.com/api/charge\"\n\n    // Secure URL to which the 3DS widget will redirect after successful authentication.\n    // After redirection, the merchant should call MERCHANT_CHARGE_ENDPOINT again with the `token` to finalize the charge.\n    const val THREE_DS_RETURN_URL = \"https://merchant-server.com/return-url\"\n\n    // production test\n    const val PW_PROJECT_KEY = \"\";\n    const val PW_SECRET_KEY = \"\"; // Should be get from merchant's server\n...\n}\n```\n\n2. **Run the Demo**:\n   * Select your device/emulator\n   * Click Run button\n\n## LATEST UPDATE\n\nPlease check the demo app and the docs to see how to update your current code.\n\n**Version 1.0.1 Features:**\n* Initial release with core payment functionality\n* Brick payment method support\n* Automatic 3D Secure handling\n* Comprehensive error handling\n\n## CREDENTIALS\n\nSDK integration requires a project keys. Obtain these Paymentwall API credentials in the application settings of your Merchant Account at Paymentwall.com\n\n### Required Credentials:\n- **Project Key**: Your public project identifier\n- **Secret Key**: Your private project secret (for server-side operations)\n\n### How to Get Credentials:\n1. Log in to your Paymentwall Merchant Account\n2. Go to Application Settings\n3. Find your project credentials\n4. Copy the Project Key and Secret Key\n\n## CORE SDK INTEGRATION\n\nFor detailed integration instructions, please refer to our comprehensive documentation:\n\n### Quick Start Guide:\n\n1. **Implement Event Handler**:\n```kotlin\nclass MainActivityViewModel : ViewModel(), IGPAPIEventHandler {\n    init {\n        GPApi.setEventHandler(this)\n    }\n\n    override fun onResp(resp: BaseResp?) {\n        when (resp?.resultCode) {\n            ResponseCode.SUCCESSFUL -\u003e {\n                isProcessing = false\n                paymentStatus = PaymentStatus.Success(\"Payment completed successfully!\")\n            }\n\n            ResponseCode.FAILED -\u003e {\n                isProcessing = false\n                paymentStatus = PaymentStatus.Failed(\"Payment failed!\")\n            }\n\n            ResponseCode.CANCEL -\u003e {\n                isProcessing = false\n                paymentStatus = PaymentStatus.Cancelled(\"Payment cancelled!\")\n            }\n\n            ResponseCode.ERROR -\u003e {\n                isProcessing = false\n                paymentStatus = PaymentStatus.Unknown(\"An error occurred!\")\n            }\n\n            ResponseCode.MERCHANT_PROCESSING -\u003e {\n                isProcessing = false\n\n                val serviceType = resp.data.getStringExtra(GPApi.KEY_SERVICE_TYPE) ?: \"\"\n\n                if (GPApi.SERVICE_TYPE_BRICK == serviceType) {\n                    val email = resp.data.getStringExtra(GPApi.KEY_BRICK_EMAIL) ?: \"\"\n                    val token = resp.data.getStringExtra(GPApi.KEY_BRICK_TOKEN) ?: \"\"\n\n                    // Process the payment with current charge details\n                    if (token.isNotEmpty() \u0026\u0026 email.isNotEmpty()) {\n                        processPayment(token, email)\n                    } else {\n                        paymentStatus = PaymentStatus.Unknown(\"Invalid payment data received\")\n                    }\n                }\n            }\n        }\n    }\n}\n\n```\n\n2. **Create a payment request**:\n```kotlin\nclass MainActivityViewModel : AppCompatActivity(), IGPAPIEventHandler {\n    fun createPaymentRequest(): UnifiedRequest {\n        val request = UnifiedRequest()\n        request.pwProjectKey = Constants.PW_PROJECT_KEY\n        request.pwSecretKey = Constants.PW_SECRET_KEY\n\n        request.amount = chargeAmount\n        request.currency = chargeCurrency\n        request.userId = uid\n        request.userEmail = Constants.USER_EMAIL\n        request.itemId = Constants.ITEM_GEM_ID\n        request.itemName = Constants.ITEM_NAME\n        request.merchantName = Constants.MERCHANT_NAME\n        request.timeout = 30000\n        request.signVersion = 3\n\n        request.addBrick()\n        request.enableFooter()\n        request.addGooglePay()\n\n        request.addPayAlto()\n        request.addPayAltoParams(Const.P.WIDGET, \"t3_1\")\n        request.addPayAltoParams(Const.P.COUNTRY_CODE, country)\n\n        return request\n    }\n}\n```\n\n3. **Start Payment**:\n```kotlin\nclass MainActivity : ComponentActivity() {\n    private fun createPaymentRequest() {\n        val request = vm.createPaymentRequest()\n        GPApi.sendReq(this, request)\n    }\n}\n```\n\n---\n\n## Support\n\nFor technical support and questions:\n- 📧 Email: integration@terminal3.com\n- 📖 Documentation: [Integration Guide](https://docs.terminal3.com/integration/sdks/game-pay-android)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaymentwall%2Fandroid-gameplay-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaymentwall%2Fandroid-gameplay-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaymentwall%2Fandroid-gameplay-sdk/lists"}