Heroic-Games-Launcher / HeroicGamesLauncher

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.
https://heroicgameslauncher.com
GNU General Public License v3.0
7.91k stars 417 forks source link

Buying games on the GOG store doesn't work #3855

Open meyou69 opened 2 months ago

meyou69 commented 2 months ago

Describe the bug

When trying to purchase a game from the GOG store and paying by Visa credit card, I go through the checkout process and then a 3-D Secure window popped up, informing me that I needed to confirm my transaction on a separate device.

I did so, confirming the transaction, but the current pop up did not close and continue the transaction, as it should. Normally, once I confirm the transaction with my bank app, the 3-D Secure window would then change the page and close automatically afterwards.

This did not happen, as the pop up remained unchanged until the 10 minute timer expired. No money was transferred, the transaction was simply canceled.

Basically, paying through the Heroic Store using Visa is impossible at this moment.

Add logs

(11:40:31) INFO:    [Legendary]:        Legendary location: /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/legendary
(11:40:31) INFO:    [Gog]:              GOGDL location: /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/gogdl
(11:40:31) INFO:    [Connection]:       Connectivity: check-online
(11:40:31) INFO:    [Connection]:       Pinging external endpoints
(11:40:31) INFO:    [Gog]:              Checking for existing gog manifests
(11:40:31) INFO:    [Backend]:          DRM module staus {
  "oimompecagnajdejgnnjijobebaeigek": {
    "status": "new",
    "title": "Widevine Content Decryption Module",
    "version": "4.10.2710.0"
  }
}
(11:40:32) WARNING: [Backend]:          Failed to register protocol with OS.
(11:40:32) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/alex/.config/heroic/legendaryConfig/legendary /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/legendary --version
(11:40:32) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/alex/.config/heroic/gogdlConfig /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/alex/.config/heroic/gog_store/auth.json --version
(11:40:32) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=/home/alex/.config/heroic/nile_config /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/nile --version
(11:40:32) INFO:    [Connection]:       Connectivity: online
(11:40:32) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/alex/.config/heroic/gogdlConfig /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/alex/.config/heroic/gog_store/auth.json auth
(11:40:32) INFO:    [Backend]:          User Not Found, removing it from Store
(11:40:32) INFO:    [Gog]:              Checking if login is valid
(11:40:32) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/alex/.config/heroic/gogdlConfig /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/alex/.config/heroic/gog_store/auth.json auth
(11:40:32) INFO:    [Gog]:              Updating redist, reason - new buildId
(11:40:32) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/alex/.config/heroic/gogdlConfig /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/alex/.config/heroic/gog_store/auth.json auth
(11:40:32) INFO:    [Backend]:          AreWeAntiCheatYet data downloaded
(11:40:32) INFO:    [Backend]:          
System Information:
CPU: 16x AMD Ryzen 7 7700X 8-Core Processor
Memory: 32.71 GB (used: 3.46 GB)
GPUs:
  GPU 0:
    Name: Advanced Micro Devices, Inc. [AMD/ATI] Raphael
    IDs: D=164e V=1002 SD=364e SV=1849
    Driver: amdgpu
  GPU 1:
    Name: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]
    IDs: D=731f V=1002 SD=e417 SV=1da2
    Driver: amdgpu
OS: Fedora Linux 40 (KDE Plasma) (linux)

The current system is not a Steam Deck
We are not running inside a Flatpak container

Software Versions:
  Heroic: 2.14.1 Flame Emperor Sabo
  Legendary: 0.20.34 Direct Intervention
  gogdl: 1.0.1
  Nile: 1.0.2 Jonathan Joestar

