remp/crm-google-play-billing-module
Composer 安装命令:
composer require remp/crm-google-play-billing-module
包简介
CRM GooglePlay Billing Module
README 文档
README
Installation
We recommend using Composer for installation and update management. To add CRM GooglePlay Billing extension to your REMP CRM 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
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 - 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 - 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
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
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.
For previous version (<2.2) of Google Play Billing library, you have to set field obfuscatedExternalAccountId into DeveloperPayload. 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
google:revalidate-developer-notification
Command serves to revalidate developer notification against Google Billing service.
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.
remp/crm-google-play-billing-module 适用场景与选型建议
remp/crm-google-play-billing-module 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.74k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2020 年 07 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 remp/crm-google-play-billing-module 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 remp/crm-google-play-billing-module 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 2.74k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 16
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-07-17