{"id":23649476,"url":"https://github.com/payneteasy/payneteasyreader","last_synced_at":"2025-09-01T01:31:08.654Z","repository":{"id":19770385,"uuid":"23028517","full_name":"payneteasy/PaynetEasyReader","owner":"payneteasy","description":"PaynetEasyReader SDK provides easy integration with mPOS readers in mobile apps. Miura (Shuttle, M010) and Spire (spm2, spm20)","archived":false,"fork":false,"pushed_at":"2024-06-28T21:24:09.000Z","size":74569,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-08-03T01:06:51.010Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://payneteasy.com","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/payneteasy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2014-08-16T22:35:52.000Z","updated_at":"2024-06-28T21:24:13.000Z","dependencies_parsed_at":"2024-06-29T02:46:10.188Z","dependency_job_id":null,"html_url":"https://github.com/payneteasy/PaynetEasyReader","commit_stats":null,"previous_names":[],"tags_count":77,"template":false,"template_full_name":null,"purl":"pkg:github/payneteasy/PaynetEasyReader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/payneteasy%2FPaynetEasyReader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/payneteasy%2FPaynetEasyReader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/payneteasy%2FPaynetEasyReader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/payneteasy%2FPaynetEasyReader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/payneteasy","download_url":"https://codeload.github.com/payneteasy/PaynetEasyReader/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/payneteasy%2FPaynetEasyReader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273064108,"owners_count":25039259,"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-31T02:00:09.071Z","response_time":79,"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":[],"created_at":"2024-12-28T15:38:20.395Z","updated_at":"2025-09-01T01:31:07.762Z","avatar_url":"https://github.com/payneteasy.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"PaynetEasyReader SDK for iOS\n============================\n\nPaynetEasyReader SDK provides a fast and easy integration with mPOS terminals in your mobile apps.\n\nSupported mPOS\n--------------\n\n* Spire Payments\n * SPm2\n * SPm20\n * Miura Systems\n * Miura Shuttle (M006)\n * Miura M010\n * Miura M007\n * Verifone Vx820\n * PAX SP30, D200\n\nGet Started\n------------\n\nThe PaynetEasyReader SDK includes header files and a single static library. We'll walk you through the integration and the usage.\n\n### Requirements\n\n*   Supports target deployment of iOS version 7.0+ and instruction set armv7+ (including 64-bit), x86_64, i386 (for emulator).\n\n### Add the SDK to your project\n\nAdd to your Podfile\n```\npod \"PaynetEasyReader\", :git =\u003e 'git@github.com:evsinev/PaynetEasyReader.git', :tag =\u003e '$VERSION'\n```\nPlease change $VERSION to the latest from the https://github.com/payneteasy/PaynetEasyReader/releases\n\n### For Miura, Spire and Pax\n\nAdd to your *-Info.plist\n```xml\n\u003ckey\u003eUISupportedExternalAccessoryProtocols\u003c/key\u003e\n  \u003carray\u003e\n    \u003cstring\u003ecom.miura.shuttle\u003c/string\u003e\n    \u003cstring\u003ecom.thyron\u003c/string\u003e\n    \u003cstring\u003ecom.paxsz.ipos\u003c/string\u003e    \n  \u003c/array\u003e\n```\n\n### Sample Code\n\nImplement the PNEReaderPresenter protocol \n```obj-c\n\n- (void)stateChanged:(PNEReaderEvent *)aEvent {\n   // displays reader status\n   // see an example at https://github.com/payneteasy/ReaderExample/blob/master/ReaderExample/PaymentModule/PaymentPresenter.m#L69\n}\n\n- (PNEProcessingContinuation *)onCard:(PNECard *)aCard {\n    // provide payneteasy.com account info\n    PNEProcessingContinuation * continuation = [PNEProcessingContinuation\n            continuationWithBaseUrl:@\"https://sandbox.payneteasy.com/paynet\"\n                      merchantLogin:MERCHANT_LOGIN\n                        merchantKey:MERCHANT_KEY\n                 merchantEndPointId:END_POINT_ID\n                 orderInvoiceNumber:[[NSUUID UUID] UUIDString]];\n\n    return continuation;\n}\n\n- (void)onCardError:(PNECardError *)aError {\n    // deal with the error\n    // see an example at https://github.com/payneteasy/ReaderExample/blob/master/ReaderExample/PaymentModule/PaymentPresenter.m#L93\n}\n\n- (void)onProcessingEvent:(PNEProcessingEvent *)aEvent {\n    // wait for Result event\n    // see an example at https://github.com/payneteasy/ReaderExample/blob/master/ReaderExample/PaymentModule/PaymentPresenter.m#L96\n}\n\n- (PNEConfigurationContinuation *)onConfiguration {\n    return [[PNEConfigurationContinuation alloc]\n            initWithBaseUrl:@\"https://paynet-qa.clubber.me/paynet/rki\"\n              merchantLogin:_payment.merchantLogin\n                merchantKey:_payment.merchantKey\n         merchantEndPointId:_payment.merchantEndPointId\n               merchantName:_payment.merchantName\n    ];\n}\n```\n\nStarts Reader Manager\n\n```obj-c\nPNEReaderFactory *factory = [[PNEReaderFactory alloc] init];\nPNEReaderInfo *reader = [PNEReaderInfo infoWithType:PNEReaderType_MIURA_OR_SPIRE];\n// Note: manager must be a property or a field or a static local variable, to prevent an elimination\nmanager = [factory createManager:reader\n                          amount:[NSDecimalNumber decimalNumberWithString:@\"1.00\"]\n                        currency:@\"RUB\"\n                       presenter:self];\n[manager start];\n```\n\n```obj-c\nPNEReaderFactory *factory = [[PNEReaderFactory alloc] init];\nPNEReaderInfo *reader = [PNEReaderInfo infoWithType:PNEReaderType_INPAS address:@\"10.0.0.100:27015\"];\nmanager = [factory createManager:reader\n                          amount:[NSDecimalNumber decimalNumberWithString:@\"1.00\"]\n                        currency:@\"RUB\"\n                       presenter:self];\n[manager start];\n```\n\nCancel Payment\n\n```obj-c\nPNEReaderFactory *factory = [[PNEReaderFactory alloc] init];\nPNEReaderInfo *reader = [PNEReaderInfo infoWithType:PNEReaderType_INPAS address:@\"10.0.0.100:27015\"];\nmanager = [factory createManager:reader\n                          amount:[NSDecimalNumber decimalNumberWithString:@\"1.00\"]\n                        currency:@\"RUB\",\n                             rrn:@\"1234567890\",\n                       presenter:self];\n[manager cancelPayment];\n```\n\nReturn Payment\n\n```obj-c\nPNEReaderFactory *factory = [[PNEReaderFactory alloc] init];\nPNEReaderInfo *reader = [PNEReaderInfo infoWithType:PNEReaderType_INPAS address:@\"10.0.0.100:27015\"];\nmanager = [factory createManager:reader\n                          amount:[NSDecimalNumber decimalNumberWithString:@\"1.00\"]\n                        currency:@\"RUB\",\n                             rrn:@\"1234567890\",\n                       presenter:self];\n[manager returnPayment];\n```\n\nReconciliation\n\n```obj-c\nPNEReaderFactory *factory = [[PNEReaderFactory alloc] init];\nPNEReaderInfo *reader = [PNEReaderInfo infoWithType:PNEReaderType_INPAS address:@\"10.0.0.100:27015\"];\nmanager = [factory createManager:reader presenter:self];\n[manager reconciliation];\n```\n\n## Examples\n\n* Objective-c with Cocoapods - https://github.com/payneteasy/ReaderExample\n* Swift with Cocoapods - https://github.com/payneteasy/ReaderExampleSwift\n* Swift with Carthage  - https://github.com/payneteasy/ReaderExampleSwiftCarthage\n\n## Sign up for your account \n\n* Please contact info@payneteasy.com for your merchant account.\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpayneteasy%2Fpayneteasyreader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpayneteasy%2Fpayneteasyreader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpayneteasy%2Fpayneteasyreader/lists"}