Comments (9)
@j2emanue Can you explain more on the failure you mention. How exactly is the app failing? Are there error messages?
from omise-android.
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.
@j2emanue Can you show your failure please?
from omise-android.
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.
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.
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.
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.
@j2emanue Does my comment help you on your issue? And do you any more question?
from omise-android.
please close this ticket as resolved.
from omise-android.
Related Issues (20)
- Android Java Code HOT 4
- by when Prompt Pay support will be released? HOT 1
- Error adding credit card HOT 2
- Your Jackson dependency is vulnerable with high severity level HOT 2
- Could we have DomStorage enable from WebView in AuthorizingPaymentActivity? HOT 3
- As an Omise developer, I want to add a new source type in minimum places
- android.content.res.Resources$NotFoundException HOT 3
- The SDK caused Glide to fail to load HOT 5
- Testing information for authorize url
- Duplicate class error HOT 4
- Failed to integrate version 4.8.0 HOT 1
- Google Play warning: com.google.android.gms:play-services-ads 18.3.0 is outdated HOT 4
- App crash when trying input special character in ExpiryDateEditText HOT 2
- play-services-ads ,The SDK version has been reported as outdated.
- okhttp3.HttpUrl okhttp3.Request.url()' on a null object reference HOT 2
- bg_edit_text_outlined.xml Compilation error HOT 3
- Request to support screenshot and video recording prevention HOT 1
- Wrong CardBrand Identification HOT 1
- Fatal Exception: java.lang.StackOverflowError stack size 1037KB HOT 10
- Charge Class not found as you mention in Charge api HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from omise-android.