{"id":15844812,"url":"https://github.com/wcoder/worldpay-access-checkout-ios-xamarin","last_synced_at":"2025-04-01T17:45:27.855Z","repository":{"id":144132418,"uuid":"232406996","full_name":"wcoder/worldpay-access-checkout-ios-xamarin","owner":"wcoder","description":"Worldpay Access Checkout SDK for Xamarin.iOS. Port of","archived":false,"fork":false,"pushed_at":"2020-02-22T21:43:57.000Z","size":1145,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T07:46:59.948Z","etag":null,"topics":["csharp-library","ios","payments","worldpay","xamarin","xamarin-ios-binding"],"latest_commit_sha":null,"homepage":"https://github.com/Worldpay/access-checkout-ios","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-07T20:03:41.000Z","updated_at":"2020-07-17T17:00:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"fdf578b8-24b4-4056-b490-4391a1ee5205","html_url":"https://github.com/wcoder/worldpay-access-checkout-ios-xamarin","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcoder%2Fworldpay-access-checkout-ios-xamarin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcoder%2Fworldpay-access-checkout-ios-xamarin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcoder%2Fworldpay-access-checkout-ios-xamarin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wcoder%2Fworldpay-access-checkout-ios-xamarin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wcoder","download_url":"https://codeload.github.com/wcoder/worldpay-access-checkout-ios-xamarin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246682789,"owners_count":20817132,"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":["csharp-library","ios","payments","worldpay","xamarin","xamarin-ios-binding"],"created_at":"2024-10-05T17:40:56.084Z","updated_at":"2025-04-01T17:45:27.818Z","avatar_url":"https://github.com/wcoder.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Access Checkout iOS SDK\n\n![version](http://img.shields.io/badge/original-v1.2.1-brightgreen.svg?style=flat)\n[![NuGet Badge](https://buildstats.info/nuget/Xamarin.iOS.Worldpay.Access.Checkout?includePreReleases=true)](https://www.nuget.org/packages/Xamarin.iOS.Worldpay.Access.Checkout/)\n\nPort of [Worldpay/access-checkout-ios](https://github.com/Worldpay/access-checkout-ios) SDK for Xamarin.iOS.\n\nA lightweight library and sample app that generates a Worldpay session reference from payment card data.\nIt includes, optionally, custom iOS views that identifies card brands and validates payment cards and card expiry dates.\n\n## Setup\n\n#### NuGet:\n\n```\nInstall-Package Xamarin.iOS.Worldpay.Access.Checkout\n```\n\n## Integration\n\nhttps://beta.developer.worldpay.com/docs/access-worldpay/checkout/ios\n\nAlso you can see Xamarin.iOS sample [here](samples/Porting/).\n\n### Create an `AccessCheckoutClient` instance\n\n```cs\nvar baseUrl = new NSUrl(\"\u003cACCESS_CHECKOUT_BASE_URL\u003e\");\nvar accessCheckoutDiscovery = new AccessCheckoutDiscovery(baseUrl);\n\naccessCheckoutDiscovery.Discover(NSUrlSession.SharedSession, () =\u003e\n{\n    var accessCheckoutClient = new AccessCheckoutClient(accessCheckoutDiscovery, \"\u003cMERCHANT_ID\u003e\");\n\n});\n```\n\n### Submitting Form and getting `sessionState`\n\n```cs\naccessCheckoutClient.CreateSession(\n    pan: \"4444333322221111\",\n    expiryMonth: 1,\n    expiryYear: 2022,\n    cvv: \"123\",\n    NSUrlSession.SharedSession,\n    result =\u003e\n    {\n        DispatchQueue.MainQueue.DispatchAsync(() =\u003e\n        {\n            switch ((ResultStatus)result)\n            {\n                case ResultStatus.Success:\n                    // Session is returned here\n                    var session = result.Success;\n                    break;\n                case ResultStatus.Failure:\n                    // Error handling\n                    if (result.Failure is AccessCheckoutClientError accessCheckoutClientError)\n                    {\n                        switch (accessCheckoutClientError.ErrorName)\n                        {\n                            case AccessCheckoutClientErrors.BodyDoesNotMatchSchema:\n                                // Handle validation errors\n                                break;\n                            default:\n                                break;\n                        }\n                    }\n                    else\n                    {\n                        // handle other errors\n                    }\n                    break;\n            }\n        });\n    });\n```\n\nContinue: https://beta.developer.worldpay.com/docs/access-worldpay/checkout/ios/create-sessionstate-ios\n\n## Development\n\nXamarin.iOS Worldpay Checkout SDK exists in two versions:\n\n- Binding - Binding native Swift library via Objective-C to Xamarin (WIP)\n  - TODO\n- Porting - Porting Swift source code to equivalent C# code (WIP)\n  - TODO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwcoder%2Fworldpay-access-checkout-ios-xamarin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwcoder%2Fworldpay-access-checkout-ios-xamarin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwcoder%2Fworldpay-access-checkout-ios-xamarin/lists"}