Nets-mobile-acceptance / Netaxept-Android-SDK

PiA Netaxept Android SDK is a library that provides the native In-App interaction to perform Netaxept payments directly from an app on Android devices while minimizing PCI DSS requirements for you.
31 stars 15 forks source link

SDK 2.1.3 stuck at card selection in webview #23

Closed ngoclt closed 3 years ago

ngoclt commented 3 years ago

Hi,

I'm using Nets sdk version 2.1.3 for our Android application now. We managed to do the payment registration from the backend side and return the transaction id to the app. But when app starts the card registration flow, the sdk does show webview with card type selection as in the screenshot. But when I select the Next button, nothing happens. From the Logs I can see this exception:

chromium: [INFO:CONSOLE(122)] "Uncaught ReferenceError: __doPostBack is not defined"

nets_error

Could you please help me identify the problem? @Miss-PiA

Miss-PiA commented 3 years ago

Hello @ngoclt,

Could you please check if you specify the serviceType to "M" when you do the payment registeration call? You can find more tips to construct the Netaxept from the backend via the link https://htmlpreview.github.io/?https://github.com/Nets-mobile-acceptance/Netaxept-Android-SDK/blob/master/documentation/START%20-%20Overview%20of%20Netaxept%20Android%20SDK.html#Backend_Tips. Let's know if you have any further questions!

Best regards, Miss-PiA

ngoclt commented 3 years ago

@Miss-PiA Thank you for your quick response. Yeah, we set the serviceType to B at the beginning, and it shows that webpage with the issue above.

But now, when we try to set the serviceType to M, the sdk doesn't show that webview anymore but return this result for transactionCompleteResult callback:

Failure(transactionID=e0a54de31fab4b7e943274dee395ba94, processError=TerminalRequest(terminalRequestError=ResponseContainsError(response=Response{protocol=http/1.1, code=200, message=OK, url=https://test.epayment.nets.eu/terminal/default.aspx})))

It is weird since from the result, we can see that the status code is 200 and message is OK but the result value is ProcessResult.Failure

UPDATE: So I think I found the issue, if I enable force3DSecure to true, the sdk will return the error above. But if I don't send that param, it will return success.

I guess the test environment doesn't support force3DSecure, does it?

Thank you again and wish you have a nice day ahead.