Git Product home page Git Product logo

acceptsdk's People

Contributors

franciscofortes avatar radoslavdanko avatar timkowd avatar wirecardmobileservices avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

acceptsdk's Issues

Please look into the issue

Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x184df2d8c __exceptionPreprocess
1 libobjc.A.dylib 0x183fac5ec objc_exception_throw
2 CoreFoundation 0x184e00098 __methodDescriptionForSelector
3 CoreFoundation 0x184df85c8 forwarding
4 CoreFoundation 0x184cde41c _CF_forwarding_prep_0
5 INFINIA_PRODUCTION_TARGET 0x104cb77c4 +[AcceptDeserialization safeString:key:] (AcceptDeserialization.m:115)
6 INFINIA_PRODUCTION_TARGET 0x104cb670c +[AcceptTransactionDeserialization deserialize:] (AcceptTransactionDeserialization.m:154)
7 INFINIA_PRODUCTION_TARGET 0x104c8b39c -[AcceptDataService requestNewPayment:accessToken:signature:terminalInfo:basket:cardInfo:extendedInfo:error:] (AcceptDataService.m:708)
8 INFINIA_PRODUCTION_TARGET 0x104c77700 __84-[Accept startPay:completion:progress:signature:signatureVerification:appSelection:]_block_invoke.1066 (Accept.m:2273)
9 INFINIA_PRODUCTION_TARGET 0x104ceac7c __123-[PosMateExtension startPay:completion:progress:onlineProcessor:configuration:signature:appSelection:updateSignatureForCL:]_block_invoke_2.354 (PosMateExtension.m:540)
10 libdispatch.dylib 0x1846e4b24 _dispatch_call_block_and_release
11 libdispatch.dylib 0x1846e4ae4 _dispatch_client_callout
12 libdispatch.dylib 0x1846ebc08 _dispatch_queue_override_invoke$VARIANT$mp
13 libdispatch.dylib 0x1846f1d30 _dispatch_root_queue_drain
14 libdispatch.dylib 0x1846f1a80 _dispatch_worker_thread3
15 libsystem_pthread.dylib 0x184a17fac _pthread_wqthread
16 libsystem_pthread.dylib 0x184a17b08 start_wqthread

App crashes after trying to save a singatureRequest

Hey,
when I try to call PaymentFlowController.SignatureRequest.signatureEntered(...) my App crashes if I am on a Motorola Nexus. On other phones it seems to ignore it and restarts the activity.

my stacktrace:
05-29 13:39:05.202 11369 12039 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #12
05-29 13:39:05.202 11369 12039 E AndroidRuntime: Process: com.my.app, PID: 11369
05-29 13:39:05.202 11369 12039 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at android.os.AsyncTask$3.done(AsyncTask.java:318)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:242)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at java.lang.Thread.run(Thread.java:761)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: Caused by: java.lang.NoSuchMethodError: No static method create(Ljava/lang/String;[Lorg/apache/http/NameValuePair;)Lorg/apache/http/entity/ContentType; in class Lorg/apache/http/entity/ContentType; or its super classes (declaration of 'org.apache.http.entity.ContentType' appears in /data/app/com.my.app-1/split_lib_dependencies_apk.apk:classes33.dex)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at org.apache.http.entity.mime.MultipartEntityBuilder.buildEntity(MultipartEntityBuilder.java:219)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at org.apache.http.entity.mime.MultipartEntity.getEntity(MultipartEntity.java:119)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at org.apache.http.entity.mime.MultipartEntity.writeTo(MultipartEntity.java:180)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at de.wirecard.accept.sdk.CustomRequest.doInBackground(CustomRequest.java:243)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at de.wirecard.accept.sdk.CustomRequest.doInBackground(CustomRequest.java:47)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at android.os.AsyncTask$2.call(AsyncTask.java:304)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-29 13:39:05.202 11369 12039 E AndroidRuntime: ... 4 more

There is a problem in updating terminal config files

As config update starts, it will download and update two config files - cakeys.cnf and icaaps.cnf and then terminal restarts. Again when new payment starts, it will repeat the same process. At the end its not downloading all the necessary config files.
All these status occurred during the process
AcceptConfigFilesUpdateWillStart,
AcceptConfigFilesDownloading,
AcceptConfigFilesUploading,
AcceptConfigFilesTerminalNotReady

Reconnect posmate device after restart

Hi!
I have a question: I'm running the ios app on my device, then i get the posmate via bluetooth. If i do a payment without disconnecting postmate it works well, but if i restart postmate i'm not able to do the payment... So, how can I detect if the device was disconnected and reconnect it again?

Thanks!

Getting payment status as INCOMPLETE in onPaymentSuccessful()

Hey,

When try to make a transaction its getting completed successfully and its triggers onPaymentSuccessful() method with payment object. but when I try to get the status of the transactions from the payment object its always gives the response as the
"status":"INCOMPLETE",. but when i access the same transactions from the payment history it has a status as "APPROVED". can you tell me when this status will change incomplete to complete or approved?

accept sdk version : 1.5.7
android-extension-spire:1.5.5

Thanks

Transaction Rejected

I frequently getting "Transaction Rejected:250 - system error.(1. Please contact customer service.)" on doing transaction. What is the cause of this error?

Successful payment using invalid VISA card in AcceptSDK demo

According to the code provided in accept SDK demo for payment completion

    void (^completion)(AcceptTransaction*, NSError*) = ^(AcceptTransaction *transaction, NSError *error)
    {
        if (error || !transaction)
        {
            [weakSelf paymentFailure:error transaction:transaction];
        }
        else
        {
            [weakSelf performSelectorOnMainThread:@selector(paymentDone:) withObject:transaction waitUntilDone:NO];
        }
    };

paymentFailure: will only called if there is an error or transaction object is null.

But when I have done transaction using invalid visa card, it called paymentDone: method, after that I have debugged it and found out that there was not error object but there is transaction object with status 'rejected' (means else condition will execute) which leads to payment success.

So my questing it where should I put the constraint to check if the payment is successful or not by using transaction object itself.
Or when the transaction object is not null.

cancelPaymentFlow not working

Hey.I have started payment flow by AcceptSDK.startPayment(); & startPaymentFlow() with Thyron Extension but once the payment flow in progress i cannot able to cancel the payment flow the spm2 device still shows progress even i have called cancelPaymentFlow(); method as per doc. Can anyone please give me clarification on this.and how can i cancel payment process

Remove Jackson Jars from Libs-Folder

I try to integrate your SDK into our project. We use jackson, too. And now I get the error below.

  • Do you add the dependencies as jar-files?
  • Can you use gradle instead?
  • Jackson 2.2.3 is a quite old version... We use this:
    compile 'com.fasterxml.jackson.core:jackson-databind:2.8.1'
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithJarMergingForLiveDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/fasterxml/jackson/core/base/GeneratorBase.class

* Try:
Run with --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesWithJarMergingForLiveDebug'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
        at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
        at org.gradle.internal.Factories$1.create(Factories.java:22)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
        at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: java.lang.RuntimeException: com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/fasterxml/jackson/core/base/GeneratorBase.class
        at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:54)
        at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:57)
        at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:47)
        at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:173)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:231)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 68 more
Caused by: com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/fasterxml/jackson/core/base/GeneratorBase.class
        at com.android.build.gradle.internal.transforms.JarMergingTransform.transform(JarMergingTransform.java:117)
        at com.android.build.gradle.internal.pipeline.TransformTask$3.call(TransformTask.java:178)
        at com.android.build.gradle.internal.pipeline.TransformTask$3.call(TransformTask.java:174)
        at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:55)
        ... 77 more
Caused by: java.util.zip.ZipException: duplicate entry: com/fasterxml/jackson/core/base/GeneratorBase.class
        at com.android.build.gradle.internal.transforms.JarMerger.addJar(JarMerger.java:161)
        at com.android.build.gradle.internal.transforms.JarMerger.addJar(JarMerger.java:121)
        at com.android.build.gradle.internal.transforms.JarMergingTransform.transform(JarMergingTransform.java:107)
        ... 80 more

Wirecard signature flow

Hello,
I have to ask a question about signature flow.

  1. When do following callback functions will call during the flow?
    i). void (^signatureVerification)(AcceptTransaction_, AcceptSignatureVerificationResultCallback,NSError_)
    ii). void(^signature)(AcceptSignatureRequest * )

AppStore submit error caused by CFBundleExecutable key in info.plist

During the AppStore submit we got the following error message from Apple:

"Unexpected CFBundleExecutable Key. The bundle at 'Payload/EasyEntry.app/acceptResources.bundle' does not contain a bundle executable. If this bundle intentionally does not contain an executable, consider removing the CFBundleExecutable key from its Info.plist and using a CFBundlePackageType of BNDL. If this bundle is part of a third-party framework, consider contacting the developer of the framework for an update to address this issue."

Should we just remove the CFBundleExecutable key from the acceptResources.bundle/info.plist?

Certificate issue

Hello,
I see that you have updated SSL certificates 14 days ago 8be2241. Is this only related with development version or this means that every user who uses an app with this SDK will have to update every year an app and it might stop working?

