Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Google Play Billing Laravel Package

imdhemy/google-play-billing

A PHP package for server-side Google Play Billing integration. Validate in-app purchases and subscriptions, verify purchase tokens with Google Play, handle acknowledgements, and add billing support to Laravel or any PHP app.

Deep Wiki
Context7

Technical Evaluation

Architecture fit: This package is best treated as a server-side Google Play billing adapter inside a Laravel backend. It can verify purchase tokens, acknowledge purchases, and potentially process Real-time Developer Notifications (RTDN), but it should not become the system of record for entitlements. TPMs should place it behind an internal BillingGateway interface so subscription state, entitlement decisions, and audit history remain owned by the product backend.

Integration feasibility: Feasible for a Laravel team already using Google Play Console, service accounts, and Pub/Sub. Integration requires Google Cloud credentials, Play Developer API access, a webhook endpoint for RTDN, queue workers, and test SKUs. The package’s low adoption (51 stars) and unknown repository metadata mean a short technical spike and code review are required before committing.

Technical risk: Medium-high. Risks include low community scrutiny, unclear maintainer responsiveness, unknown test coverage, Google API version drift, service-account credential handling, webhook authentication, duplicate RTDN delivery, purchase-token replay, and subscription-state complexity. The future-dated release metadata should also be verified against the actual repository history. MIT licensing reduces lock-in, but the team should be prepared to fork or replace the package with direct google/apiclient calls if needed.

Key questions: Which Laravel and PHP versions are supported? Does it handle subscriptions, consumables, acknowledgements, voided purchases, and RTDN? Is webhook processing idempotent and queue-safe? How are service-account credentials configured and protected? What is the test coverage and release cadence? Does it support multiple apps or tenants? What happens on Google API quota exhaustion or outage? Is there a clean fallback to the official Google client library?

Integration Approach

Stack fit: Fits a Laravel-centric backend with a billing service, webhook controller, queued jobs, scheduler-based reconciliation, and an internal entitlement service. Keep the package isolated behind an adapter and avoid leaking its models or exceptions into domain code. The runtime needs PHP 8.x, Composer, Google Cloud project access, and a service account with Play Developer API permissions.

Migration path: For a greenfield integration, pilot in a sandbox environment with license-test users and test SKUs. For an existing custom Google API integration, wrap the package in the existing billing interface, run shadow verification against production purchase tokens, compare results, and cut over behind a feature flag. Do not migrate entitlement tables or subscription lifecycle logic as part of the package adoption.

Compatibility: Validate Composer constraints against the application’s Laravel and PHP versions. Confirm whether the package depends on google/apiclient or direct HTTP calls, and whether that dependency is current. Verify support for the current Google Play Billing API, RTDN payload schema, and multiple app package names if required. Confirm it can run safely across multiple queue workers and application instances.

Sequencing: Start with a non-production spike covering one subscription product. Then implement verification and acknowledgement, followed by an authenticated RTDN webhook with idempotent processing. Add subscription lifecycle reconciliation, refunds, and voided-purchase handling. Finish with load/security testing, canary release, and runbooks. Keep a direct Google API fallback designed before launch.

Operational Impact

Maintenance: Budget for periodic dependency upgrades, Google API deprecation reviews, and possible internal patching. Pin the package version and monitor releases and issues. Because the community is small, TPMs should identify an internal owner and assume some fork risk. MIT licensing makes patching possible but still requires Laravel/PHP capability.

Support: Expect community-level support rather than a commercial SLA. Use GitHub issues for package defects and Google Cloud support for API/platform issues. Document internal escalation paths, credential rotation, and webhook troubleshooting. Avoid making the package a single point of operational knowledge.

Scaling: Billing verification volume is usually modest, but RTDN retries and webhook bursts can stress the system. Use queues, idempotency keys, exponential backoff, dead-letter queues, and rate-limit-aware Google API calls. Cache product metadata where safe, but never cache entitlement decisions without a clear invalidation strategy. Horizontal scaling is viable if webhook and job handlers are idempotent.

Failure modes: Watch for invalid or expired service accounts, Google API quotas/outages, missed or duplicate RTDN messages, webhook authentication failures, acknowledgement failures that trigger refunds, purchase-token replay, subscription-state drift, clock skew, and malformed payloads. Mitigate with audit logs, alerting, reconciliation jobs, retry policies, and manual replay tooling.

Ramp-up: A Laravel developer can likely complete basic purchase verification in days, but full subscription lifecycle, RTDN, reconciliation, refunds, and operational readiness should be planned as a 2–4 week effort including testing and runbooks. The team needs familiarity with Google Play Console, service accounts, Pub/Sub, and mobile subscription semantics. TPMs should schedule a discovery spike and security review before committing to this package.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings