Coder Social home page Coder Social logo

Comments (9)

chakrit avatar chakrit commented on June 17, 2024

@j2emanue Can you explain more on the failure you mention. How exactly is the app failing? Are there error messages?

from omise-android.

j2emanue avatar j2emanue commented on June 17, 2024

its not in production. never tried yet. but in the testing authorization activity. if i hit "success" too quickly sometimes it just produces a failure.

from omise-android.

nuxzero avatar nuxzero commented on June 17, 2024

@j2emanue Can you show your failure please?

from omise-android.

j2emanue avatar j2emanue commented on June 17, 2024

i dont have a stack trace as i am on client. im not sure what you want to see, could you clarify ? because the activityResult is called with result_ok even for failure or success. tell me this, is there some kind of time period between failures ? i mean can i retry the same payment multiple times very quickly or is there a wait time between retrying the same payment method ?

can you try this scenario. selected the siam commerical bank and do two payment failures. and then try a payment success. But you must do it quickly. very rapidly. it fails. are you you able to reproduce ?

let me explain in more detail the issue. so randomly in your testing/sandbox region i do a test transaction. i purposely fail the transaction and retry. When i retry i am pressing "success" button on the test screen. onActivityResult gets called. at this point i do not trust 3rd party for confirmation on client end, so i make a api call to our server to confirm payment with omise. our server brings me back payment failed. Our server is connecting to Omise to check the status of the payment. (can there be a timing issue here between omise and server ? )

so the sequence is like this --> buy something ---> make it fail initially --> mark it successful next time ---> confirm payment through my server (do not trust 3rd party from client side).

From client side how do i even know the payment was successful or failure ? everytime it brings me back RESULT_OK despite failure or success in onActivityResult. if i hit the back button i get RESULT_CANCELED which is already being handled. can you guys help ? or can we set up a meeting ?

here is one sandbox order that keeps failing. can your team check: https://pay.omise.co/offsites/ofsp_test_5b964gasdivbc0k93na/pay

but i waited 5 minutes and then it succeeded after failing multiple times.

implementation 'co.omise:omise-android:2.6.4'

from omise-android.

pitiphong-p avatar pitiphong-p commented on June 17, 2024

When you said mark it successful next time you meant on a new charge? Also do you have a video recording of your scenario? So that we can understand more clearly and correctly.

from omise-android.

j2emanue avatar j2emanue commented on June 17, 2024

let me explain what i have narrowed down the issue to be. after Omise sdk calls onActivityResult i call our servers to verify payment (through omise api) but sometimes the payment is marked as "pending". this is causing me to have to show the user that the transaction failed (since its not in a successful state). why did omise sdk not wait until status is either success or failure and then call onActivityResult. this can resolve my issues.

from omise-android.

pitiphong-p avatar pitiphong-p commented on June 17, 2024

We've worked together with the Internet Banking team to address your issue. Please find our response below.

Once the customer follows the authorized URL, the authorization process is handled by a 3rd party, which in this case is the bank. The customer's activity/ behavior which occurs during this stage is beyond our control. The idea of having the AuthorizingPaymentActivity is to ease the integration of 3DS and other similar services for our merchants.

Since this stage of the transaction is handled by a 3rd party, the information we receive is quite limited. We are only informed whether the customer has completed the authorization process or has chosen to cancel the operation. So in the case where "onActivityResult is getting called but the transaction is showed as pending on the Omise dashboard", this may be caused by a delay in response from the bank to Omise. In most cases, the charge will be updated within a short moment, however, may take up to 30 minutes or an hour in some cases.

I hope this helps.

from omise-android.

pitiphong-p avatar pitiphong-p commented on June 17, 2024

@j2emanue Does my comment help you on your issue? And do you any more question?

from omise-android.

j2emanue avatar j2emanue commented on June 17, 2024

please close this ticket as resolved.

from omise-android.

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.