feat: wire Google Wallet into loyalty enrollment, stamps, and points flows
Connect the fully-implemented Google Wallet service to the loyalty module: - Create wallet class/object on customer enrollment - Sync wallet passes on stamp and points operations - Expose wallet URLs in storefront API responses - Add conditional "Add to Google Wallet" buttons on dashboard and enroll-success pages - Use platform-wide env var config (not per-merchant DB column) - Add Google service account patterns to .gitignore - Add LOYALTY_GOOGLE_* fields to app Settings - Update deployment docs and add local testing guide Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -169,6 +169,11 @@ class PointsService:
|
||||
db.commit()
|
||||
db.refresh(card)
|
||||
|
||||
# Sync wallet passes with updated points balance
|
||||
from app.modules.loyalty.services.wallet_service import wallet_service
|
||||
|
||||
wallet_service.sync_card_to_wallets(db, card)
|
||||
|
||||
logger.info(
|
||||
f"Added {points_earned} points to card {card.id} at store {store_id} "
|
||||
f"(purchase: €{purchase_euros:.2f}, balance: {card.points_balance})"
|
||||
@@ -295,6 +300,11 @@ class PointsService:
|
||||
db.commit()
|
||||
db.refresh(card)
|
||||
|
||||
# Sync wallet passes with updated points balance
|
||||
from app.modules.loyalty.services.wallet_service import wallet_service
|
||||
|
||||
wallet_service.sync_card_to_wallets(db, card)
|
||||
|
||||
logger.info(
|
||||
f"Redeemed {points_required} points from card {card.id} at store {store_id} "
|
||||
f"(reward: {reward_name}, balance: {card.points_balance})"
|
||||
@@ -437,6 +447,11 @@ class PointsService:
|
||||
db.commit()
|
||||
db.refresh(card)
|
||||
|
||||
# Sync wallet passes with updated points balance
|
||||
from app.modules.loyalty.services.wallet_service import wallet_service
|
||||
|
||||
wallet_service.sync_card_to_wallets(db, card)
|
||||
|
||||
logger.info(
|
||||
f"Voided {actual_voided} points from card {card.id} at store {store_id} "
|
||||
f"(balance: {card.points_balance})"
|
||||
@@ -523,6 +538,11 @@ class PointsService:
|
||||
db.commit()
|
||||
db.refresh(card)
|
||||
|
||||
# Sync wallet passes with updated points balance
|
||||
from app.modules.loyalty.services.wallet_service import wallet_service
|
||||
|
||||
wallet_service.sync_card_to_wallets(db, card)
|
||||
|
||||
logger.info(
|
||||
f"Adjusted points for card {card.id} by {points_delta:+d} "
|
||||
f"(reason: {reason}, balance: {card.points_balance})"
|
||||
|
||||
Reference in New Issue
Block a user