Skip to main content
The payment node bundles the complete payment configuration of the shop, including individual payment methods (display, rules) and payment providers such as PayPal, Stripe or Computop.

payment* - Basic structure

The basic structure of the payment node is shown below:
{
  "payment": {
    "payment": {},
    "computopHosted": {},
    "payPalCheckout": {},
    "payPalPlus": {},
    "stripe": {},
    "transactionSettings": {}
  }
}
Parameter description
ParameterDescription
paymentControls which payment methods are offered in the shop.
computopHostedConfigures the connection to Computop.
payPalCheckoutConfigures the connection to PayPal Checkout.
payPalPlusConfigures the connection to PayPal Plus.
stripeConfigures the connection to Stripe.
transactionSettingsCentrally defines which functions are supported by the payment providers
(e.g. refund, manual, capturing).

payment.computopHosted - Computop Hosted Payments

With payment.computopHosted Computop can be integrated as a hosted payment page. The node controls, for example, operating mode (live / test), encryption and language / template of the payment page. Example configuration (payment.computopHosted.creditcard)
{
  "capturingMode": "auto",
  "chDesc": "",
  "encryption": "blowfish",
  "hmacKey": "",
  "hostedCheckBoxDefaultChecked": false,
  "hostedTemplateName": "Websale",
  "id": "creditcard",
  "languageCode": "",
  "linkValidForSeconds": 500,
  "mode": "test",
  "passCredentialOnFile": true,
  "pwLarge": "",
  "sendIPAddr": true,
  "sendIPZone": true,
  "sendZone": true,
  "totalSumAddition": 0,
  "uid": "Websale"
}
Parameter description
ParameterTypeDescription
capturingModeenumAllowed values:
auto = the payment is verified and collected directly in one step.
manual = the amount is only reserved during checkout but not yet charged.
chDescstringText that appears for the payer (e.g. on the card statement).
encryptionenumAllowed values:
aes = modern encryption option.
blowfish = older encryption option still supported.
hmacKeystringSecret key for data integrity checks against Computop.
hostedCheckBoxDefaultCheckedboolSets a consent checkbox provided by Computop to active or inactive (true / false).
hostedTemplateNamestringName of the template for the hosted Computop payment page.
idstringUnique identifier of the payment method (e.g. creditcard). Freely selectable.
languageCodestringLanguage of the hosted page (e.g. de, en). Empty = Computop default.
linkValidForSecondsintValidity period of the payment link in seconds.
modeenumOperating mode of the Computop integration.
Allowed values:
- test = for sandbox tests.
- live = used in production.
passCredentialOnFileboolMarks “card data on file” for follow-up transactions, if supported.
pwLargestringAdditional password according to Computop specification.
The password is used for encrypted transmission.
sendIPAddrboolSends the customer IP address to Computop.
sendIPZoneboolSends the zone derived from the IP (e.g. country / region) to Computop.
sendZoneboolSends the shop zone (e.g. delivery zone) to Computop.
totalSumAdditionfloatFixed surcharge / discount in currency units on the total sum of the payment method (e.g. 0.30).
0 = no surcharge / discount.
Only possible if capturingMode is manual.
uidstringMerchant / account ID at Computop.

payment.payment - Define payment methods

The payment.payment node combines all payment methods of the shop. Here you can define, for example, whether a payment method is active, how it should be named and presented in the checkout, which provider serves it and which rules apply. Example configuration (payment.payment.paypalCheckout)
{
  "active": true,
  "description": "<Textbaustein>",
  "discount": 0,
  "displayedPaymentTypes": null,
  "freeFields": null,
  "id": "paypalCheckout",
  "image": "",
  "labels": ["<Textbaustein>"],
  "name": "<Textbaustein>",
  "onlineClearing": {
    "options": {
      "view": "paypal_checkout_pending.htm"
    },
    "service": "payment.paypal-checkout"
  },
  "orderText": "<Textbaustein>",
  "provider": "",
  "type": "",
  "validations": [
    { "service": "paymentValidation.voucherDeny" }
  ]
}
Parameter description
ParameterTypeDescription
activeboolTurns the payment method in the checkout on / off.
idstringUnique identifier of the payment method, e.g. paypalCheckout.
namestringDisplay name in the checkout, e.g. “PayPal”.

