PHPackages                             remp/crm-google-play-billing-module - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. remp/crm-google-play-billing-module

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

remp/crm-google-play-billing-module
===================================

CRM GooglePlay Billing Module

4.4.0(6mo ago)12.7kMITPHPPHP ^8.1

Since Mar 9Pushed 5mo agoCompare

[ Source](https://github.com/remp2020/crm-google-play-billing-module)[ Packagist](https://packagist.org/packages/remp/crm-google-play-billing-module)[ Docs](https://remp2030.com)[ RSS](/packages/remp-crm-google-play-billing-module/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (58)Used By (0)

Google Play Billing Module
==========================

[](#google-play-billing-module)

[![Translation status @ Weblate](https://camo.githubusercontent.com/d6883d2e2a6edb1e7a58e045ae1d99fdc8f4f9df9681f2a641146707743e2c5f/68747470733a2f2f686f737465642e7765626c6174652e6f72672f776964676574732f72656d702d63726d2f2d2f676f6f676c655f706c61795f62696c6c696e672d6d6f64756c652f7376672d62616467652e737667)](https://hosted.weblate.org/projects/remp-crm/google_play_billing-module/)

Installation
------------

[](#installation)

We recommend using Composer for installation and update management. To add CRM GooglePlay Billing extension to your [REMP CRM](https://github.com/remp2020/crm-skeleton/) application use following command:

```
composer require remp/crm-google-play-billing-module
```

Enable installed extension in your `app/config/config.neon` file:

```
extensions:
	# ...
	- Crm\GooglePlayBillingModule\DI\GooglePlayBillingModuleExtension
```

Add database tables and seed GooglePlay Billing payment gateway and its configuration:

```
php bin/command.php phinx:migrate
php bin/command.php application:seed
```

Configuration
-------------

[](#configuration)

### Payment notifications

[](#payment-notifications)

To be able to read pub/sub notifications generated by your payments, CRM needs to be able to have an access to your Pub/Sub notifications account via service account credentials.

Head to the [Google Developer Console](https://console.developers.google.com/) - Credentials and generate new Service account JSON key and download it.

Make sure you're generating the key for the same project and same service account, that's linked to your [Google Play console](https://play.google.com/apps/publish/) - Developer account - API access.

Enter path to service account JSON with access to Google Play into CRM configuration:

- Visit to CRM admin settings *(gear icon)*.
- Select **Payments** category.
- Enter path to **Google Play Service Account** key.

Mapping subscriptions
---------------------

[](#mapping-subscriptions)

GooglePlay's in-app subscription is mapped to CRM subscription type via relation table `google_play_billing_subscription_types`.

We'll be adding administration interface later. For now it's needed to seed these mapping data manually.

Matching payments with CRM users
--------------------------------

[](#matching-payments-with-crm-users)

GooglePlay's in-app subscription is mapped to CRM users via `obfuscatedExternalAccountId` field of `SubscriptionResponse`. This field is present in [Google Play Billing library v2.2](https://developer.android.com/google/play/billing/release-notes#2-2).

For previous version (&lt;2.2) of Google Play Billing library, you have to set field `obfuscatedExternalAccountId` into [DeveloperPayload](https://developer.android.com/google/play/billing/developer-payload). *This is deprecated and will be removed after official `SubscriptionResponse` in Google's package `google/apiclient-services` is updated and response contains `getObfuscatedExternalAccountId()` method.*

If user cannot be matched, processor creates anonymous unclaimed user *(user with `user_meta` flag `UnclaimedUser::META_KEY` set to true)*. This is needed to fulfill Google's rules - user registration cannot be prerequisite of Android in-app purchases.

In case you need to link CRM user with app user in different way, you can override it by implementing `SubscriptionResponseProcessorInterface` and initializing own implementation as `subscriptionResponseProcessor` in config:

```
subscriptionResponseProcessor: Crm\FooModule\GoogleBillingSubscriptionResponse\MyFooBarSubscriptionResponseProcessor
```

Commands
--------

[](#commands)

### `google:revalidate-developer-notification`

[](#googlerevalidate-developer-notification)

Command serves to revalidate developer notification against Google Billing service.

Support
-------

[](#support)

- Google Play Developer API version 3 is supported.
- Only version 1.0 of DeveloperNotification is supported.
- Only version 1.0 of SubscriptionNotification is supported.
- One-time products are not supported.
- Free trial is accepted without checking if user *(MUID)* used trial already. We rely on Google; it shouldn't allow multiple free trials for one credit card.

###  Health Score

49

—

FairBetter than 95% of packages

Maintenance70

Regular maintenance activity

Popularity18

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~37 days

Recently: every ~52 days

Total

57

Last Release

194d ago

Major Versions

0.38.0 → 1.0.0-beta22022-02-03

0.39.0 → 1.0.02022-03-29

1.2.0 → 2.0.02022-08-25

2.11.0 → 3.0.02024-01-22

3.7.0 → 4.0.02025-04-02

PHP version history (5 changes)0.14.0PHP ^7.1

0.29.0PHP ^7.3

0.35.0PHP ^7.4

2.0.0PHP ^8.0

3.0.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/2c30fdbc85cda35b94f7f59399918193a0289152281abcef344ec9ee82864177?d=identicon)[markoph](/maintainers/markoph)

---

Top Contributors

[![markoph](https://avatars.githubusercontent.com/u/6843562?v=4)](https://github.com/markoph "markoph (55 commits)")[![rootpd](https://avatars.githubusercontent.com/u/812909?v=4)](https://github.com/rootpd "rootpd (54 commits)")[![Matefko](https://avatars.githubusercontent.com/u/22897457?v=4)](https://github.com/Matefko "Matefko (13 commits)")[![miroc](https://avatars.githubusercontent.com/u/1230714?v=4)](https://github.com/miroc "miroc (5 commits)")[![lubos-michalik](https://avatars.githubusercontent.com/u/63700066?v=4)](https://github.com/lubos-michalik "lubos-michalik (4 commits)")[![zoldia](https://avatars.githubusercontent.com/u/1526070?v=4)](https://github.com/zoldia "zoldia (3 commits)")[![burithetech](https://avatars.githubusercontent.com/u/3502143?v=4)](https://github.com/burithetech "burithetech (2 commits)")[![davidkvasnovsky](https://avatars.githubusercontent.com/u/12381721?v=4)](https://github.com/davidkvasnovsky "davidkvasnovsky (1 commits)")[![tomaj](https://avatars.githubusercontent.com/u/446736?v=4)](https://github.com/tomaj "tomaj (1 commits)")

### Embed Badge

![Health badge](/badges/remp-crm-google-play-billing-module/health.svg)

```
[![Health](https://phpackages.com/badges/remp-crm-google-play-billing-module/health.svg)](https://phpackages.com/packages/remp-crm-google-play-billing-module)
```

###  Alternatives

[spatie/laravel-google-calendar

Manage events on a Google Calendar

1.4k1.5M21](/packages/spatie-laravel-google-calendar)[tomatophp/filament-seo

Manage and generate SEO tags and integrate your website with Google SEO services

112.6k1](/packages/tomatophp-filament-seo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
