[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
User avatar
gammastre
Regular
Posts: 38
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 » Tue Feb 13, 2018 7:20 pm

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: 3978
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 » Wed Feb 14, 2018 12:26 pm

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 Image
computer games

User avatar
PyTom
Ren'Py Creator
Posts: 15223
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 » Wed Feb 14, 2018 8:21 pm

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
"Silly and fun things are important." - Elon Musk
Software > Drama • https://www.patreon.com/renpytom

User avatar
gammastre
Regular
Posts: 38
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 » Wed Feb 14, 2018 9:39 pm

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

User avatar
gammastre
Regular
Posts: 38
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 » Wed Feb 14, 2018 10:18 pm

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: No registered users