{"id":15991684,"url":"https://github.com/wcoder/worldpay-access-checkout-android-xamarin","last_synced_at":"2025-08-02T09:12:13.102Z","repository":{"id":144133770,"uuid":"232390385","full_name":"wcoder/worldpay-access-checkout-android-xamarin","owner":"wcoder","description":"Worldpay Access Checkout SDK for Xamarin.Android. Port of","archived":false,"fork":false,"pushed_at":"2020-02-20T21:42:20.000Z","size":267,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-26T15:03:00.037Z","etag":null,"topics":["android","csharp-library","payments","worldpay","xamarin","xamarin-android-binding"],"latest_commit_sha":null,"homepage":"https://github.com/Worldpay/access-checkout-android","language":"C#","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/wcoder.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}},"created_at":"2020-01-07T18:33:00.000Z","updated_at":"2020-02-20T21:42:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"439ba83e-e0f0-4aad-9602-0b10484ae02e","html_url":"https://github.com/wcoder/worldpay-access-checkout-android-xamarin","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"939e8106217e2b71a7604ead6e976caa3100ba32"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/wcoder/worldpay-access-checkout-android-xamarin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcoder%2Fworldpay-access-checkout-android-xamarin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcoder%2Fworldpay-access-checkout-android-xamarin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcoder%2Fworldpay-access-checkout-android-xamarin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcoder%2Fworldpay-access-checkout-android-xamarin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wcoder","download_url":"https://codeload.github.com/wcoder/worldpay-access-checkout-android-xamarin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcoder%2Fworldpay-access-checkout-android-xamarin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268177620,"owners_count":24208383,"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","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["android","csharp-library","payments","worldpay","xamarin","xamarin-android-binding"],"created_at":"2024-10-08T06:02:01.266Z","updated_at":"2025-08-02T09:12:13.061Z","avatar_url":"https://github.com/wcoder.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Access Checkout Android SDK\n\n![version](http://img.shields.io/badge/original-v1.2.0-brightgreen.svg?style=flat)\n[![NuGet Badge](https://buildstats.info/nuget/Xamarin.Droid.Worldpay.Access.Checkout?includePreReleases=true)](https://www.nuget.org/packages/Xamarin.Droid.Worldpay.Access.Checkout/)\n\nPort of [Worldpay/access-checkout-android](https://github.com/Worldpay/access-checkout-android) SDK for Xamarin.Android.\n\nA lightweight library and sample app that generates a Worldpay session reference from payment card data.\nIt includes, optionally, custom Android views that identifies card brands and validates payment cards and card expiry dates.\n\n\u003cimg width=\"300\" alt=\"app02\" src=https://github.com/Worldpay/access-checkout-android/blob/master/images/sample.png\u003e\n\n## Setup\n\n#### NuGet:\n\n```\nInstall-Package Xamarin.Droid.Worldpay.Access.Checkout\n```\n\n## Integration\n\n### Basics\n\nThe main step required in order to use the Access Checkout SDK is the initialisation of an instance of `AccessCheckoutClient`. \nInteraction with this class will allow developers to obtain a session state from Access Worldpay services. \n\nThis can be achieved by invoking the `Init()` method of this class and by providing the required dependencies, more details provided in the following sections.\n\n`AccessCheckoutCard` is the coordinator class between the view inputs, the (optional) validators of those inputs, and the callback of those validation results to an implementation of `CardListener`\n\nThe SDK is fully customizable and provides default card views that implement the required interfaces out of the box. For advanced styling, it is possible to override some of the default implementations or to provide fully customized implementations of the required interfaces. The interfaces are described at the end of the section.\n\nFirstly, a layout configuration file with the card views is defined as below:\n\n```xml\n\u003ccom.worldpay.access.checkout.views.PANLayout\n    android:id=\"@+id/panView\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    .../\u003e\n\u003ccom.worldpay.access.checkout.views.CardExpiryTextLayout\n    android:id=\"@+id/cardExpiryText\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    .../\u003e\n\u003ccom.worldpay.access.checkout.views.CardCVVText\n    android:id=\"@+id/cardCVVText\"\n    android:layout_width=\"wrap_content\"\n    android:layout_height=\"wrap_content\"\n    android:hint=\"CVV\"\n    .../\u003e\n```\n\n// TODO\n\n#### Initialisation parameters\n\n- Base API URL: Base URL for Access Worldpay services\n- Merchant ID: Your registered Access Worldpay Merchant ID\n- SessionResponseListener:  Reference to the listener which will receive the session response (or any service/API errors)\n- Context:                  [Android Context](https://developer.android.com/reference/android/content/Context)\n- LifecycleOwner:           [Android LifecycleOwner](https://developer.android.com/reference/android/arch/lifecycle/LifecycleOwner)\n\n### Validation\n\nIn order to take advantage of the in-built validation on the card fields, there are additional setup steps.\n\n\n// TODO\n\n#### Receiving the Session State \n\nWhen the request for a session state starts, the `ISessionResponseListener` is notified via the  `OnRequestStarted()` callback method. \n\nWhen a result becomes available, the implementing class of `ISessionResponseListener` will receive the callback holding the session state or an exception describing the error.\n\n`OnRequestFinished(srting sessionState, AccessCheckoutException error)`\n\n#### When things go wrong: `AccessCheckoutException`\n\nIf there is a problem, `ISessionResponseListener` will be notified through the same `OnRequestFinished(srting sessionState, AccessCheckoutException error)` callback, this time with a `null` sessionState and non-null error.\n\n\n// TODO\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwcoder%2Fworldpay-access-checkout-android-xamarin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwcoder%2Fworldpay-access-checkout-android-xamarin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwcoder%2Fworldpay-access-checkout-android-xamarin/lists"}