Could not make contactless payment

Normal payment (putting card into socket and typing PIN) works but when I try to make contactless payment I get NSError:

Error Domain=Accept Code=9 "30 - Format error." UserInfo={
    NSLocalizedDescription = "30 - Format error.";
}

Do I need to make extra steps to enable contactless payment?
Device: Spire SPm2 (firmware v2.30_3D_02111501)
iOS 9.2.1
acceptSDK 1.6.177

Wirecard Login Failed

This is the error message.

Error Domain=AcceptCommonErrorCode Code=2 "The operation couldn’t be completed. (AcceptCommonErrorCode error 2.)" UserInfo={
NSUnderlyingError = "Error Domain=HTTP Code=-1012 "Client/Server certificate mismatch" UserInfo={\n NSLocalizedDescription = "Client/Server certificate mismatch";\n}";
}

Could you please tell the root cause of this error?

AcceptTerminal eaaSerialNumber is wrong

I am using a Spire Payments SPm2 and try to get the serial number of the device. Instead of the serial number I get the displayName of the device:

connectedTerminal.eaaSerialNumber
PosMate-10019801

connectedTerminal.uuid
22136368

connectedTerminal.alternativeDisplayName
PosMate-10019801

connectedTerminal.displayName
PosMate-10019801

Latest AcceptSDK, SPm2 Version: 2.30.57_30061601

Error creating a new payment

I am able to login and view transactions but failing to create a new payment.
Can you please check the attached screenshot an
screenshot_2016-11-09-16-07-59-437_com hanbit amr
d can you please help me in resolving the issue.

App crashes if one of config param is missed

Hello,

The app crashes if AcceptDataServiceConfig not filled completely and requestAccessToken is called.

it would be nice if lib return some more clear error in that case instead of crash.
Something like:

AcceptDataServiceConfig.{field_name} did not set.

