Generate Pass in Google Wallet with Integration Dynamics 365

Generate Pass in Google Wallet with Integration Dynamics 365

Table of Contents

1. Introduction

This presentation explores the integration of Google Wallet with Dynamics 365 to generate and manage digital passes for customers. Presented by Muhammad Zeeshan, this project aims to streamline pass issuance and enhance customer experiences.


2. Integration of Google Wallet with Dynamics 365

Google Wallet allows users to store digital passes such as loyalty cards, event tickets, and coupons. Integrating it with Dynamics 365 enables businesses to create and manage these passes automatically for contacts/customers. In this integration, we will:

  • Create an Issuer Account to issue passes.
  • Create a Service Account to access the Google Wallet API.
  • Generate and assign a pass to each contact in Dynamics 365.
  • Allow customers to add passes to Google Wallet.

This setup ensures each contact in the CRM receives a unique class and pass, enabling efficient tracking and management of digital memberships.


3. Why Integrate Google Wallet with Dynamics 365?

3.1 Use Cases

  • Businesses can issue loyalty cards to customers in CRM.
  • Event organizers can issue event tickets.
  • Membership-based organizations can provide digital ID cards.
  • Retailers can issue discount coupons to specific contacts.

3.2 Key Benefits

  • Seamless Pass Management: Automatically generate passes for contacts.
  • Enhanced Customer Experience: Customers can store and access passes easily.
  • Secure & Scalable: Google Wallet ensures high security and scalability.

4. Advantages & Disadvantages

4.1 Advantages

  • Automated Pass Generation: No manual entry needed.
  • Secure & Unique Passes: Each contact gets a unique pass.
  • Easy Customer Access: One-click pass addition.
  • Integration with CRM Workflows: Automatically issue passes based on CRM triggers.

4.2 Disadvantages

  • Requires Google Wallet API access (not available in all regions).
  • Setup complexity: Requires configuring Google Cloud, IAM, and API calls.
  • Limited customization: Google Wallet imposes design restrictions.

5. Technical Implementation

5.1 Step 1: Create a Google Wallet Issuer Account

  • Go to Google Wallet API Console.
  • Click “Create Issuer Account”.
  • Fill in required details (Business Name, Contact Info, etc.).
  • Save your Issuer ID (e.g., 3388000002).

5.2 Step 2: Create a Service Account & Download JSON File

  • Open Google Cloud Console.
  • Go to IAM & Admin > Service Accounts.
  • Click “Create Service Account”.
  • Assign a Name & Description (e.g., GoogleWalletService).
  • Under Permissions, grant:
    • Wallet Objects Viewer
    • Wallet Objects Editor
  • Download the JSON Key File (required for API authentication).
Generate Pass in Google Wallet with Integration Dynamics 365
Generate Pass in Google Wallet with Integration Dynamics 365

5.3 Step 3: Grant Service Account Permissions

5.4 Step 4: Generate & Display “Add to Google Wallet” Button

  • Once the pass is created, return the Add to Google Wallet Link: https://pay.google.com/gp/v/save/{object_id}.
  • Embed this URL as a button in Dynamics 365.

5.5 Steps to Enable Google Wallet API and Create Service Account

  1. Enable Google Wallet API: Navigate to API & Services in Google Cloud Console, search for Google Wallet API, and click Enable.
  2. Access API & Services: Manage all APIs related to your project here.
  3. Create Service Account: Go to Credentials > Create Credentials > Service Account.
  4. Fill in Service Account Details: Use a name like “GoogleWalletService” and add a description.
  5. Manage Service Account Settings: Configure options and keys via Management settings.
  6. Create and Download Keys: Click Manage Keys > Add Key > Create New Key (JSON format) and download the file.

5.6 Steps to Create Issuer Account

  1. Create Issuer Account: Visit https://pay.google.com/business/console/, click “Create New Business Account”, and enter details. Then, go to Google Wallet API and click “Get Started”.
  2. Invite Service Account: In the Google Pay Business Console, go to Users > Invite User, and enter the service account email from the JSON file.
Steps to Create Issuer Account in google Pay & Wallet Console

6. Authentication Steps for Trial Accounts

For trial accounts, add the user receiving the pass as an authorized user in Google Cloud Console to ensure functionality due to authentication restrictions.


7. Optimized Solution

7.1 Class Approach

  • One reusable class (template) for each contact.
  • Objects for each contact linked to the class.
7. Optimized Solution

7.2 CRM Integration

  • Check status before create/update.
  • Skip creation or expire objects for inactive contacts.

8. Architecture Overview

8.1 Components

  • Google Wallet API (Genericclass, Genericobject)
  • C# Application
  • CRM System (status retrieval)

8.2 Flow

  • Create single class (CreateClass).
  • For each contact:
    • Check CRM status.
    • Create/update object (CreateOrUpdateObject).

8.3 CreateClass Method

  • Purpose: Create one reusable class.
  • Logic:
    • Check if class exists.
    • If not, create with template (points, contacts fields).
    • Run once, not per contact.
  • Key Features:
    • Returns classId for object linking.
    • Handles errors gracefully.
    • Trial Mode: Fully functional in demo mode.

8.4 CreateOrUpdateObject Method

  • Purpose: Manage objects per contact.
  • Logic:
    • Check CRM status:
      • Inactive → Skip create or expire object.
  • Active → Create/update object.
  • Links object to single class via ClassId.
  • Key Features:
    • Customizes objects (e.g., points, contacts).
    • Scales for 100k contacts.
    • Trial Mode: Testable with test users.

9. How to Expire a Pass from Google Wallet?

When a contact in Dynamics 365 becomes inactive:

  • Expire the pass (moves it to the archived section).
  • Hide the pass so it does not appear in the user’s wallet.

9.1 Why Hide Instead of Delete?

FeatureDelete (Not Allowed)Hide (Best Practice)
Removes pass fullyNoYes (from active view)
User can still seeNoOnly in archived section
Can be restoredNoYes (if reactivated)

10. Works in Trial (Demo) Mode

10.1 Capabilities in Demo Mode

  • Create single class.
  • Generate objects for test users.
  • Simulate CRM status logic.

10.2 Limitations

  • Passes limited to test users.
  • Cannot issue to 100k contacts until publishing mode.

10.3 Strategy

  • Test with a subset (e.g., 100 objects).
  • Batch processing for scale simulation.

11. The Challenge

  • Initial Approach: One class per contact.
  • Issue:
    • 100k contacts = 100k classes.
    • High storage consumption.
    • Management complexity.
  • Goal: Optimize for scale and efficiency.
  • Additional Requirement: Sync with CRM status (active/inactive).

12. How to Use

We’ve developed a web application where customers input their Identification Number and click “Generate Pass” to create a pass linked to their profile. An “Add to Google Wallet” button then allows them to add the pass directly to their Google Wallet account.


13. Project Benefits

  • Scalable: Easily pass interface contacts.
  • Dynamic: Syncs with CRM status.
  • Testable: Works in trial mode also.
  • Future-Ready: Easy to update class for all objects.

Conclusion

Integrating Google Wallet with Dynamics 365 streamlines the process of issuing and managing digital passes, enhancing customer engagement and operational efficiency. This implementation provides businesses with a scalable, automated, and secure solution to manage loyalty cards, event tickets, and digital IDs. By leveraging Google Wallet’s API and CRM workflows, organizations can offer a seamless experience to their customers while ensuring easy management of digital assets. With a well-optimized architecture, businesses can efficiently handle large-scale deployments while maintaining synchronization with CRM status updates.

Readmore : Incremental Data Load using Lookup Transformational Tool in SSIS

FAQ’s

Can I issue Google Wallet passes to all my customers in Dynamics 365?

Yes, you can generate and assign digital passes to all contacts in Dynamics 365, provided you have the necessary Google Wallet API access and setup.

What happens if a customer becomes inactive in Dynamics 365?

If a customer becomes inactive, their pass is automatically expired and moved to the archived section in Google Wallet, ensuring that only active customers have valid passes

Is the integration available in all regions?

Google Wallet API availability varies by region. Before implementation, check whether Google Wallet is supported in your business location.

Picture of SkySoft Connections

SkySoft Connections

SkySoft Connections is a software solution company that was established in 2016. Our quality services begin with experience and end with dedication. Our directors have more than 15 years of IT experience to handle various projects successfully. Our dedicated teams are available to help our clients streamline their business processes, enhance their customer support, automate their day-to-day tasks, and provide software solutions tailored to their specific needs. We are experts in Dynamics 365 and Power Platform services, whether you need Dynamics 365 implementation, customization, integration, data migration, training, or ongoing support.

Conatct us