orderText (coming soon)stringTechnical handover value for connected third-party systems exported with the order.

labels (coming soon)list (string)Optional short label for the payment method that can be displayed as a hint in the checkout.

type (coming soon)stringDescribes the type of payment processing and helps with the display in the checkout.
Common values are: online — payment runs via a provider. offline — payment is handled manually.
onlineClearingsingleServiceLinks the payment method to a specific online payment engine and thus activates the real-time payment flow.
Target: payment
provider (coming soon)stringTechnical provider key (e.g. stripe).
image (coming soon)stringIcon / logo URL for the payment method.
displayPaymentTypeslist (object)This parameter allows you to store multiple entries with their own name, icon, image or description for a payment method.
This is particularly relevant when, for example, payment providers like Stripe are directly configured as payment methods but the contained payment options are to be presented separately outside of the order process — for example in the footer or on a payment methods information page.
The display of the contained payment options within the order process is usually handled by the respective provider.
The following properties can be set per entry:
- name — display name of the payment option.
- image — path or URL to an image / icon of the payment option.
- description — description text of the payment option. The output in the template is done via the variable of the $wsConfig module, through which the configured entries can be displayed in the frontend at the desired position.
validationsmultiServiceRules and checks for the availability of a payment method
(e.g. paymentValidation.voucherDeny — blocks the payment method for voucher baskets, paymentValidation.userAgent — restricts the payment method to certain devices or browsers).
More under: Validation and check services. Target: paymentValidation
discount (coming soon)floatDiscount / surcharge in currency units (e.g. 2.00 — customer pays €2 less with this payment method).
descriptionstringLonger description / notes about the payment method.

freeFieldslist (string)Free fields (e.g. to capture additional information for invoice purchase, such as date of birth or company details).
Currently used only for Computop.

payment.payPalCheckout - PayPal Checkout configuration

The payments.payPalCheckout node configures the PayPal Checkout in the shop. This includes, for example, activation, the operating mode (live / test mode) and the language. Example configuration
{
  "active": true,
  "brandName": "Websale AG",
  "customerServiceInstructions": null,
  "denyPendingPayments": true,
  "dummyProductAddition": "dummy product",
  "expressCheckoutAllow": true,
  "languageCode": "de-DE",
  "logoUrl": "",
  "mode": "sandbox",
  "payerId": ""
}
Parameter description
ParameterTypeDescription
active (coming soon)boolTurns PayPal Checkout on / off.
payerIdstringPayPal merchant ID of the merchant account.
dummyProductAdditionstringOptional additional text for item names if PayPal requires a minimum input (e.g. placeholder for empty names).
denyPendingPaymentsbooltrue — orders with the PayPal status “pending” are rejected or not continued.
false — “pending” is allowed.
brandNamestringMerchant name that is displayed.
languageCodestringDisplay language for PayPal (e.g. de-DE, en-US).
logoUrlstringURL to a logo for display in the PayPal checkout.
customerServiceInstructionslist (string)Optional customer notes that can be displayed in the PayPal context.
modeenumOperating mode of the PayPal checkout.
sandbox — test mode.
live — production mode.
Default: sandbox
expressCheckoutAllowboolAllows PayPal Express (direct-buy buttons, e.g. in the basket or on the product).
Default: false

payment.payPalPlus - PayPal Plus configuration