AcceptDataServiceConfig *config = [AcceptDataServiceConfig new];
// If one of lines bellow is skipped app crashes:
config.url = @"http://example.com";
config.callbackUrl = @"http://example.com";
config.clientId = @"clientId";
config.clientSecret = @"secret";

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]'
*** First throw call stack:
(
0 CoreFoundation 0x000000010e8f3d85 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010defddeb objc_exception_throw + 48
2 CoreFoundation 0x000000010e7f023e -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 318
3 CoreFoundation 0x000000010e8025bb +[NSDictionary dictionaryWithObjects:forKeys:count:] + 59
4 icd 0x000000010c48d2ac -[AcceptDataService requestAccessToken:password:error:] + 368
5 icd 0x000000010c47a669 __56-[Accept requestAccessToken:password:config:completion:]_block_invoke + 157

How can i add custom fields for a payments

Hey

I need to add custom fields like few id's and details during start payment.Then while Need to get it back while am accessing that particular payment unique id.In that payment model there is a data (getCustomFields() as hashMap ). How can i give input for this data..

Thanks in advance

Terminal doesn't responds sometimes

This is the error log thats generated during terminal configuration check

ERROR
ERROR - could not find protocolID for protocolString com.thyron

/BuildRoot/Library/Caches/com.apple.xbs/Sources/ExternalAccessory/ExternalAccessory-329.40.4/EASession.m:-[EASession dealloc] - 141 unable to close session for _accessory=0x1518bdbb0 and sessionID=65536

The terminal is connected.

After that we have to restart the terminal or app to start payment process again.

Is there is any way to start the terminal processes eg config check, payment without restarting the terminal or app?

two equal eaaSerialNumber from discoverTerminalsForVendor method

Hi guys,

when I have two Spire SPm2 devices connected to my iPhone and then I call this method here:

- (void) discoverTerminalsForVendor:(NSString*)vendorUUID
                         completion:(void (^)(NSArray *, NSError*))completionBlock;

I get two AcceptTerminal objects with different uuid, displayName and alternativeDisplayName, but the eaaSerialNumber are the same for both.

After this, I call the

- (void) startPay:(AcceptPaymentConfig*)config
       completion:(void (^)(AcceptTransaction*, NSError*))completion
         progress:(void (^)(AcceptStateUpdate))progress
        signature:(void (^)(AcceptSignatureRequest*))signatureRequest
signatureVerification:(void (^)(AcceptTransaction*,AcceptSignatureVerificationResultCallback , NSError*))signatureVerification
     appSelection:(void (^)(AcceptAppSelectionRequest *))appSelection;

Method with the eaaSerialNumber inside of the config variable. Cause for both devices they are the same, it will be always one device triggered as payment device. So my device selection before is useless, because its always the same device.

Is there a problem with the SDK or is there something I am doing wrong?

App crashes sometimes in the login process (Error log included)

Crashed: com.apple.root.background-qos
0 libobjc.A.dylib 0x3259cf56 objc_msgSend + 21
1 CoreFoundation 0x23de6099 +[__NSArrayI __new:::] + 60
2 CoreFoundation 0x23de3695 -[__NSPlaceholderArray initWithObjects:count:] + 136
3 CoreFoundation 0x23ded7c5 +[NSArray arrayWithObjects:count:] + 44
4 CoreFoundation 0x23e22a35 -[NSDictionary allValues] + 176
5 INFINIA_DEV_TARGET 0x34a893 -AcceptCertificateHelpers getKnownCertificates
6 INFINIA_DEV_TARGET 0x368f23 -AcceptHttpClientUrlConnection sendSynchronousRequest:returningResponse:certificateMismatch:error:
7 INFINIA_DEV_TARGET 0x36a4a3 +AcceptHttpClient performHTTPRequest:method:body:contentType:authorisation:otherHeaders:error:
8 INFINIA_DEV_TARGET 0x36a15f +AcceptHttpClient performHTTPRequest:method:body:contentType:error:
9 INFINIA_DEV_TARGET 0x369f63 +AcceptHttpClient performHTTPRequestForJSON:method:body:contentType:error:
10 INFINIA_DEV_TARGET 0x369b95 +AcceptHttpClient performHTTPRequestForDictionary:method:body:contentType:error:
11 INFINIA_DEV_TARGET 0x34904b -AcceptDataService requestConfigFile:currentVersion:error:
12 INFINIA_DEV_TARGET 0x3399dd __62-[Accept queryConfigFile:config:andCurrentVersion:completion:]_block_invoke (Accept.m:1859)
13 libdispatch.dylib 0x32b212e3 _dispatch_call_block_and_release
14 libdispatch.dylib 0x32b2b381 _dispatch_root_queue_drain
15 libdispatch.dylib 0x32b2c3c3 _dispatch_worker_thread3
16 libsystem_pthread.dylib 0x32c85db5 _pthread_wqthread + 668
17 libsystem_pthread.dylib 0x32c85b08 start_wqthread + 8

Crash after login

When ever I want to login through wirecard login sometimes it work successfully and sometime it's get crashed..
This is the log.

2016-04-07 19:40:30.422 INFINIA_DEV_TARGET[11048:195336] >>> UserAuthenticationVC - doLogin
2016-04-07 19:40:30.423 INFINIA_DEV_TARGET[11048:195336] >>> UserAuthenticationVC - loginWithUsername
2016-04-07 19:40:30.425 INFINIA_DEV_TARGET[11048:195336] >>> WirecardPaymentVC - updateBluetoothTerminalList
2016-04-07 19:40:30.426 INFINIA_DEV_TARGET[11048:195336] >>> WirecardPaymentVC - populateVendorTerminalList
2016-04-07 19:40:30.426 INFINIA_DEV_TARGET[11048:195336] >>> WirecardPaymentVC - numberOfComponentsInPickerView
2016-04-07 19:40:30.427 INFINIA_DEV_TARGET[11048:195336] >>> WirecardPaymentVC - showSelectedVendorTerminal
2016-04-07 19:40:30.431 INFINIA_DEV_TARGET[11048:195396] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]'
*** First throw call stack:
(
0 CoreFoundation 0x0000000105a37e65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001054b0deb objc_exception_throw + 48
2 CoreFoundation 0x000000010593a8ce -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 318
3 CoreFoundation 0x000000010594cc3b +[NSDictionary dictionaryWithObjects:forKeys:count:] + 59
4 INFINIA_DEV_TARGET 0x00000001006961d4 -[AcceptDataService requestAccessToken:password:error:] + 363
5 INFINIA_DEV_TARGET 0x0000000100683e9d __56-[Accept requestAccessToken:password:config:completion:]_block_invoke + 154
6 libdispatch.dylib 0x00000001061ece5d _dispatch_call_block_and_release + 12
7 libdispatch.dylib 0x000000010620d49b _dispatch_client_callout + 8
8 libdispatch.dylib 0x00000001061f5bef _dispatch_root_queue_drain + 1829
9 libdispatch.dylib 0x00000001061f54c5 _dispatch_worker_thread3 + 111
10 libsystem_pthread.dylib 0x00000001065454f2 _pthread_wqthread + 1129
11 libsystem_pthread.dylib 0x0000000106543375 start_wqthread + 13
)
libc++abi.dylib: terminating with uncaught exception of type NSException

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.