I'm implementing Google Pay in a banking app and I've run into an issue implementing the "Continue yellow path through push provisioning" test scenario, if you have access to the documentation, you can look at it here.
Basically, whenever I list the tokens for a given wallet, and I find a token in the TapAndPay.TOKEN_STATE_NEEDS_IDENTITY_VERIFICATION
state for the selected card, I initialize the "Add to GPay button" and on click I call the tokenize()
method with the token reference ID, which should resume the manual provisioning. This all works as expected and I'm able to successfully verify the token using the "Sign in to bank app" method, which opens a dialog in our app and returns a result to the Google Pay app and after succeeding, it returns a result with Activity.RESULT_OK
to our app, but the problem is that after all of this, when I list the tokens, the activated token is still in the TOKEN_STATE_NEEDS_IDENTITY_VERIFICATION
state.
I've contacted the official support, and they suggested that I should call the getTokenStatus()
method after getting back to our app, because I'm probably getting a cached result for the token, which I did, but with no luck. The token remains in the "needs verification" state, until I manually open the Google Pay app and the token is shown properly just then.
My question is, has anyone experienced this before, and what was the resolution. Is there any way to manually invalidate the Google Pay tokens cache or to trigger the clear cache somehow? I've added the registerDataChangedListener
as well as manually triggering data refresh onResume
(listing all tokens), but still no luck. I've even killed and restarted our app, but the token state is still unchanged until I open the Google Pay app.