remp / crm-apple-appstore-module
CRM Apple AppStore Module
Package info
github.com/remp2020/crm-apple-appstore-module
pkg:composer/remp/crm-apple-appstore-module
Requires
- php: ^8.3
- aporat/store-receipt-validator: ^4.2
- readdle/app-store-server-api: ^3.5
This package is auto-updated.
Last update: 2026-06-07 08:22:00 UTC
README
Installation
We recommend using Composer for installation and update management. To add CRM Apple AppStore extension to your REMP CRM application use following command:
composer require remp/crm-apple-appstore-module
Enable installed extension in your app/config/config.neon file:
extensions: # ... - Crm\AppleAppstoreModule\DI\AppleAppstoreModuleExtension
Add database tables and seed Apple AppStore payment gateway and its configuration:
php bin/command.php phinx:migrate php bin/command.php application:seed
Configuration
Module uses default implementation of ServerToServerNotificationProcessorInterface to match notification with system's user and subscription type.
- If subscription type cannot be matched, processor returns an error and doesn't acknowledge the notification.
- If user cannot be matched, processor creates anonymous unclaimed user (user with
user_metaflagUnclaimedUser::META_KEYset to true). This is needed to fulfill Apple's rules - user registration cannot be prerequisite of iOS in-app purchases.
If you want to control this process and match the user/subscription type based on your own criteria, or if you want to acknowledge the notification but skip the processing if user/subscription type cannot be matched, you can create your own implementation of interface and use it in your config file:
services: serverToServerNotificationProcessor: Crm\FooModule\Models\AppleAppstore\ServerToServerNotificationProcessor
Enable Server-To-Server notifications
Apple Developer Documentation contains steps how to enable Server-to-Server Notification.
Support Notes
unified_receipt.latest_receipt_info.quantitymust be 1. We allow only one subscription per payment.