LokiCheckout_AdobePaymentConfigCli
This Magento 2 module adds CLI commands for configuring Adobe Payment Services (PayPal Commerce Platform via Adobe's SaaS Services Connector) for the Loki Checkout. If you don't need this CLI command, you don't need this module.
Installation
Install this package via composer:
composer require loki-checkout/magento2-adobe-payment-config-cli
Next, enable this module:
bin/magento module:enable LokiCheckout_AdobePaymentConfigCli
Usage
Adobe Payment Services always requires both a sandbox and a production Commerce Services Connector key pair. To configure everything (credentials, SaaS project and data space, sandbox and production merchant IDs) in one go:
bin/magento loki-checkout:adobe-payment:configure \
--sandbox-api-key="$ADOBE_PAYMENT_SANDBOX_API_KEY" \
--sandbox-private-key="$ADOBE_PAYMENT_SANDBOX_PRIVATE_KEY" \
--production-api-key="$ADOBE_PAYMENT_PRODUCTION_API_KEY" \
--production-private-key="$ADOBE_PAYMENT_PRODUCTION_PRIVATE_KEY" \
--methods=hosted_fields,smart_buttons
Instead of passing the PEM contents, private keys can be passed as file via --sandbox-private-key-file and
--production-private-key-file (use - to read one of them from stdin).
The command replaces the admin pages Commerce Services Connector (Services ID) and Payment Services dashboard:
- Both key pairs are saved (encrypted) and validated remotely against Adobe.
- The SaaS project and data space are selected from the merchant registry (just like the Services ID page) or created when no project with the given name exists yet.
- A sandbox and a production merchant are created via Adobe (just like the Payment Services dashboard) and their
IDs are saved to
payment/payment_methods/sandbox_merchant_idandpayment/payment_methods/production_merchant_id. Existing merchant IDs are kept, so the command can safely be run multiple times.
Available options:
--mode- the active payment environment,sandboxorproduction(default:sandbox)--sandbox-api-key/--production-api-key- the Services Connector API keys (required)--sandbox-private-key/--production-private-key- the RSA private keys as PEM contents--sandbox-private-key-file/--production-private-key-file- paths to the RSA private key PEM files--sandbox-merchant-id/--production-merchant-id- use existing Adobe merchant IDs instead of creating new ones--project-name- the SaaS project to select or create (default:loki)--project-id/--environment-id/--environment-name- select a specific SaaS project or data space--methods- comma-separated list of payment methods to activate, orall(opt-in, no default)--skip-onboarding- skip the remote SaaS project selection and merchant creation--no-validate- skip the remote credential validation calls to Adobe--dry-run- print the intended configuration writes without changing anything
Accepted --methods values: hosted_fields, smart_buttons, apple_pay, google_pay, fastlane, apm, vault.
To check the current configuration status:
bin/magento loki-checkout:adobe-payment:status
bin/magento loki-checkout:adobe-payment:status --format=json
Known limitations
- The Adobe merchant registry is only reachable via the production SaaS gateway, so
magento_saas/environmentis always set toproduction(independent of--mode). - Adobe keeps a single merchant per SaaS data space and offers no way to look up its ID. If the data space already
has a merchant (for instance after reinstalling a shop), creating it fails with "Merchant already exists": pass the
existing ID via
--sandbox-merchant-id/--production-merchant-id. Given and existing merchant IDs are verified against Adobe. - Adobe only finds a merchant within the SaaS data space that created it. When given merchant IDs are not found in
the selected data space, all data spaces of the merchant registry are tried and the one owning the merchant IDs
is configured instead. This automatic switch is skipped when
--project-idor--environment-idis passed. Given merchant IDs are only saved once Adobe confirms them. A previously saved merchant ID that Adobe does not know within the selected data space is discarded and replaced by a new merchant. - Merchant IDs are not the same as SaaS project or data space IDs (both are UUIDs). Find them under
payment/payment_methods/sandbox_merchant_idandpayment/payment_methods/production_merchant_id. - Processing payments still requires the PayPal onboarding (linking a PayPal sandbox or live business account) via the PayPal-hosted page, which involves a PayPal login in the browser. The status command shows the PayPal onboarding status per environment, including the PayPal URL to complete it.
Current status
@dev
to the composer command.
Support
For getting support, create an Issue under the following project URL:
https://gitlab.yireo.com/loki-checkout-dev/LokiCheckout_AdobePaymentConfigCli.git
Module Dependencies
The following dependencies are declared in the module its `etc/module.xml` file:
LokiCheckout_AdobePayment
LokiCheckout_Core
Magento_Backend
Magento_Config
Magento_Payment
Magento_PaymentServicesBase
Magento_PaymentServicesPaypal
Magento_ServicesConnector
Magento_ServicesId
Magento_Store
Composer details
LokiCheckout_AdobePaymentConfigCliloki-checkout/magento2-adobe-payment-config-cli
ext-json: *
loki-checkout/magento2-adobe-payment: ^0.0
loki-checkout/magento2-core: ^2.0
magento/framework: ^103.0
magento/module-payment-services-base: ^2.11
magento/module-services-id: ^3.3
magento/payment-services: ^2.11
magento/services-connector: ^1.3
php: >=8.2 <8.6
symfony/console: ^5.0 | ^6.0 | ^7.0
Releases
Changelog
- Fix "Merchant not found" for given merchant IDs by auto-discovering the SaaS data space that owns them
- Only save given merchant IDs after Adobe confirmed them, and replace stale configured merchant IDs
- Explain when a SaaS project or data space ID is passed as merchant ID
- Fix compatibility with older Payment Services versions with private environment constants
- Fix Playwright tests by using the checkout-specific
@loki-checkout/config
[0.0.1] - 15 September 2026
- Initial release