Skip to main content
Google Pay recurring payments follow the same two steps as cards: a customer initiated transaction (CIT) that vaults the instrument, then merchant initiated transactions (MIT) on the resulting vaulted_token. The full reason and usage matrix is on Stored credentials.

Customer Initiated Transaction (CIT)

On the CIT, send vault_on_success: true and place stored_credentials under detail.wallet, because the payment method is still the wallet at this point:
The key parameters for a CIT are:
  • vault_on_success: true: Vaults the decrypted card as a CARD record with parent_payment_method_type: GOOGLE_PAY and returns its vaulted_token in the payment response. customer_payer.id must reference an existing customer (create it first with Create Customer). Without it the payment still succeeds but nothing is vaulted: the response carries an empty vaulted_token and no error.
  • detail.wallet.stored_credentials.usage: "FIRST": Marks the first transaction of the recurring series. Yuno stores the network_transaction_id returned by the provider on the saved record.
Do not place stored_credentials under detail.card on the CIT. It is not validated for a wallet payment and may be dropped, which leaves the saved record without stored-credential flags and without a network_transaction_id.
The vaulted_token is returned only in the CIT payment response. Wallet-vaulted instruments are intentionally not included in Retrieve Enrolled Payment Methods, so store the token on your side when the CIT succeeds.

Merchant Initiated Transaction (MIT)

Subsequent charges use the vaulted_token as a stored card. No Google Pay token and no checkout session are needed:
The key parameters for an MIT are:
  • vaulted_token: The token returned in the CIT response.
  • detail.card.stored_credentials.usage: "USED": Marks a subsequent transaction in the series. Yuno attaches the network_transaction_id from the CIT automatically.