[SOLVED] Google Play in-app purchasing: Error [DF-AA-20]

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
gammastre
Regular
Posts: 42
Joined: Sat Oct 29, 2016 10:20 am
Completed: Requiescence
Projects: Chess of Blades
Organization: Argent Games
Tumblr: argentgames
itch: argent-games
Location: Silent Void
Contact:

[SOLVED] Google Play in-app purchasing: Error [DF-AA-20]

#1 Post by gammastre »

When we try to test purchasing a route in-game via Google Play's Alpha Tester production release with a different account from the Developer account, we get the error "Error retrieving information from server. [DF-AA-20]. Microtransactions are published, and we've tried testing with local test.purchase, on phones, and on emulators.

Image
Image

Here's our code for in-app purchases:

Code: Select all

init:
    $ iap.register("dom_route",identifier="com.argentgames.redembrace",google="com.argentgames.redembrace")
    $ iap.register("isaac_route",identifier="com.argentgames.redembrace",google="com.argentgames.redembrace")
    $ iap.register("rex_route",identifier="com.argentgames.redembrace",google="com.argentgames.redembrace")
    $ iap.register("full_game",identifier="com.argentgames.redembrace",google="com.argentgames.redembrace")
    $ iap.register("android.test.purchased",identifier="com.argentgames.redembrace",google="com.argentgames.redembrace" )

Code: Select all

screen dom_purchase:
    tag menu
    zorder 10
    modal True


    imagemap:
        ground "gui/micro.png"
        idle "gui/micro.png"
        hover "gui/micro.png"

        hotspot (347,334,585,62) action iap.Purchase("dom_route", success="[jump dominic, Hide('dom_purchase')]")
        hotspot (347,464,585,62) action iap.Purchase("full_game", success="[jump dominic, Hide('dom_purchase')]")
        hotspot (347,592,585,62) action MainMenu()

Code: Select all

imagemap:
        ground "gui/card_idle.png"
        idle "gui/card_idle.png"
        hover "gui/card_idle.png"

        hotspot (979,21,301,111) action ShowMenu("profiles")
        # if iap.has_purchased("dom_route") or iap.has_purchased("full_game"):
            # hotspot (959,496,283,206) action ShowMenu("already_purchased")
        
        # else:
        hotspot (959,496,283,206) action iap.Purchase("android.test.purchased")
options.rpy

Code: Select all

define build.google_play_key = "XXXXXXXX ... XXXXX"
define build.google_play_salt = (X,X, ... , X)
Last edited by gammastre on Wed Feb 14, 2018 10:44 pm, edited 1 time in total.
Image

Little bit of everything and lots of nothing, business manager
Twitter | Website | Tumblr

Image Image

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4084
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: Google Play in-app purchasing: Error [DF-AA-20]

#2 Post by jack_norton »

Well that's a google play error, so I don't think it's anything related to Ren'Py. But I've never seen that error myself so not sure.
follow me on Image Image Image
computer games

User avatar
PyTom
Ren'Py Creator
Posts: 16088
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Google Play in-app purchasing: Error [DF-AA-20]

#3 Post by PyTom »

It looks like you're using incorrect ids for the different purchases. You've defined all of your purchases to have the same identifier and play store identifier, "com.argentgames.redembrace". But in google, each has a different name, "full_game", "rex_route", etc. So when you ask google for com.argentgames.redembrace, nothing happens.

I'd expect the purchases to have names like "com.argent_games.redembrace.full_game", etc.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

gammastre
Regular
Posts: 42
Joined: Sat Oct 29, 2016 10:20 am
Completed: Requiescence
Projects: Chess of Blades
Organization: Argent Games
Tumblr: argentgames
itch: argent-games
Location: Silent Void
Contact:

Re: Google Play in-app purchasing: Error [DF-AA-20]

#4 Post by gammastre »

Tried the following, but it still errors.

Code: Select all

init:
    $ iap.register("dom_route",identifier="com.argentgames.redembrace",google="com.argentgames.redembrace.dom_route")
    $ iap.register("isaac_route",identifier="com.argentgames.redembrace",google="com.argentgames.redembrace.isaac_route")
    $ iap.register("rex_route",identifier="com.argentgames.redembrace",google="com.argentgames.redembrace.rex_route")
    $ iap.register("full_game",identifier="com.argentgames.redembrace",google="com.argentgames.redembrace.full_game")
    $ iap.register("android.test.purchased",identifier="com.argentgames.redembrace",google="com.argentgames.redembrace.android.test.purchased" )
Image

Little bit of everything and lots of nothing, business manager
Twitter | Website | Tumblr

Image Image

gammastre
Regular
Posts: 42
Joined: Sat Oct 29, 2016 10:20 am
Completed: Requiescence
Projects: Chess of Blades
Organization: Argent Games
Tumblr: argentgames
itch: argent-games
Location: Silent Void
Contact:

Re: Google Play in-app purchasing: Error [DF-AA-20]

#5 Post by gammastre »

Update: The following code now works (without the DF-AA-20 error)

Code: Select all

init:
    $ iap.register("dom_route_product",identifier="com.argentgames.redembrace.dom_route",google="dom_route")
    $ iap.register("isaac_route_product",identifier="com.argentgames.redembrace.isaac_route",google="isaac_route")
    $ iap.register("rex_route_product",identifier="com.argentgames.redembrace.rex_route",google="rex_route")
    $ iap.register("full_game_product",identifier="com.argentgames.redembrace.full_game",google="full_game")[/cod]
Image

Little bit of everything and lots of nothing, business manager
Twitter | Website | Tumblr

Image Image

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot]