sumup / sumup-android-sdk

Sample App for the SumUp Android SDK
Other
104 stars 28 forks source link

Can't process transactions using a test profile #220

Open serybva opened 7 months ago

serybva commented 7 months ago

I'm integrating sum-up in a react native app, I can connect to the card reader, login, open preferences page but when I try to make a transaction I get an error page saying that the transaction have been cancelled because of network problems and a toast with "Internal error".

Calls to prepareCheckout seem successful however

Logcat:

(SourceFile:31)@main | Event rpcEventCheckout - Reason: Internal error
(SourceFile:1)@main | Error for in emv response: Internal error

I though maybe something was wrong with my implementation so I tried using the sum up app and got the same results.

Hence the question, is it even possible to really test the transaction part being log with a test profile or should we just push in prod and hope for the best? Or I am missing something else?

Test device is a One plus Nord running android 12 Card reader firmware: 2.0.0.7 Haven't tested on iOS yet

Bennik2000 commented 7 months ago

I am facing the same problem while trying to integrate SumUp in a flutter app.

Tested on a Google Pixel 4a (5G) Card reader firmware: 2.0.0.7 SumUp App Version: 2.61.25

combmaxi commented 6 months ago

I have the same problem... Thanks for the eventual future hero

sahilsaid commented 6 months ago

I have the exact same problem. Trying to use SumUP Air device to do some test transaction on custom app but unable to use the test account. The normal account connection works fine.

peter-jozsa commented 6 months ago

I'm facing the same issue on ios-sdk. Did you ever find a solution for this?

I tried every combination of using test accounts/real ones during checkout but still no success. I even managed to complete a real transaction with test affiliate keys yesterday...

SumUp, something isnt right with the test system .. (@zaid-abdullah)

hiagodotme commented 6 months ago

Not that this is the solution, but to complete my integration I carried out small transactions of $1.00 and then carried out the refund (credit only).

I tried not to carry out too many transactions so as not to get a block on my account, I managed to implement everything and today I am in production.

It's worth remembering that my scenario was an integration using SumUp Top, with the Android SDK in Brazil (BRL currency).

Maxximusse commented 6 months ago

How did you do please ? Does it work with higher prices ? Thanks

salaracu commented 6 months ago

How did you do please ? Does it work with higher prices ? Thanks

I had to do same as what @hiagodotme did. Looks like there is no way to perform test transactions which is shame. so had to do the live transactions to complete testing.

I also did few small transactions of £1 and I can confirm that it works fine for larger amount too. My app is being used by users for over 2 weeks now and it works fine.

Maxximusse commented 6 months ago

So if I have good understood, you had the same problem than us, but you tried with the amount 1 dollar / euro and then it worked after. Even for other amounts. Is that correct? Thanks for your time

salaracu commented 6 months ago

So if I have good understood, you had the same problem than us, but you tried with the amount 1 dollar / euro and then it worked after. Even for other amounts. Is that correct? Thanks for your time

Yes that is correct

peter-jozsa commented 6 months ago

I just wanted to share my experiences from the past week.

I registered a test account back in January when I started playing around with the ios-sdk since I knew I will have to integrate SumUp into our app in the near future. At that time I could happily create test transactions with the token of a test profile, authenticated through a test oauth2 application and with test affiliate keys setup in the SDK. I faced similar error messages at the beginning but it turned out it was because I didn't have the "payments" scope enabled in my oauth2 app. So I asked the SumUp support team to enable it for me and the error was gone, it was working okay.

Now I wanted to do the real implementation of the SumUp integration and therefore I used our company's account to setup a sandbox and a production oauth2 app, affiliate keys, etc. So I created a test profile from the menu on the developer site to setup the sandbox oauth2 app. The strange thing was for me that I could enable the "payments" scope for myself in the test oauth2 app (I didn't have to ask the support to do it for me like in January; I had asked them to do it in our production account but not in the test profile... I don't know if it relates to this issue or not). So I setup everything exactly the same way as I did back in January and I kept receiving these errors when I tried to initiate a test transaction with the ios-sdk. In the end I decided to go back to my "test" setup that I used in January. I created a new oauth2 app in that older test account (since oauth2 callback url was different from the ones I used in the past) and guess what... IT WORKS!! I can create test transactions without receiving the "Internal error" messages...

It's still unclear for me why it doesn't work now...

serybva commented 5 months ago

I just wanted to share my experiences from the past week.

I registered a test account back in January when I started playing around with the ios-sdk since I knew I will have to integrate SumUp into our app in the near future. At that time I could happily create test transactions with the token of a test profile, authenticated through a test oauth2 application and with test affiliate keys setup in the SDK. I faced similar error messages at the beginning but it turned out it was because I didn't have the "payments" scope enabled in my oauth2 app. So I asked the SumUp support team to enable it for me and the error was gone, it was working okay.

