izettle / sdk-ios Goto Github PK
View Code? Open in Web Editor NEWAdd card payments from Zettle to your own app
Home Page: https://developer.zettle.com/docs/ios-sdk
License: Other
Add card payments from Zettle to your own app
Home Page: https://developer.zettle.com/docs/ios-sdk
License: Other
When i try to build the xcode project i get this:
file is universal (4 slices) but does not contain a(n) armv7s slice: iZettleSDK.framework/iZettleSDK file 'iZettleSDK.framework/iZettleSDK' for architecture armv7s
The same with arm64.
What's wrong?
I am integrating izettle SDK in one of POS Apps which and the payment gateway integration is the most important part of the iOS Application. I was able to use the SDK well enough to fetch from izettle SDK & store in our remote server database while making manual payment entry via card which i have tested using demo account of iZettle.
I have considered all variables we are getting from izettle sdk while payment Card reader chip payment/manual entry & card reader swipe payments.
I am successfully fetching the information and saving in our database the values by using the method :
(void)chargeAmount:(NSDecimalNumber *)amount
currency:(NSString *)currency
reference:(NSString *)reference
presentFromViewController:(UIViewController *)viewController
completion:(iZettleSDKOperationCompletion)completion;
and using the @Property from izettle sdk well and its working for manual payment which I have tested using demo account.
(property provided by izettle sdk in iZettleSDKPaymentInfo provide by izettle sdk)
But, the only issue we are facing is when we are using Card reader chip payment & card reader swipe payments, its not fetching the information and saving the details in our DB which is working fine for manual entry payment (tested successfully using izettle demo account for manual entry payment) while this is the only method provided by izettle to charge amount.
App builds ok but as soon as i call
[[iZettleSDK shared] startWithAPIKey:@"APPKEY"];
i get
+[IZFuture repeatFunction:]: unrecognized selector sent to class 0x100992910
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[IZFuture repeatFunction:]: unrecognized selector sent to class 0x100992910'
*** First throw call stack:
(0x183d85900 0x1833f3f80 0x183d8c514 0x183d895b8 0x183c8d68c 0x1006e6ffc 0x1833f60cc 0x1833f6e30 0x120009d3c 0x120018960 0x120017b20 0x120017bd4 0x12000a08c 0x12000e0fc 0x120009044)
libc++abi.dylib: terminating with uncaught exception of type NSException
can you give me any help with this please.
It seems the current framework does not support BITCODE as expected in Xcode 7.0.
Is it possible for you to add it soon?
Thanks in advance.
Hi, I use as reference string a list of order id's.
Every id is 6-digit number:
"order_ids" = (
108719,
108720,
108721,
108722,
108723,
108724
);
And if there are more that 5 orders - i get app crash:
*** Terminating app due to uncaught exception 'iZettleSDKException', reason: 'Reference exceeded max length (128)'
Hello, I got random crash using iZettleSDK (1.1.1)
version of iZettle SDK
[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[1]
Thread : Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x26d0d85b __exceptionPreprocess
1 libobjc.A.dylib 0x38752dff objc_exception_throw
2 CoreFoundation 0x26c2671d -[__NSPlaceholderArray initWithObjects:count:]
3 CoreFoundation 0x26c30935 +[NSArray arrayWithObjects:count:]
4 Inventorum 0x6e5dad __59-[MiuraReaderQueue initialPayloadForOperation:basePayload:]_block_invoke_3 (MiuraReader.m:546)
5 Inventorum 0x75b5c3 __28-[IZFuture(Operations) then]_block_invoke_2 (IZFuture.m:243)
6 Inventorum 0x75af43 __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:187)
7 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
8 Inventorum 0x75a167 -[IZTask setCompletion:] (IZFuture.m:78)
9 Inventorum 0x75aaf7 -[IZFuture(Operations) _thenComplete:] (IZFuture.m:185)
10 Inventorum 0x75b54d __28-[IZFuture(Operations) then]_block_invoke (IZFuture.m:239)
11 Inventorum 0x6e5c6d __59-[MiuraReaderQueue initialPayloadForOperation:basePayload:]_block_invoke_2 (MiuraReader.m:544)
12 Inventorum 0x75b5c3 __28-[IZFuture(Operations) then]_block_invoke_2 (IZFuture.m:243)
13 Inventorum 0x75af43 __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:187)
14 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
15 Inventorum 0x75a167 -[IZTask setCompletion:] (IZFuture.m:78)
16 Inventorum 0x75aaf7 -[IZFuture(Operations) _thenComplete:] (IZFuture.m:185)
17 Inventorum 0x75b54d __28-[IZFuture(Operations) then]_block_invoke (IZFuture.m:239)
18 Inventorum 0x6e5b93 __59-[MiuraReaderQueue initialPayloadForOperation:basePayload:]_block_invoke441 (MiuraReader.m:543)
19 Inventorum 0x75b5c3 __28-[IZFuture(Operations) then]_block_invoke_2 (IZFuture.m:243)
20 Inventorum 0x75af43 __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:187)
21 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
22 Inventorum 0x75a167 -[IZTask setCompletion:] (IZFuture.m:78)
23 Inventorum 0x75aaf7 -[IZFuture(Operations) _thenComplete:] (IZFuture.m:185)
24 Inventorum 0x75b54d __28-[IZFuture(Operations) then]_block_invoke (IZFuture.m:239)
25 Inventorum 0x6e579f -[MiuraReaderQueue initialPayloadForOperation:basePayload:] (MiuraReader.m:542)
26 Inventorum 0x709f09 __81-[CardReaderQueue(Operations) performBackendOperation:basePayload:resultHandler:]_block_invoke_3 (CardReader+Operations.m:170)
27 Inventorum 0x711287 __32-[IZFutureQueue executeNextItem]_block_invoke (IZFuture+Utilities.m:518)
28 Inventorum 0x71120b -[IZFutureQueue executeNextItem] (IZFuture+Utilities.m:539)
29 Inventorum 0x711941 -[IZFutureQueue executeFunction:] (IZFuture+Utilities.m:574)
30 Inventorum 0x709e2b __81-[CardReaderQueue(Operations) performBackendOperation:basePayload:resultHandler:]_block_invoke_2 (CardReader+Operations.m:164)
31 Inventorum 0x71206f __29-[IZFutureQueue executeBatch]_block_invoke_2 (IZFuture+Utilities.m:593)
32 Inventorum 0x711287 __32-[IZFutureQueue executeNextItem]_block_invoke (IZFuture+Utilities.m:518)
33 Inventorum 0x71120b -[IZFutureQueue executeNextItem] (IZFuture+Utilities.m:539)
34 Inventorum 0x711941 -[IZFutureQueue executeFunction:] (IZFuture+Utilities.m:574)
35 Inventorum 0x711e63 __29-[IZFutureQueue executeBatch]_block_invoke (IZFuture+Utilities.m:590)
36 Inventorum 0x709d83 __81-[CardReaderQueue(Operations) performBackendOperation:basePayload:resultHandler:]_block_invoke (CardReader+Operations.m:163)
37 Inventorum 0x75b5c3 __28-[IZFuture(Operations) then]_block_invoke_2 (IZFuture.m:243)
38 Inventorum 0x75af43 __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:187)
39 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
40 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
41 Inventorum 0x70d663 -[IZTask(Utilities) complete:onQueue:] (IZFuture+Utilities.m:20)
42 Inventorum 0x75cd5b __28+[IZFuture(Operations) all:]_block_invoke215 (IZFuture.m:397)
43 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
44 Inventorum 0x70d663 -[IZTask(Utilities) complete:onQueue:] (IZFuture+Utilities.m:20)
45 Inventorum 0x710faf -[IZFutureQueue executeEmptyBlocksIfEmpty] (IZFuture+Utilities.m:501)
46 Inventorum 0x71167f __32-[IZFutureQueue executeNextItem]_block_invoke444 (IZFuture+Utilities.m:532)
47 Inventorum 0x75be59 __31-[IZFuture(Operations) finally]_block_invoke174 (IZFuture.m:302)
48 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
49 Inventorum 0x70d785 -[IZTask(Utilities) complete:orAbort:] (IZFuture+Utilities.m:34)
50 Inventorum 0x75b15f __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:201)
51 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
52 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
53 Inventorum 0x75be7d __31-[IZFuture(Operations) finally]_block_invoke174 (IZFuture.m:303)
54 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
55 Inventorum 0x75b283 __38-[IZFuture(Operations) _thenComplete:]_block_invoke120 (IZFuture.m:205)
56 Inventorum 0x75a167 -[IZTask setCompletion:] (IZFuture.m:78)
57 Inventorum 0x75b0ab __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:204)
58 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
59 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
60 Inventorum 0x75b283 __38-[IZFuture(Operations) _thenComplete:]_block_invoke120 (IZFuture.m:205)
61 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
62 Inventorum 0x70d785 -[IZTask(Utilities) complete:orAbort:] (IZFuture+Utilities.m:34)
63 Inventorum 0x75b15f __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:201)
64 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
65 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
66 Inventorum 0x70d785 -[IZTask(Utilities) complete:orAbort:] (IZFuture+Utilities.m:34)
67 Inventorum 0x75b15f __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:201)
68 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
69 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
70 Inventorum 0x70d785 -[IZTask(Utilities) complete:orAbort:] (IZFuture+Utilities.m:34)
71 Inventorum 0x75b15f __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:201)
72 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
73 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
74 Inventorum 0x70d785 -[IZTask(Utilities) complete:orAbort:] (IZFuture+Utilities.m:34)
75 Inventorum 0x75b15f __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:201)
76 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
77 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
78 Inventorum 0x7115cd __32-[IZFutureQueue executeNextItem]_block_invoke439 (IZFuture+Utilities.m:526)
79 Inventorum 0x70db2b __38-[IZFuture(Utilities) onResultOrError]_block_invoke_2 (IZFuture+Utilities.m:65)
80 Inventorum 0x75b8af __35-[IZFuture(Operations) thenOrCatch]_block_invoke_2 (IZFuture.m:270)
81 Inventorum 0x75af43 __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:187)
82 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
83 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
84 Inventorum 0x75be7d __31-[IZFuture(Operations) finally]_block_invoke174 (IZFuture.m:303)
85 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
86 Inventorum 0x75b283 __38-[IZFuture(Operations) _thenComplete:]_block_invoke120 (IZFuture.m:205)
87 Inventorum 0x75a167 -[IZTask setCompletion:] (IZFuture.m:78)
88 Inventorum 0x75b0ab __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:204)
89 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
90 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
91 Inventorum 0x75be7d __31-[IZFuture(Operations) finally]_block_invoke174 (IZFuture.m:303)
92 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
93 Inventorum 0x70d785 -[IZTask(Utilities) complete:orAbort:] (IZFuture+Utilities.m:34)
94 Inventorum 0x75b15f __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:201)
95 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
96 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
97 Inventorum 0x70d785 -[IZTask(Utilities) complete:orAbort:] (IZFuture+Utilities.m:34)
98 Inventorum 0x75b15f __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:201)
99 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
100 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
101 Inventorum 0x70d785 -[IZTask(Utilities) complete:orAbort:] (IZFuture+Utilities.m:34)
102 Inventorum 0x75b15f __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:201)
103 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
104 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
105 Inventorum 0x75d8a3 __28+[IZFuture(Operations) any:]_block_invoke237 (IZFuture.m:463)
106 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
107 Inventorum 0x75be7d __31-[IZFuture(Operations) finally]_block_invoke174 (IZFuture.m:303)
108 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
109 Inventorum 0x70d785 -[IZTask(Utilities) complete:orAbort:] (IZFuture+Utilities.m:34)
110 Inventorum 0x75b15f __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:201)
111 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
112 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
113 Inventorum 0x75be7d __31-[IZFuture(Operations) finally]_block_invoke174 (IZFuture.m:303)
114 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
115 Inventorum 0x75b283 __38-[IZFuture(Operations) _thenComplete:]_block_invoke120 (IZFuture.m:205)
116 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
117 Inventorum 0x70d785 -[IZTask(Utilities) complete:orAbort:] (IZFuture+Utilities.m:34)
118 Inventorum 0x75b15f __38-[IZFuture(Operations) _thenComplete:]_block_invoke_2 (IZFuture.m:201)
119 Inventorum 0x75ae93 __38-[IZFuture(Operations) _thenComplete:]_block_invoke114 (IZFuture.m:220)
120 Inventorum 0x75a67b -[IZTask complete:orAbort:onQueue:] (IZFuture.m:138)
121 Inventorum 0x70d635 -[IZTask(Utilities) complete:] (IZFuture+Utilities.m:16)
122 Inventorum 0x6e98c1 -[MiuraReader receivedData:] (MiuraReader.m:1091)
123 Inventorum 0x6ec539 -[MiuraReader stream:handleEvent:] (MiuraReader.m:1692)
124 ExternalAccessory 0x279fd387 -[EAInputStream _streamEventTrigger]
125 CoreFoundation 0x26cd07c7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
126 CoreFoundation 0x26cd03b7 __CFRunLoopDoSources0
127 CoreFoundation 0x26cce71f __CFRunLoopRun
128 CoreFoundation 0x26c210d9 CFRunLoopRunSpecific
129 CoreFoundation 0x26c20ecd CFRunLoopRunInMode
130 GraphicsServices 0x2fe08af9 GSEventRunModal
131 UIKit 0x2aeaa2dd UIApplicationMain
132 Inventorum 0x178fbb main (main.m:16)
133 libdyld.dylib 0x38ea0873 start
Could it be made because of wrong implementation?
We have a technical question for you guys, what exactly does the 'startWithAPIKey' method?
We have a discussion in our team when to call this method. At the launch of the application or only when you want to start a payment?
Does this make a bluetooth connection to the device?
Hello,
When I process a card payment, I receive an error message after inserting the card in the card reader.
The error massage says: "Could not connect to iZettle. An unknown error occured. Please try again later."
Im not sure if it is caused by my iZettle api key, or I could have done something wrong.
Any advice?
Regards
Hey, I just got crash report here with message Reference exceeded max length (128)
Thread : Fatal Exception: iZettleSDKException
0 CoreFoundation 0x0000000185acc22c __exceptionPreprocess + 132
1 libobjc.A.dylib 0x00000001975880e4 objc_exception_throw + 60
2 InventorumBeta 0x000000010068c9ec -[iZettleSDK _validateCompletion:] (iZettleSDK.m:278)
3 InventorumBeta 0x000000010068cfc4 -[iZettleSDK(Operations) chargeAmount:currency:reference:presentFromViewController:completion:] (iZettleSDK.m:313)
4 InventorumBeta 0x000000010015f264 __46-[IZettlePaymentType presentPaymentController]_block_invoke (IZettlePaymentType.m:38)
5 InventorumBeta 0x0000000100130258 -[CheckoutViewController paymentTypeChanged:] (CheckoutViewController.m:70)
I think this is too dramatic to crash app, maybe you could strip message in this case and log warning to console?
Could you have transactions through the API use the account's default VAT setting?
On my iZettle account the VAT setting ("MVA-instilling" in Norwegian) is set to 8%, but every transaction comes in as 0% VAT. This is troublesome because any receipt that is produced by iZettle is simply not eligible and it makes accounting troublesome when paired with transactions with correct VAT.
Is it possible to disable the logout button once a user is logged in?
Or maybe keep the button visible, but ask for the password if you want to logout?
We have a customer facing application and we don't want the customer to log out and mess up the configuration of the application.
Hi Guys,
I have an issue with integration. When i used the demo api key with demo bundle identifier which is present into your example than its working but when i change to my API key with my bundle identifier then its created a issue with below error message. I have used the below key and bundle identifier.
bundel ID: com.hikepointofsale
Key: 7DF92FDD30A42E0ED1823875FD35066F
Error Domain=com.izettle.session.error Code=2 "Payment error / Incorrect integration. Contact your app provider." UserInfo=0x7ffd5173e9e0 {izTitle=Payment error, NSLocalizedDescription=Payment error / Incorrect integration. Contact your app provider., izMessage=Incorrect integration. Contact your app provider.}
Thank you !
Regards,
Achyut
I'm setting up an application that uses iZettle, but i cannot find libiZettleSDK.a file that docs marks as dependency.
Description
On refunding payment screen, the price amount is not stable, It's moving when key-board goes away.
Steps to reproduce
Process a payment with the iZettle SDK
Start a refund
Tap on the Password box (key board shows), tap to hide the key-board(Do this 2-3 times and you should be able to see)
Note - Only happening on iOS version 8.4
iZettle : M010-PROD13-V2-3
Device Model: iPad mini 3 - A1600
OS: iOS 8.4.1
When the iZettle SDK presents its modal view controller, it hides the status bar causing the remaining application layout to jump. Is this necessary behavior?
Just trying a test transaction, Iโm receiving this error message:
Error Domain=com.izettle.transaction.error Code=6 "Could not connect to iZettle. / An unknown error occurred. Please try again later." UserInfo={izMessage=An unknown error occurred. Please try again later., NSErrorFailingURLStringKey=https://mercury.izettlepay.com/mobile/psstate, izTitle=Could not connect to iZettle., NSLocalizedDescription=Could not connect to iZettle. / An unknown error occurred. Please try again later.}
Any idea what the issue could be? I'm using the API key provided as well as the account ([email protected]). I am entering the card number manually and using the iOS simulator.
Thanks
Hi,
we are using latest iZettle library in our app, however it is using internally two file Discount and LoadingView. Our app also have two files with same name Discount and LoadingView.I have to change my file names in order to successfully compile and run.can you please prefix your class names with IZettle, for example IZettlediscount and IZettleLoadingView..
Thanks,
Alok
There is currently no way to see if there is an authenticated user. If you provide a function to call and see if there is an authenticated user with a valid session it will allow us to provide better messaging to the user with in our app and to display your views so they can log themselves in if required.
A simple return of a bool is fine but it would be 'nice to have' the email address of the current user's account returned.
Is it possible to apply a lit of several UserAccounts when this is applied? Like a whitelist of accounts (including sub-accounts)?
Hello, I'm integrating iZettle with cordova ios App, do you have any additional plug-in to link the SDK with cordova?
Regards
Our use case will have one main izettle login (which we can restrict enforceUserAccount) however in some cases, it may be more suitable for the user to login using their own account. This will make a big difference to us, in the flow of payments and reconcilliation
We would like to be returned the user account which the payment was made through, upon successful charge. We can then use this to ensure the payments are tagged against the correct account
When a refund is in-progress, the "Cancel" action is always available. Tapping on it dismisses the "Refund Payment" view despite the cancellation will be unsuccessful as far as the transaction refunding is concerned.
The user will expect the refund to have successfully been cancelled while it has not.
Expected result: The transaction is not refunded
Actual result: The transaction is refunded but the user does not know about it
Suggested fix: Disable the cancel button while refund is in progress or returns an error when cancellation failed.
Link to video
(Scenario in the video - Process payment - Start refund - Cancel - Try to refund the same transaction)
iZettle SDK: v1.2.1
Device Model: iPad Air A1474
OS: iOS 9.2
Afternoon.
We received a new API key to integrate into our app as we changed our app bundle name, however now we receive an integration error on screen. Out bundle name is com.Flex-e-card.Mpos and the API key is D08E667FADD60CA9560BA44ABD861800. Is there a way we can get into some logs to see what the error could be? Any help you could provide would be highly appreciated.
Regards,
Iain Blight
When the app run that line of code
the app crash every time this issue started about 2 or 3 weeks ago and since then I'm not able to use the reader with the app I commented that line of code to be able to use the app.
Is there any chance that v1.2.1 may be pushed to CocoaPods? v.1.2.0 is showing up as the latest version on cocoapods.org
Hi guys! After updating to version 1.2.3 enforced user logging doesn't work no more. Setting user email to this field doesn't have any effect on iZettle login screen - email field is not pre-filled
Earlier I was doing some testing with the iPhone app and iZettle and the reader was connected to my phone via Bluetooth but everytime I touched 'Pay' and 'Credit Card' it said no device connected. I then removed the device and re-paired it, but it still had the issue.
After a 2nd time of removing the device and re-pairing it worked. Any ideas?
Hi @mattiasjahnke ,
I have successfully implemented refund feature, we will facilitate our merchants with batch refunds, library is working fine.
Today i try to make payment of amount 1 using swipe feature, i was able to connect bluetooth card reader with iPad. iZettle SDK open the animated pop up with "swipe/insert card". When i swipe my magnetic strip card reader it displayed error message "Payment Cancelled".
Then i tried again 9-10 times and it opened signature form as expected.
Not a big issue but how to avoid this error ?
Thanks,
Alok
When selecting manual entry, upon tapping on any field ,the keyboard automatically dissapears.
This is also happening in Visa Payment screen, when tapping the country code.
Hi guys!
In the previous version iZettle SDK was method "- (void)userInfoCompletion:(void (^)(NSDictionary *userInfo, NSError *error))completion;" which could return userInfo. I used this info for determining status of user.
Could you help me, how I can determine status of user in actual version iZettle SDK?
What is type of currency code I should to transfer to parameter currency? I wrote "USD" and tried "$" and result was - incorrect currency.
Best regards, Andrei.
Is it possible to get a list of version 1.1.1 error codes for Error Domain=com.izettle.payment.error?
Thanks.
As per the screen shot:
I am trying to create an app store distribution provisioned build to submit on apple itunes test flight. I have previously prereleased it many times, but this time i have included iZettle latest library(last version did not create issue in archiving) in my project. i have cross check my app id services, provisioning profile services, capabilities.
Any idea is it related to external iZettle library ?
Thanks,
Alok
We have to disable bitcode in our app for it to compile.
Could you release a build with bit code enabled?
I'm working on an app is to be used by small businesses around the world, including in countries that iZettle currently doesn't support.
Is there any way to detect that iZettle doesn't support the user's currency or location via the SDK? This way I can hide the option of taking payment via iZettle from the UI.
This is a round-up of several discussions regarding iZettle user account information from the issues posted on this Github repository. This thread can be used to discuss the matter in one single place.
What's been said about user account information
- (void)userInfoCompletion:(..
that existed in the sdk beta or a simple boolean value that indicates if a user is logged in or not - (BOOL)isUserLoggedIn;
.We are looking into this, please comment if you have any other feedback regarding this feature that can help us make it as useful as possible.
The method "retrievePaymentInfoForReference" never return (never call the completion block), if nobody is logged in. (It works fine, when logged in)
Also an older version had the method "presentLoginFromViewController:" implemented, so we could force the user to login first - and be sure, the user was logged in - before calling any iZettle operations.
Is it possible for you to add the method again or maybe just add a callback to the method 'presentSettingsFromViewController'?
Hi Guys, we are using your library and after doing 3-5 payments the application crash for memory warning.
Looking at Xcode instruments there is leak when the ViewController is displayed.
Can you investigate? As partner we need your support to fix this bug.
When the user is refunding a payment, they must type in their password. After typing in their password the orange "Confirm" button is hidden behind iOS's software keyboard, and tapping the "Next" return key does nothing.
iZettle SDK: v1.2.1
Device Model: iPad Air A1474
OS: iOS 9.2
Our app calls [[iZettleSDK shared]startWithAPIKey:] when the user selects iZettle as their default payment gateway. However, if they choose a different payment provider and then switch back to iZettle in the same session, calling [[iZettleSDK shared]startWithAPIKey:] again will result in a crash with this message: 'iZettle SDK already started'.
Is there any way to check if iZettle has started already so that we can bypass this method call?
Hello guys, In the recent development we have some crashes due to the iZettleSDK. I have a trace to help you debug this.
Last Exception Backtrace:
0 CoreFoundation 0x1848c5900 __exceptionPreprocess + 124
1 libobjc.A.dylib 0x183f33f80 objc_exception_throw + 56
2 Bubblmee Kiosk 0x100154288 -iZettleSDK _validateConditions:
3 Bubblmee Kiosk 0x1001552c0 -iZettleSDK(Operations) abortOperation
4 Bubblmee Kiosk 0x1001114d0 -BMPaymentProgressViewController homeTimeout
If you need I can give you the full crash but that has be more private.
We would like to see a warning banner at the top of the payments UI if the externaldemo*@izettle.com account is logged in
Currently, it's very difficult to see which user is logged in and if this was left logged in it could cause big issues!
We can`t upload because these two keys CFBundleSupportedPlatform and CFBundleExecutable, are not supported.
Deleting the keys from iZettleShared.bundle and iZettleStorePurchase.bundle seems to work.
Similar issue: gmaps-api-issues
We got an error back from the iTunes Connect Upload.
ERROR ITMS-90542: "Invalid CFBundleSupportedPlatforms value. The key 'CFBundleSupportedPlatforms' in the Info.plist file in bundle 'Payload/***.app/iZettleShared.bundle' contains an invalid value '( "iPhoneSimulator" )'. Consider removing the CFBundleSupportedPlatforms key from the Info.plist. If this bundle is part of a third-party framework, consider contacting the developer of the framework for an update to address this issue."
Please can you fix this issue. It is happened with the version 1.2.0.
Thank you
Andre
Hi.
Integrating with your SDK, we've attempted adding it as a dependency to our private pod handling credit card terminal interaction. This isn't possible due to the fact that your pod doesn't support dynamic frameworks.
In an attempt to circumvent this issue we've added iZettleSDK.framework along with the two bundles, manually to our private pod. Unfortunately the compiled framework attempts to access the bundles from the main bundle, unable to due to the fact that the private pod is a dynamic framework.
We have a client wishing to use this during the weekend, do you have a nightly branch or similar? We do not see tampering with the main application, adding the resource bundles there, as an option.
Hope to hear from you quickly.
For our app we need to compile for armv7s. However the iZettle SDK doesn't seem to have support for this architecture. Currently, we cannot compile for armv7 or arm64. Is it possible to include armv7s support into the library?
Compiler throws the following error:
ld: file is universal (4 slices) but does not contain a(n) armv7s slice:
<projectpath>/Pods/iZettleSDK/iZettleSDK/iZettleSDK.framework/iZettleSDK file
'<projectpath>/Pods/iZettleSDK/iZettleSDK/iZettleSDK.framework/iZettleSDK' for architecture armv7s
I have imported the iZettle SDK into my project, however there are several duplicate symbols:
This is conflicting with another framework that we use. Is it possible to have these classes prefixed to avoid duplicates?
Hello,
I'm starting the integration of iZettle in an application. I have an API key.
How can I develop against your SDK and test all scenarios without performing any real transactions?
Thanks in advance
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.