Why This Matters
Merchant-initiated transactions (MIT) are the backbone of subscription services, buy-now-pay-later plans, and auto-reload wallets. Until now, the Google Pay API treated every transaction as a customer-initiated event, leaving merchants without a clear way to express future charges. This created friction: subscription renewals sometimes failed because card details changed, and users had no visibility into upcoming payments.
The new enhancements fix this by introducing structured objects that let you define recurring schedules, deferred one-time payments, and automatic reload conditions. The key addition is the ability to register a tokenUpdateUrl, which Google will call when the underlying payment credential changes (e.g., card expiry). This drastically reduces involuntary churn for subscription businesses.
For a broader look at how AI and automation are reshaping enterprise payments, check out our analysis of SAP + Microsoft at Sapphire 2026: The Blueprint for Autonomous Enterprise AI.

Breaking Down the New Objects
1. recurringTransactionInfo
This object describes a recurring payment schedule. You can specify multiple recurrence periods (e.g., a trial period followed by regular charges), each with its own price, status, and duration.
const paymentDataRequest = {
apiVersion: 2,
apiVersionMinor: 0,
allowedPaymentMethods: [{
type: 'CARD',
parameters: {
allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'],
allowedCardNetworks: ['VISA', 'MASTERCARD']
},
tokenizationSpecification: {
type: 'PAYMENT_GATEWAY',
parameters: {
'gateway': 'example',
'gatewayMerchantId': 'exampleMerchantId'
}
}
}],
recurringTransactionInfo: {
label: 'Monthly Premium Plan',
transactionId: 'SUB-2025-001',
introductoryPeriodInfo: {
label: '7-Day Free Trial',
price: '0.00',
priceStatus: 'FINAL',
recurrencePeriod: {
unit: 'DAY',
count: 7
}
},
recurrenceItems: [
{
label: 'Standard Monthly Charge',
price: '19.99',
priceStatus: 'FINAL',
recurrencePeriod: {
unit: 'MONTH',
count: 1
}
}
],
managementUrl: 'https://mysaas.com/subscriptions/manage',
tokenUpdateUrl: 'https://mysaas.com/api/google-pay-token-updates'
}
};
2. deferredTransactionInfo
Use this for one-time future payments, like a deposit on a service booked for next month.
deferredTransactionInfo: {
label: 'Booking Deposit - Summer Retreat',
transactionId: 'DEF-2025-789',
price: '150.00',
priceStatus: 'ESTIMATED',
deferredDate: '2025-07-01',
managementUrl: 'https://mybooking.com/reservations/789',
tokenUpdateUrl: 'https://mybooking.com/api/token-updates'
}
3. automaticReloadTransactionInfo
Ideal for digital wallets or prepaid services that need to top up when balance drops below a threshold.
automaticReloadTransactionInfo: {
label: 'Wallet Auto Top-Up',
transactionId: 'REL-2025-456',
reloadAmount: '25.00',
triggerThreshold: '5.00',
managementUrl: 'https://mywallet.com/reload-settings',
tokenUpdateUrl: 'https://mywallet.com/api/token-updates'
}
Token Update URL: The Game Changer
The tokenUpdateUrl is a webhook endpoint you host. When Google detects a credential change (e.g., card replacement), it sends a POST request to this URL with the new token data. Your server must respond with a 200 OK to confirm receipt. This eliminates the need for users to manually re-enter payment details—a massive win for retention.
For more on how modern development tools are enabling these kinds of integrations, see our guide on Agentic AI for Modernization: How Azure and GitHub Copilot Are Changing the Game.

Limitations and Considerations
- Token Update URL reliability: Your endpoint must be highly available. If it's down, Google will retry up to 3 times over 24 hours, but after that the token is marked as expired and the user may need to re-authenticate.
- Price status: Use
FINALonly when the amount is guaranteed. UsingESTIMATEDfor recurring items may cause user confusion if the final charge differs. - Management URL requirement: Google requires you to provide a
managementUrlso users can cancel or modify their recurring agreements. Failing to host this page could result in your integration being rejected during review. - Regional availability: These features are rolling out gradually. Check the official documentation for supported countries.
What's Next?
- Test with Google Pay test cards: Use the sandbox environment to simulate token updates and recurring charges.
- Monitor webhook logs: Set up logging and alerting on your
tokenUpdateUrlendpoint to catch failures early. - Explore the
priceStatusenum: Google may add more statuses (e.g.,VARIABLE) in future API versions.

Conclusion
These enhancements turn Google Pay from a simple checkout button into a full-fledged recurring payment platform. For subscription businesses, the tokenUpdateUrl alone could reduce involuntary churn by 20-30%. The new objects are well-designed and follow the same patterns as other Google Pay features, making adoption straightforward.
Start by integrating recurringTransactionInfo for your subscription flow, then add deferredTransactionInfo for one-off future payments. The automatic reload feature is perfect for gaming wallets, transit passes, or any prepaid service.
Remember: the best payment experience is one the user doesn't have to think about. These APIs help you get closer to that ideal.