(11:40:33) INFO:    [Frontend]:         Refreshing undefined Library
(11:40:33) WARNING: [Backend]:          refresh not implemented on Sideload Library Manager
(11:40:33) INFO:    [Legendary]:        Refreshing library...
(11:40:33) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/alex/.config/heroic/gogdlConfig /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/alex/.config/heroic/gog_store/auth.json auth
(11:40:33) INFO:    [Backend]:          Frontend Ready
(11:40:33) INFO:    [Backend]:          Checking for new Heroic Updates
(11:40:33) INFO:    [Backend]:          Checking for current version changelog
(11:40:34) INFO:    [Gog]:              Getting game metadata: GOGDL_CONFIG_PATH=/home/alex/.config/heroic/gogdlConfig /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/alex/.config/heroic/gog_store/auth.json info gog-redist --os windows
(11:40:34) INFO:    [Gog]:              Getting GOG library
(11:40:34) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/alex/.config/heroic/gogdlConfig /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/alex/.config/heroic/gog_store/auth.json auth
(11:40:34) INFO:    [Winetricks]:       Downloading Winetricks
(11:40:35) INFO:    [Gog]:              Saved username to config file
(11:40:35) ERROR:   [Gog]:              stdout = false and res.abort = false in getInstallInfo
(11:40:35) INFO:    [DownloadManager]:  Galaxy Common Redistributables  was added to the download queue.
(11:40:35) INFO:    [Gog]:              Updating GOG redistributables
(11:40:35) INFO:    [Gog]:              GOG REDIST:: GOGDL_CONFIG_PATH=/home/alex/.config/heroic/gogdlConfig /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/alex/.config/heroic/gog_store/auth.json redist --ids ISI --path /home/alex/.config/heroic/tools/redist/gog
(11:40:35) DEBUG:   [Gog]:              Logging to file "/home/alex/.config/heroic/GamesConfig/gog-redist.log"
(11:40:35) INFO:    [Backend]:          Preventing machine to sleep
(11:40:36) INFO:    [DownloadManager]:  gog-redist added to download manager finished.
(11:40:36) INFO:    [DownloadManager]:  gog-redist removed from download manager.
(11:40:36) INFO:    [WineDownloader]:   Updating wine versions info
(11:40:36) INFO:    [WineDownloader]:   Fetching upstream information...
(11:40:37) INFO:    [Gog]:              Saved games data
(11:40:37) WARNING: [Backend]:          listUpdateableGames not implemented on Sideload Library Manager
(11:40:37) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/alex/.config/heroic/gogdlConfig /tmp/.mount_HeroicmoH4AI/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/alex/.config/heroic/gog_store/auth.json auth
(11:40:38) INFO:    [Backend]:          Starting the Download Queue
(11:40:38) INFO:    [WineDownloader]:   wine versions updated
(11:40:38) INFO:    [Gog]:              Found 0 game(s) to update

Steps to reproduce

  1. Open the Heroic Launcher
  2. Go to the GOG store
  3. Add any game into your shopping cart
  4. Go to checkout
  5. Select payment via Visa credit card
  6. Fill in the information of a Visa credit card that holds the necessary amount of money to pay for the game
  7. Proceed to pay for the game
  8. Wait for the 3-D Secure window to pop up, letting you know that you should confirm the transaction through the banking app on your phone
  9. Confirm the transaction through the banking app
  10. The 3-D Secure popup does not go away automatically afterwards, as it should

Expected behavior

The transaction should proceed as soon as I confirm the transfer through my banking app. This does not happen

Screenshots

screenshot

Heroic Version

Latest Stable

System Information

Additional information

No response

arielj commented 1 month ago

I doubt heroic can fix this. We just display the store inside a webview but GOG is probably not prepared to run full-featured inside a third-party webview app (it's not even a full browser), and we don't have any control over the site itself.

I even don't think GOG can do much about it since payment gateways have their own flows and security measures, it's probably our of GOG's control too.

meyou69 commented 1 month ago

I don't know If I understood your comment correctly, but If you're implying that the cause of this is the GOG website itself, I disagree with that since purchases with my Visa card on their website does go through.

So, from my point of view, it seems like the fault lies with Heroic itself. If I'm wrong, please feel free to correct me

arielj commented 1 month ago

I'm not saying is GOG's site failing.

What I mean is: in heroic, we show the GOG site in a limited version of something like a browser inside another browser (a webview), but it's not a full-featured browser and it has limitations, so some things that expect a real browser may fail and in that case it's also out of our control (I imagine the issue is Electron's webview).

meyou69 commented 1 month ago

Ah, I see now. That makes sense.

If you feel like this bug fix is impossible to implement, I can just close the issue then.

Let me know