PayPal Plus was an integrated payment solution for online merchants that bundled PayPal, direct debit, credit card and invoice purchase in one module. In the meantime, PayPal Plus has been replaced by the new PayPal Checkout. The integration has therefore been removed from the current software generation.The payments.payPalPlus node used to configure the PayPal Checkout in the shop. This included, for example, activation, the operating mode (live / test mode) and the language.Example configuration
{
  "active": false,
  "denyPendingPayments": true,
  "dummyProductAddition": "dummy product",
  "experienceProfileID": "<PROFILEID>",
  "merchantId": "<MERCHANTID>",
  "mode": "sandbox"
}
Parameter description
ParameterTypeDescription
active (coming soon)boolTurns PayPal Plus on / off.
merchantIdstringPayPal merchant ID of the merchant account.
dummyProductAdditionstringOptional additional text for item names if PayPal requires a minimum input (e.g. placeholder for empty names).
experienceProfileIDstringID of a PayPal experience profile (controls, among other things, presentation / branding in the PayPal flow).
denyPendingPaymentsbooltrue — orders with the PayPal status “pending” are rejected or not continued.
false — “pending” is allowed.
modeenumOperating mode of PayPalPlus.
sandbox — test mode.
live — production mode.
Default: sandbox

payment.stripe - Stripe configuration

The payment.stripe node configures Stripe as a payment service provider. This includes, for example, activation, the operating mode (live / test mode) and the language. Example configuration
{
  "active": false,
  "autoRefundOnError": true,
  "mode": "sandbox",
  "savedPaymentMethods": {
    "displaySavedPaymentMethods": false,
    "maxDisplayedSavedPaymentMethods": 3,
    "paymentMethodAllowDelete": false,
    "paymentMethodAllowSave": false
  },
  "targetAccount": ""
}
Parameter description
ParameterTypeDescription
activeboolTurns the Stripe connector on / off.
modeenumOperating mode of Stripe.
sandbox — test mode.
live — production mode.
Default: sandbox
targetAccountstringStripe account (e.g. account ID) to which payments are booked.
autoRefundOnErrorboolEnables the automatic refund if an error occurs during order processing on the WEBSALE side.
Orders that have already been paid but are invalid are automatically refunded.
If the option is disabled, such cases must be refunded manually in Stripe.
Default: true
savedPaymentMethodsobjectControl of the stored payment methods.
displaySavedPaymentMethodsboolDisplay already stored payment methods in the checkout.
maxDisplayedSavePaymentMethodsintMaximum number of stored payment methods to be displayed.
Default: 3
paymentMethodsAllowSaveboolCustomers are allowed to save new payment methods.
paymentMethodsAllowDeleteboolCustomers are allowed to delete stored payment methods.

payment.transactionSettings - Transaction settings (global)

The payment.transactionSettings node defines which actions can be carried out in the store backend for payments — e.g. refunds, cancellation, updating the status or capturing the amount. For each payment provider it is configured whether the respective action is allowed and which inputs are requested for it. Example configuration
{
  "clearers": [
    {
      "name": "paypalCheckout",
      "options": [
        { "name": "refund",  "active": true,  "additionalFields": [
          { "name": "amount",  "type": "decimal", "required": true },
          { "name": "reason",  "type": "string",  "required": false }
        ]},
        { "name": "cancel",  "active": true,  "additionalFields": [] },
        { "name": "refresh", "active": true,  "additionalFields": [] },
        { "name": "capture", "active": false, "additionalFields": [] }
      ]
    },
    {
      "name": "stripe",
      "options": [
        { "name": "refund",  "active": true,  "additionalFields": [
          { "name": "amount",     "type": "decimal", "required": false },
          { "name": "reference",  "type": "string",  "required": false }
        ]},
        { "name": "cancel",  "active": true,  "additionalFields": [] },
        { "name": "refresh", "active": true,  "additionalFields": [] },
        { "name": "capture", "active": true,  "additionalFields": [
          { "name": "amount", "type": "decimal", "required": true }
        ]}
      ]
    }
  ]
}
Parameter description
ParameterTypeDescription
clearerslist (object)List of connected payment processors for which transaction settings are to be configured.
namestringTechnical name of the provider (e.g. paypalCheckout, stripe).
optionslist (object)Defines per provider the allowed actions and their input fields.
nameenumPossible options: refund, cancel, refresh, capture.
activeboolEnables / disables the action in the store backend.
namestringField name (e.g. amount).
typestringData type of the field (e.g. string, int).
requiredboolDefines whether it is a required field for the action.

payment.* - Validation and check services

The predefined validation and check services for the payment node are used in validations and services. An overview can be found here: Validation and check services