sumup / sumup-android-api

Other
19 stars 10 forks source link

integration using URI call fails since last update to SumUp card payment app #3

Closed teicher closed 7 years ago

teicher commented 7 years ago

Hello,

As of the SumUp App Update 1.65.1 of November 14th, suddenly the integration has stopped working (different installs, different MerchantIDs)

While manual payments by starting the SumUp app on the android device still work, trying to launch it using the launch intent, the SumUp App always comes up and immediately reports a "network error".

We are launching SumUp like:

Intent payIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(
    "sumupmerchant://pay/1.0"
    + "?affiliate-key="+Uri.encode(sumupKey)
    + "&app-id=ourapp"
    + "&amount="+amount
    + "&currency=EUR"
    + "&title=Payment Title"
    + "&callback=sumuppayment://result"));
getActivity().startActivityForResult(payIntent, 0); // must call on activity, not fragment!

And we do see our callback invoked with ERROR_TRANSACTION_FAILED

Any ideas ?

dbapl commented 7 years ago

We also have such errors reported by clients.

teicher commented 7 years ago

Then please also contact sumup support (we also did) so they realize there is a real issue.

Do you know of a way to downgrade the SumUp app?

Gesendet vom Mobiltelefon - Bitte Tippfehler, fehlende Umlaute und Kürze gegebenenfalls zu entschuldigen.

ultrah commented 7 years ago

Thank you for reporting this.

I just tried the API sample app against the production app (1.65.1) and was able to do a successful transaction with both the API helper and ACTION_VIEW. I also tried the same using the snippet provided in this thread (with the sample credentials) and this also worked.

Is there any additional information that you can provide to reproduce?

teicher commented 7 years ago

Well, there is not so much debug output, I can try to generate if you tell me what you need.

Maybe now some fields are mandatory (or validated) that weren't before ? Can you maybe try with just the fields I posted above ?

Thanks, Tom.

PS "app-id" is "just a string" (not the package name of my app or similar) - that needs to be enabled for a Merchant ID at Sumup Portal, right ?

ultrah commented 7 years ago

Hi Tom,

As I wrote above, I copied your snippet and just added amount, app ID and the callback URI of the sample app. Here is the code:

Intent payIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(
                        "sumupmerchant://pay/1.0"
                                + "?affiliate-key="+Uri.encode("7ca84f17-84a5-4140-8df6-6ebeed8540fc")
                                + "&app-id=com.sumup.apisampleapp"
                                + "&amount="+"1.23"
                                + "&currency=EUR"
                                + "&title=Payment Title"
                                + "&callback=sumupsampleresult://result"));
                startActivityForResult(payIntent, 0);

I was not able to match your username here to any account. Could you please send the account name you used to integration@sumup.com? Also, do you get a transaction code back? If so, please also attach it.

teicher commented 7 years ago

Hi, I did send more details to that email. Setting up my test environment, it just worked again. Did SumUp fix/change something in the backend ? (App Version still 1.65.1) esyscoder, working again at your customers ?

dbapl commented 7 years ago

You have to run SUMUP app from launcher and accept new terms. Then it works again from URI integration.

There should be meaningful error message or even better ask user at payment start.

teicher commented 7 years ago

esyscoder, many thanks for this info! This is not our problem however, since we were able to do manual payments in between integration failures.

ultrah commented 7 years ago

@esyscoder Can you please provide a merchant code by email for which this was necessary?

teicher commented 7 years ago

Many thanks for your support. A short summary for future generations:

ultrah commented 7 years ago

@teicher thanks for the summary, glad to help :)

@esyscoder I was able to reproduce your issue, thank you for reporting it. I will come back to you once we have a schedule on when the fix for it will be released.

ultrah commented 7 years ago

@esyscoder This will be fixed with this weeks backend release and with the next app release we will support showing the terms and conditions for API payments.