Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After a successful transaction, TransactionInfo is null #195

Open
a5k-x opened this issue Dec 21, 2022 · 5 comments
Open

After a successful transaction, TransactionInfo is null #195

a5k-x opened this issue Dec 21, 2022 · 5 comments

Comments

@a5k-x
Copy link

a5k-x commented Dec 21, 2022

After a successful transaction, the intent TransactionInfo is null

`...
if (data != null && resultCode == SumUpAPI.Response.ResultCode.SUCCESSFUL) {

TransactionInfo transactionInfo = data.getParcelableExtra(SumUpAPI.Response.TX_INFO);
...}`

In what cases can a payment be successfully completed, but payment data is not received?
This does not happen often, maybe in this case it is worth adding a similar method to the android sdk as /checkouts/:id

@jnorkus
Copy link

jnorkus commented Jan 31, 2023

I am seeing a similar issue but in my case the whole bundle returned by getExtras() is null. Sometimes the transaction is successful, sometimes failed, sometimes it's not even created in the backend at all.

@towsif-hossain
Copy link

Facing similar issue, bundle extras is null but the payment actually went through successfully when I cross checked on SumUp Dashboard.

@LocaFoxNick
Copy link

LocaFoxNick commented Dec 7, 2023

Any feedback on this? @zaid-abdullah ? (Sorry, didn't know who else's attention to reach for)

This issue has occurred three times in 8 days (that I know of) for one user,

The device model is: SM-X200
The android version is: 33
The SumUp SDK version is: 4.0.3
Target SDK is: 31

I'm in the process of obtaining the SumUp device nad model number, and the firmware version to - I'll provide these when I get them

I can provide additional information in private, such as the transaction date/time and the transaction id if it helps.

Our logs indicate that
extras.getString(SumUpAPI.Response.MESSAGE) was "Transaction successful."

but

int resultCode = extras.getInt(SumUpAPI.Response.RESULT_CODE);
TransactionInfo info = (TransactionInfo) extras.get(SumUpAPI.Response.TX_INFO);
String msg = extras.getString(SumUpAPI.Response.MESSAGE);

if (resultCode == SumUpAPI.Response.ResultCode.SUCCESSFUL && info != null) {
   // not hit
} else if (resultCode == SumUpAPI.Response.ResultCode.ERROR_INVALID_TOKEN) {
   // not hit
} else if (resultCode == SumUpAPI.Response.ResultCode.ERROR_NOT_LOGGED_IN) {
    // not hit
} else if (resultCode == SumUpAPI.Response.ResultCode.ERROR_NO_CONNECTIVITY && transaction != null) {
    // not hit
} else if (resultCode == SumUpAPI.Response.ResultCode.ERROR_TRANSACTION_FAILED && (msg == null || !msg.equalsIgnoreCase(TRANSACTION_FAILED_RESPONSE_MSG)) && transaction != null) {
   // not hit
}
else {
     // Hit - failure
}

@okirmis
Copy link

okirmis commented Apr 10, 2024

Just to contribute to the discussion: we are facing a similar issue. Not a great situation at all for a payment service.

@LocaFoxNick
Copy link

Hi @okirmis , we've been in contact with SumUp about this. They've acknowledged that this is a issue, though the proposed solution is that when we lack the transaction info on success, we should use the SumUp API to obtain the information. It became apparent throughout the emails that using the SumUp API rather than the BT SDK is the way forward, and this also seems to be what other providers are doing aswell

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants