Skip to main content

Basic principle

Every payment method is first created as its own configuration node under payment.payment.<ID>. The ID can be chosen freely; there are no fixed predefined names per payment method. This means that payment methods can be defined, for example, under nodes such as payment.payment.bill, payment.payment.applepay, payment.payment.googlepay, or payment.payment.paypal. Among other things, payment.payment defines whether the payment method is active, what label it has in the checkout, which image or icon is used, and which rules and restrictions apply to its availability. The official documentation describes payment.payment precisely as the area in which payment methods are bundled and properties such as active, id, name, image, validations, and the connection to online clearing are configured. Typical specifications for a payment method are, for example:
  • Active/inactive switching
  • Name and description
  • Image or icon
  • Permissibility or exclusion for certain countries
  • Permissibility or exclusion for certain products or baskets
  • Additional input fields or checks
  • Type of payment processing
More information on the general configuration options of a payment method can be found on the payment - Payment methods page.

Offline and online payment methods

For the configuration, it is first important to distinguish between offline and online processed payment methods. The documentation explicitly mentions typical values for type such as offline for manually processed payments and online for payments via a provider.

Offline payment methods

For a pure offline payment method, the configuration is generally complete with payment.payment.<ID>. The payment method is created, named, and offered in the checkout without an additional provider connection being required. A typical example is prepayment. Here, defining the payment method in payment.payment.prepayment is sufficient, since no real-time communication with a payment service provider is necessary. Example configuration payment.payment.prepayment
{
  "active": true,
  "basicCost": null,
  "description": "Text",
  "discount": 0,
  "displayedPaymentTypes": [],
  "freeFields": null,
  "id": "prepayment",
  "image": "",
  "labels": null,
  "name": "Prepayment",
  "onlineClearing": null,
  "orderText": "Text",
  "provider": "",
  "type": "",
  "validations": [ ]
}

Online payment methods

For online payment methods, the payment method is also first created under payment.payment.<ID>. The payment method itself always remains initially a standalone configuration under payment.payment.ID. Only when it is to be processed online is a suitable online connection added, in which the payment method is linked to a specific provider via the onlineClearing parameter, e.g., payment.paypal-checkout. Example configuration payment.payment.GooglePay
{
  "active": false,
  "basicCost": null,
  "description": "Text",
  "discount": 0,
  "displayedPaymentTypes": [],
  "freeFields": null,
  "id": "paypalCheckoutGooglePay",
  "image": "",
  "labels": null,
  "name": "GooglePay",
  "onlineClearing": {
    "options": {
      "type": "googlePay",
      "view": "paypal_checkout_pending.htm"
    },
    "service": "payment.paypal-checkout"
  },
  "orderText": "Text",
  "provider": "",
  "type": "",
  "validations": [ ]
}