LokiCheckout_AdobePaymentConfigCli

This integration is available in the paid plans for the Loki Checkout. Support for this integration is provided as is, because we are depending upon the original vendor as well. High priority support is only available on an hourly basis.
Payment
Professional
Standard
Development
PHP 8.2 - 8.5
Magento 2.4.6 - 2.4.9
CSP Yes
PHPStan 1
Magento PHPCS 9
License OSL-3.0
Latest Release none

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:

  1. Both key pairs are saved (encrypted) and validated remotely against Adobe.
  2. 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.
  3. 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_id and payment/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, sandbox or production (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, or all (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/environment is always set to production (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-id or --environment-id is 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_id and payment/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

pipeline failed
WARNING: This module has no releases yet. If you want to use it, make sure to add the version @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
Magento module name
LokiCheckout_AdobePaymentConfigCli
Composer name
loki-checkout/magento2-adobe-payment-config-cli
Composer version
No release yet
Default branch
main
Requirements
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

Last modified: September 15, 2026