Giter Site home page Giter Site logo

Comments (13)

livotov avatar livotov commented on May 31, 2024

And what the bank authentication page says ?
Any attempts to do a POST to a provided postback url

from 3dsview.

rameezh88 avatar rameezh88 commented on May 31, 2024

I am not sure if it has tried to do a POST to the postback url. The steps I did were as follows:

  1. I used the Stripe payment platform to post my card info and postback URL. It returns a redirect URL.
  2. I used this redirect URL like so:
    d3sView.authorize(getIntent().getExtras().getString(Stripe3dSecure.REDIRECT_URL), "", "", getString(R.string.postback_url));
    I am not sure about the PaReq and the ACS parameters here. I don't receive any such info from Stripe. Maybe you can make this clearer to me?
  3. The callback for onAuthorizationStarted() and onAuthorizationWebPageLoadingProgressChanged() are called. The Verified by Visa page connected to my Swedish bank account is opened with some options. Here I choose the "mobile bank ID" option.
  4. In Sweden, for this we use something called a mobile BankID app. So I open this app on my own personal iPhone, and enter my personal code to authenticate this transaction. The app itself will tell me if there has been a success or a failure in my code. In my case I have tested this several times by entering the correct code. I expect the success event to be reflected in my Android WebView, but I get no notification or callback.
    I have used this Verified by Visa feature many times on my iOS device and also on my Mac, and it seems to work well. Note also that the same feature works really well on the iOS version of the same app that I am working on. We are of course using the UIWebView component from iOS there, without any extra configurations.

Hope this helps in clarifying the issue. Please let me know if you have any more questions.

from 3dsview.

livotov avatar livotov commented on May 31, 2024

Well, the Stripe could be source of the problem. Because this component is intended to work with VISA/MC protocol (Verified By Visa / MasterCard Secure Code). PaReq and ACS are required values. Basically, ACS is the redirect url to a card issuer bank for performing an auth and it varies from card to card. Moreover, stripe cannot perform a 3DSecure authentication as it must be done at the card issuer bank web page which varies from card to card.

So, basically stripe should start the payment processing, return you the PaReq and ACS values. Then you use those values with 3DSView component which navigates to the card issuer bank web page and waits for authentication result. Then it gives you the PaReq return value you need then to send back to Stripe.

from 3dsview.

rameezh88 avatar rameezh88 commented on May 31, 2024

Hi,

It was a false alarm. The issue was with the WebView settings itself. All I had to do was call webView.getSettings().enableDomStorage(); And then it worked.

from 3dsview.

livotov avatar livotov commented on May 31, 2024

Great it was sorted out.
So it did not work until you added that method or removed ?

from 3dsview.

rameezh88 avatar rameezh88 commented on May 31, 2024

That's right. It didn't work until then. Maybe this is something you could consider as well, for your WebView.

from 3dsview.

livotov avatar livotov commented on May 31, 2024

hmm, interesting.

from 3dsview.

livotov avatar livotov commented on May 31, 2024

Will check this at my side and probably I should add this configuration option into the library default setup. Thanks for discovering this issue !

from 3dsview.

Pahanuch avatar Pahanuch commented on May 31, 2024

Hi. What about solution of this problem? Some banks works with webView.getSettings().setDomStorageEnabled(true);, But some banks need webView.getSettings().setDomStorageEnabled(false);

from 3dsview.

livotov avatar livotov commented on May 31, 2024

@Pahanuch shouldn't the enabled dom storage be enough for all banks even if they're don not require it ?

from 3dsview.

Pahanuch avatar Pahanuch commented on May 31, 2024

I'm sorry, I don't understand. What I must to do to resolve this problem ?

from 3dsview.

livotov avatar livotov commented on May 31, 2024

@Pahanuch simply always set it to true: webView.getSettings().setDomStorageEnabled(true)

from 3dsview.

Pahanuch avatar Pahanuch commented on May 31, 2024

Can you show example of your D3SActivity ? With D3SSViewAuthorizationListener onAuthorizationCompleted

By the way I need to load pages with delay
postDelayed(() -> view.loadUrl(String.format("javascript:window.%s.processHTML(document.getElementsByTagName('html')[0].innerHTML);", JavaScriptNS)), 500);

Because App too fast get payment result method

from 3dsview.

Related Issues (20)

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.