Git Product home page Git Product logo

sdk-ios's People

Contributors

adeemotu avatar andreafilyo avatar arikis avatar astro-choco avatar avalkovskii-pp avatar christophmeissner avatar clement-iz avatar eddyverbruggen avatar hhuseu avatar izettle-ios-ci avatar jensutbult avatar laszlopinter avatar mattiasjahnke avatar mattiasjahnke-pp avatar mbelogorodtsev-iz avatar nataliq-pp avatar pp-laszlopinter avatar pp-svanstrom avatar ppeelen avatar pushpak avatar readmecritic avatar rmartinsdepaula avatar saidsikira avatar sajjon avatar ssikira avatar stagor avatar troligtvis avatar valkovsky avatar yassinesakri avatar zettle-ios-ci avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sdk-ios's Issues

Duplicate symbols

I have imported the iZettle SDK into my project, however there are several duplicate symbols:

  • ClearButton
  • CardReader
  • CardReaderManager

This is conflicting with another framework that we use. Is it possible to have these classes prefixed to avoid duplicates?

use_frameworks!

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.

Izettle crash

When the app run that line of code

  • (void)startWithAPIKey:(NSString *)apiKey;

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.

Correct VAT for payments made through the API

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.

Detect Invalid Currency/Region via SDK

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.

The price amount is moving when key board goes away on Refund payment screen

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

Price_Moving.zip

iZettle : M010-PROD13-V2-3
Device Model: iPad mini 3 - A1600
OS: iOS 8.4.1

Payment error / Incorrect integration. Contact your app provider.

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

iZettle Library

screen shot 2016-01-23 at 8 09 10 pm
Hi guys can you take a look at the screenshot? Library clashing with library from payanywhere. Thanks.

Payment Process Issue

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

Unsuccessful Cancel with in-progress refund

Description

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.

Steps to reproduce

  • Process a payment with the iZettle SDK
  • Start a refund
  • Tap on the Password box and type in your password
  • Tap "Cancel" while the spinner next to the password field is still active

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.

Video

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

Concerning retrievePaymentInfoForReference method

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'?

Invalid CFBundleSupportedPlatforms value

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

iPhone app and iZettle reader bluetooth connectivity loosing

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?

Integration issue

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

iZettleSDK crash for an unhandled exception

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.

iZettle library latest version (with previous version i was able without issues) binary and entitltments 0, while exporting to ipa xcode 6.1.1, thus not able to export to IPA

screen shot 2015-04-28 at 1 47 42 pm

Hi @mattiasjahnke

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

Disable logout button once logged in

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.

Enforced user login

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

ERROR ITMS-90542 and ITMS-90535

I'm trying to submit my application to the app store and got the following errors :
untitled

I'm using XCode 7.0

Do you have any way to fix that ?

Thanks

iZettle Cordova

Hello, I'm integrating iZettle with cordova ios App, do you have any additional plug-in to link the SDK with cordova?
Regards

Crash on long reference string

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)'

Getting error message "Payment Cancelled" on swipe of Magnetic strip card

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

Concerning ENABLE_BITCODE

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.

iZettle SDK Crash

Got the following crash today with iZettle SDK 1.1. Running in iOS 7 simulator.
izettle-sdk-crash

Push v1.2.1 to CocoaPods

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

Memory Leak and Crash

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.

startWithAPIKey method

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?

Crash from iZettle

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?

Manual Entry

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.

armv7s library support

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

Crash when reference is to big

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?

UI should show warning if 'demo account' is logged in

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!

Developping against iZettle

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

Error when trying to do a test purchase

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

Keyboard return key doesn't work when refunding a payment

Description

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.

Steps to reproduce

  • Process a payment with the iZettle SDK
  • Start a refund
  • Tap on the Password box and type in your password

Actual Results

  • Tap on the "Next" return key; nothing happens
  • the "Confirm" button is hidden behind the keyboard when typing in the password

Expected Results

  • Tap on the "Next" return key; the password should be submitted and the refund payment process should continue (the same as tapping the "Confirm" button)
  • the return key should be labeled "Done" (like the Sign In screen)
  • the "Confirm" button should be visible when typing in your password (like the Sign In screen)

Reproduced Using

iZettle SDK: v1.2.1
Device Model: iPad Air A1474
OS: iOS 9.2

Screenshots

Problem:

problem

Desired Solution:

(Except for return key)
desired solution

Similar Existing Solution (Sign In Screen)

similar exisiting solution

[Feature request summary] Retrieve user information

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

  • Would be good to display a ui that reflects the current login status
  • Either a method - (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;.
  • Return information about the iZettle user that made a payment/refund.

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.

Closing issues #9 #10 #13

Request: function to see if there is a user currently logged in

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.

IZFuture repeatFunction

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.

Issues regarding duplicate symbols

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

How can I determine status of user (logged or not logged) at account and what is example for type currency?

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.

Concerning Error codes

Is it possible to get a list of version 1.1.1 error codes for Error Domain=com.izettle.payment.error?

Thanks.

Build with bitcode enabled

We have to disable bitcode in our app for it to compile.
Could you release a build with bit code enabled?

payment via Card reader chip & card reader swipe not fetching information from izettle SDK

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.

Return details of izettle account after successful payment

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

'iZettle SDK already started'

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?

Target architecture missing

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.