Now I wanted to do the real implementation of the SumUp integration and therefore I used our company's account to setup a sandbox and a production oauth2 app, affiliate keys, etc. So I created a test profile from the menu on the developer site to setup the sandbox oauth2 app. The strange thing was for me that I could enable the "payments" scope for myself in the test oauth2 app (I didn't have to ask the support to do it for me like in January; I had asked them to do it in our production account but not in the test profile... I don't know if it relates to this issue or not). So I setup everything exactly the same way as I did back in January and I kept receiving these errors when I tried to initiate a test transaction with the ios-sdk. In the end I decided to go back to my "test" setup that I used in January. I created a new oauth2 app in that older test account (since oauth2 callback url was different from the ones I used in the past) and guess what... IT WORKS!! I can create test transactions without receiving the "Internal error" messages...

It's still unclear for me why it doesn't work now...

Hmmm, thanks for sharing this !

As for me, I was in contact with the SumUp support team, they confirmed that we should be able to fully use the SDK with test accounts. But as of now it still doesn't work for me, I'll take a deep look in the app config in sumup when I have time

ellismp commented 4 months ago

If anyone reaches this after hours of tearing their hair out - like me - the solution is simple, but not obvious. You need to change the app name. Nothing in the Getting Started docs says this (that I can find anyway) but I guess it makes sense as anyone who's downloaded the SDK will be using com.sumup.sdksampleapp but will have different Affiliate Key (doh!) and therefore the test charge will fail. Interestingly most other things like logging in and connecting to a card reader do work, which makes it even more confusing.

SumUp/Github please make this clear!!

Also, I can confirm that the SumUp 3G DOES work with the Android SDK (at least the test so far). There is little documentation on this, to the extent that I bought a Solo thinking it was the 3G stopping the test charges working. Nope. SumUp support didn't seem to get the problem and told me "Please note that the 3G card reader is a stand alone device and can not be integrated with other software." Hmmm.... yes, apparently it can....

serybva commented 4 months ago

If anyone reaches this after hours of tearing their hair out - like me - the solution is simple, but not obvious. You need to change the app name. Nothing in the Getting Started docs says this (that I can find anyway) but I guess it makes sense as anyone who's downloaded the SDK will be using com.sumup.sdksampleapp but will have different Affiliate Key (doh!) and therefore the test charge will fail. Interestingly most other things like logging in and connecting to a card reader do work, which makes it even more confusing.

SumUp/Github please make this clear!!

Also, I can confirm that the SumUp 3G DOES work with the Android SDK (at least the test so far). There is little documentation on this, to the extent that I bought a Solo thinking it was the 3G stopping the test charges working. Nope. SumUp support didn't seem to get the problem and told me "Please note that the 3G card reader is a stand alone device and can not be integrated with other software." Hmmm.... yes, apparently it can....

Well, not for me, I can login and everything else, except checkout. My app's bundle ID is associated with the affiliate key I use in the SumUp developper dashboard

ellismp commented 4 months ago

If anyone reaches this after hours of tearing their hair out - like me - the solution is simple, but not obvious. You need to change the app name. Nothing in the Getting Started docs says this (that I can find anyway) but I guess it makes sense as anyone who's downloaded the SDK will be using com.sumup.sdksampleapp but will have different Affiliate Key (doh!) and therefore the test charge will fail. Interestingly most other things like logging in and connecting to a card reader do work, which makes it even more confusing. SumUp/Github please make this clear!! Also, I can confirm that the SumUp 3G DOES work with the Android SDK (at least the test so far). There is little documentation on this, to the extent that I bought a Solo thinking it was the 3G stopping the test charges working. Nope. SumUp support didn't seem to get the problem and told me "Please note that the 3G card reader is a stand alone device and can not be integrated with other software." Hmmm.... yes, apparently it can....

Well, not for me, I can login and everything else, except checkout. My app's bundle ID is associated with the affiliate key I use in the SumUp developper dashboard

Yeah I should update what I wrote. I was able to log in etc like you, but not checkout. It seems that by changing the app (package) name, checkout does work, but sadly it then processes test transactions as live, even using the test affiliate key (?!?!). I'm still waiting for a reply from developer support re this (been a week now...)

serybva commented 4 months ago

Ok guys, I got it working.

Steps to check/follow if you're stuck:

  1. In the developer dashboard make sure your affiliate key has the correct application ID(s) tied to it, namely the package id of the android app or bundle ID of the iOS app
  2. Now still in the developer dashboard, go on the OAuth2 app page and if absent create an app, fill in the form then make sure to tick the 2 payment related boxes under the Restricted Scopes (in my case I think this is what unlocked me...)