For a while now, I've been having issues with in-app purchases being charged in US dollars instead of Naira as I would have preferred. See How To Pay For Google Play Store Apps In Naira With 9Pay. In-App purchases would appear in Naira but when it comes to check out, the price would automatically revert to US dollars. In desperate times, I would have to delete my USD google account to get the Naira account active as default and do my in-app purchases.
Anyway I finally tried some things different today after reading quite a number of old posts online regarding this issue and this one worked. It's pretty simple but might require a huge amount of data depending on which app you're trying to fix in-app purchases for.
It's basically all about deleting the problematic app on your phone, switching your Google Play Store app to the Google account with your preferred currency and reinstalling the app again. Apparently in-app purchases are attached to all accounts from which you have previously installed the app before.
Warning: This might not work for you and you'd end up wasting data redownloading your app if you're not on an unlimited internet data plan. Personally I saved data by repeating some steps in this old post: How To Move/Update Asphalt 8 On Multiple Devices.
Delete App and Traces of App From All Google Accounts
Delete the app in question then go to Google Play store. Switch to all google accounts on your device and repeat the following.
Go to My Apps & Games, swipe to Library and tap on X beside the app you have just deleted from your device. In my case, Asphalt 9 Legends was the one giving me issues.
This act is said to unlink the app from your Google account. Like as though the app was never installed from your account before.
Like I said before, repeat the same thing for all accounts on your device as over the years, you might have installed the app in question from different google accounts most especially if the app is a free to download app.
When you're done unlinking the app from all your google accounts, clear all data for Google Play Store. On Xiaomi devices, simply go to Settings, Manage Apps, Google Play Store. Tap on Clear Data and select the Clear All Data option.
For Vanilla android devices, it might be Settings, Apps, Google Play Store, Storage, Clear Data.
Reboot Device and Reinstall App
Once you're done clearing all data for Google Play Store, reboot your device. Launch Google Play Store and switch to the Google account with your preferred app purchases currency and then search and reinstall the app.
Everything should work just fine from here onwards. Hope this works for you. Have a great weekend guys.
UPDATE: 29th November 2019 If for some reason you also wish to change your Google Play Store Country, watch this video