shop.config with the most sections. This is because each payment method gets its own section, all sections share the same set of standard parameters, and some payment methods bring along their own additional parameters.
This page is therefore structured from the inside out. First, the common schema of all payment method sections. Then the standard parameters that may appear in each of these sections. After that, the four subsections and the two central dependency sections that let you control availability more finely. Finally, the special features of the individual payment methods and the accompanying sections for credit checks, credit card types, and error messages from service providers.
Reference: Shop configuration shop.config, overview of all sections
The PaymentXXX-Txt schema
Each payment method is configured in its own section whose name follows the pattern PaymentXXX-Txt. XXX stands for the identifier of the payment method. For SOFORT Überweisung, this results in PaymentDIRECTebanking-Txt; for cash on delivery, PaymentCashOnDelivery-Txt.
When a section is read at all
Before any further parameter is evaluated, the kernel checks three things. If one of these checks fails, the entire section is discarded without any message appearing.If both a test section and a production section for the same payment method are in the configuration and test mode is active, the test section wins. The production section is then no longer read.
shop.config; it is done by WEBSALE AG.
Standard parameters
The following parameters are allowed in everyPaymentXXX-Txt section. They’re grouped by task here, because alphabetical order hides the relationship between parameters that belong together.
Basic setting and display
RadioOnClick and ImgOnClick only take effect if the payment method selection is implemented with DIV containers. In RadioOnClick, the local tags RadiobuttonID and ID are available; in ImgOnClick, the tags Link and ID.
If
Dependencies contains HTML, WS-TplComment must be prepended for technical reasons, for example like this:Local tags in NameSuffix
Costs and discounts
Cost-List is written as a sequence of tiers in parentheses. Before the colon is the merchandise value from which the tier applies; after it, the costs. A trailing percent sign turns the absolute amount into a percentage of the merchandise value.
TotalSumAddition absorbs rounding differences. If the payment is only authorized and the merchandise management system later wants to collect one cent more than was authorized, this fails without the surcharge.
Availability by amount and weight
A fixed order determines which maximum value actually applies. First
MaxOrderForNewUser-Value, if the buyer has no customer number and the value is set. Then MaxOrderForReseller-Value, if the buyer is a reseller and the value is set. Then the value stored in the customer account, if MaxOrderForUserAccount-Allow is enabled. Only after that MaxOrder-Value.
MaxOrderForUserAccount-Allow and IgnoreMaxOrderValueForReseller-Allow aren’t described in the previous documentation. They’re evaluated by the kernel and have been added in this migration.Availability by country
Any value other than
AllowCountries acts like DenyCountries, including an empty one. If both rule and list remain empty, no country restriction applies.
Availability by customer
Availability by basket contents
eBooks-Allow isn’t described as a parameter in the previous documentation, even though rejection reason 20 refers to it. It has been added in this migration.Availability by shipping method
Reference: Section +Deliverer
Additional inputs for the payment method
These six parameters aren’t described in the previous documentation and have been added in this migration. The leading asterisk is part of the parameter name. For each number, the kernel first looks for the variant with an asterisk and only if it’s missing, for the variant without. If both are in the configuration, the variant with the asterisk wins and the field is a required field.
+CountryRule subsections instead.
Dependencies by ID
Display as deactivated
The kernel evaluates this parameter in three stages. An empty value and
never switch the display off. always always switches it on. Any other value is read as a comma-separated list of rejection reasons, including a typo. If you write allways, for example, you don’t get an error message, but a list with the single unknown entry allways, which doesn’t match any rejection reason.
ShowDisabled-Txt
This subsection of a PaymentXXX-Txt section contains the note texts that appear for a grayed-out payment method. You can specify a separate text for each rejection reason, plus a text under the key default for all reasons without their own text.
A subsection of the same name also exists for shipping methods, there within
DelivererShowDisabled-Definitions.Rejection reasons
AddressFilter
With this subsection, you make the payment method dependent on a specific input in the billing address. A typical use is a free address field containing, for example, a customer group or a sales channel.
The filter switches itself off if
TechnicalFieldName is empty or Values-List is empty. In both cases, the payment method remains available without any message appearing.
If the buyer didn’t fill in the field, the filter doesn’t apply either. If the filter should always apply, the address field must be a required field.
The
AddressFilter section may appear multiple times within a PaymentXXX-Txt section. The kernel reads the blocks one after another. The previous documentation describes it only in the singular.+CountryRule
With these subsections, you request additional information for a payment method, for example a phone number for the clearing service provider or a consent checkbox. Up to ten +CountryRule sections are possible per PaymentXXX-Txt section. The order in the configuration determines the order in the shop.
Parameters
UseAddressInput determines which address supplies the country. customer uses the billing address. delivery uses the delivery address if one was chosen, otherwise the billing address. onlydelivery uses only the delivery address and doesn’t request anything at all if no different delivery address was chosen.
UserDependency refers to the company name field. company only requests the input if a company name is entered. private only requests it if none is entered. Any value other than private and company acts like no.
Several peculiarities of the evaluation aren’t described in the previous documentation and are added here.
MaxLength is silently set to the internal maximum for a value less than or equal to zero and for a value above that maximum. There is no error message.Type = checkbox fixes MaxLength at 10, because only checked or nothing is stored as the value.Type = dateofbirth fixes UseAddressInput to customer. The input is additionally saved in the customer data.Any value of Type other than listbox, dateofbirth, or checkbox results in input.Type has a technical ID that can be queried in the template using the PAY- tags.
+listentry
You define the entries of a selection list in +listentry subsections. Up to 100 entries are possible. The section is only needed if Type = listbox is set.
If you omit
ID for an entry, you get a selection option without a technical value, for example for the entry “Please select”.
Reserved IDs
All IDs with the prefixws_ are reserved. Additional information with these IDs is evaluated by certain clearing and credit check procedures. For these, the kernel overrides part of your configuration so that the procedure receives the data in the expected form.
The previous documentation lists only seven of these IDs and states no enforced settings for
ws_clearing_easycredit and ws_clearing_ppc_invoice_phone. The table has been completed in this migration based on the kernel.The two entries with the addition “only without an existing phone number” aren’t requested at all if the billing address already contains a phone or mobile number. The required field is then omitted.PaymentEnvironmentDependencies-Definitions
Here you specify that a payment method is only offered on certain devices. The basis is the user agent that the buyer’s browser transmits. The assignment to the payment method is made via the +UsePaymentEnvironmentDependency-ID parameter in the PaymentXXX-Txt section.
The section may appear only once in the shop.config and needs at least one +EnvironmentDependency subsection.
Note the nesting.
+EnvironmentDependency contains +DependencyGroup, which contains +Dependency.
PaymentProductDependencies-Definitions
Here you specify that a payment method depends on the product index, the product number, or a free product data field. The assignment is made via +UseProductDependency-ID in the PaymentXXX-Txt section.
This section, too, may appear only once in the shop.config and needs at least one +ProductDependency subsection.
Free product fields carry the prefix
AF-, for example AF-DeliveryTime. They must also be enabled for the basket in the AdditionalProductFieldsInBasket section.
For
greater and smaller, both values are converted to integers. A value that can’t be converted is read as 0.
For matchsimplewildcard and notmatchsimplewildcard, ? stands for exactly one arbitrary character at that position and * for any number of characters. The asterisk may only appear at the end.
In the source documentation, this section contained two errors that are corrected here. The note on nesting said
<+ProducttDependency> with a double t. For the BasketBehavior parameter, the permitted value was given as matche-once instead of match-once.The individual payment methods
All of the following sections also understand all standard parameters from above. Only their own parameters are listed.Without their own parameters
These sections get by with the standard parameters.PaymentPrepayment-Txt
Prepayment. The three parameters fill the display of the bank details.
PaymentCreditCard-Txt
Credit card. You also define the offered card types in the Card1 to Card5 sections.
The content of the CustomFields is truncated to 50 characters after parsing and then UTF-8 encoded.
PaymentDebitNote-Txt
Direct debit. This section covers three variants: classic direct debit, direct debit via Paymorrow, and direct debit via PayPal Checkout. Accordingly, not all parameters are relevant for every integration.
Input field labels
Required fields and visibility
SEPA
With
SEPAMandateGeneratorPrefix = DEU- and SEPAMandateGeneratorOffset = 320001, the first generated mandate references are DEU-320001, DEU-320002, and so on.
In the source documentation, the example values of these two parameters were swapped. The offset was assigned
DEU- and the prefix 320001. This is corrected here.Electronic direct debit
Selection box for saved bank details
Paymorrow
A product name is mandatory for Paymorrow.
PaymorrowLineItemDefaultName prevents a product without a name from blocking the purchase. The pseudo product numbers must not come from the number range of the products offered in the shop and must be agreed with the merchant.
Paymorrow’s external error messages are output via the MSG-PayDeliv_Notify tag. Without prefix and suffix, they appear unstyled.
The salutation lists ensure that the correct salutation is preselected when the address is passed to Paymorrow.
PaymentDebitNote-Country
Holds the plain-text names for the country codes of the direct debit. The parameter names are the ISO codes themselves; other is also possible.
PaymentPaymorrow-Txt
Invoice via Paymorrow. The parameters B2BMode, PaymorrowRequestLanguageCode, the two notify parameters, the eight LineItem parameters, and the two salutation lists correspond to those from PaymentDebitNote-Txt. In addition:
PaymentPaypal-Txt
PayPal in the direct integration, via Computop, and as Express Checkout. Depending on the integration, only some of the parameters are relevant.
ExpressCheckoutNoShipping controls the delivery address. 0 displays it on the PayPal pages. 1 hides all delivery address fields. 2 takes the address from the shop’s customer account if the buyer doesn’t specify one.
Three modes are available for the basket transfer. AllEntriesAsSingleLineItem-TotalSum transfers the entire order as one item. OneEntryPerLineItem-SubTotalSum transfers one item per basket entry without surcharges and deductions, and is only possible with Express Checkout. OneEntryPerLineItemWithDummies-TotalSum transfers one item per basket entry plus the dummy products. The default in both cases is AllEntriesAsSingleLineItem-TotalSum.
If
PassBasketToPayPal-DummyAddition or PassBasketToPayPal-DummyReduction is empty, the shop automatically switches the mode back to AllEntriesAsSingleLineItem-TotalSum.PaypalPaymentAction in detail. sale debits immediately. authorization only authorizes and checks creditworthiness with PayPal; the authorization is valid for a maximum of 29 days. order only obtains the user’s consent, without PayPal checking the availability of funds, and can be kept open longer than 29 days.
Characters that aren’t alphanumeric aren’t passed to PayPal with PassToPaypalAsCustomParameter. This also applies to spaces and umlauts.
If no logo is defined via PayPalLogoImg, the company name entered under PayPalBrandName appears. If that’s also missing, PayPal uses the company name stored in the account.
PaymentPayPalPlus-Txt
PayPal PLUS.
With
PaypalDenyPendingPayments-Allow = no, the merchant must subsequently check whether payment has been made for an order with the status “pending” before processing it.
PaymentPayPalCheckout-Txt
PayPal via the PayPal Checkout integration.
PaymentPayPalCheckoutPayLater-Txt
Pay Later via PayPal Checkout. Supports DummyItemAddition and LanguageCode with the same meaning as above.
PaymentPayPalInvoice-Txt
Purchase on invoice with RatePay via PayPal Checkout. All five parameters are mandatory.
Purchase on invoice via this integration is currently only available in Germany.
Alternative payment methods via PayPal Checkout
These sections all follow the same pattern and supportDummyItemAddition and LanguageCode.
Two sections also bring their own parameters.
PaymentPayPalCheckoutAPM_GOOGLEPAY-Txt for Google Pay additionally supports ExpressCheckout-Allow with the values yes and no, default no.
PaymentPayPalCheckoutAPM_APPLEPAY-Txt for Apple Pay additionally supports ExpressCheckout-Allow, Brandname for the company name on the PayPal page with a maximum of 127 characters, and ExpressCheckoutNoDeliveryMessage with the values 0, 1, and 2 for handling the delivery address.
The source documentation on Apple Pay via PayPal Checkout contained two errors that are corrected here. The example code was headed with
<PaymentPayPalCheckoutAPM_GOOGLEPAY-Txt>. In the parameter table, the parameter was introduced as Brandname, but referred to as PayPalBrandName in the description text. The correct parameter name in this section is Brandname.PaymentApplePay-Txt and PaymentGooglePay-Txt
Apple Pay and Google Pay in the integration via Computop. Both sections support the same three parameters.
If the corresponding Computop clearing isn’t enabled, the entire section is skipped and none of these parameters is read.
PaymentKlarna-Txt
Klarna Payments in the direct integration.
PaymentPaydirekt-Txt
Paydirekt.
The pseudo product numbers must not come from the number range of the products offered.
PaymentBillie-Txt
Billie purchase on invoice.
PaymentInstallment-Txt
Installment purchase. Depending on the provider, further sections are added.
PaymentDIRECTebanking-Txt
SOFORT Überweisung.
PaymentPostFinance-Txt
PostFinance.
PaymentPayU-Txt
PayU.
Credit check
Two sections set the threshold values for the credit check. The parametersInfoScore-Allow and CreditPass-Allow in the respective PaymentXXX-Txt section determine which payment method is checked.
InfoScore
Whether the total merchandise value is considered gross or net depends on the shop’s setting in the
VAT section.
For example, if the invoice payment method should be removed as soon as Infoscore returns a value of 350 or less, set InfoScore-Allow = yes in the PaymentBill-Txt section and eScoreDenyLessThan-Value = 351. The higher the Infoscore value, the better the creditworthiness. Clarify the appropriate decision threshold directly with Infoscore.
CreditCheckPeriod only works if your merchandise management system supplies the date of the last check.CreditPass
Card1 to Card5
Defines the accepted credit card types. In addition, the credit card payment method must be enabled in the PaymentCreditCard-Txt section with Allow = yes.
The five parameters
BrandID, PaymetricBrandID, Img, Link, and ImgOnClick aren’t described in the previous documentation and are added here.A Card section is discarded completely if Name is empty or Allow isn’t set to yes. No message appears.CompuTopBrandID: VISA, MasterCard, Maestro, AMEX, Diners, Discover, and AirPlus.
Values for TeleCashSec2ID: M for MasterCard, V for Visa, A for American Express, C for Diners, and J for JCB.
Values for WSCardType: 1 for VISA, 2 for MasterCard, 3 for American Express, 4 for Diners Club, and 5 for JCB. Values above 100 can be used freely. The parameter is mandatory when using the order generator, but isn’t evaluated for the technical processing of the order.
CompuTop-ErrorMessages
Defines how the shop handles error messages from Computop. The section is only needed if Computop error messages should appear in the language of the subshop in foreign-language subshops.
You get the error codes directly from Computop.
Paymorrow-Mapping and PaymorrowDebit-Mapping
Link free address data fields of the shop with the Paymorrow parameters. This is needed to request legal form, company owner, and registration number from business customers. Paymorrow-Mapping applies to invoice via Paymorrow, PaymorrowDebit-Mapping to direct debit via Paymorrow. Both sections support the same three parameters.
You create the address data fields themselves in the
AddressFields-Txt section.
Reference: Section AddressFields-Txt
Paymorrow-NotifyMessages and PaymorrowDebit-NotifyMessages
Define the error messages for invoice or direct debit via Paymorrow. A +Entry subsection is created for each error case. Both sections support the same seven parameters.
Clarify directly with Paymorrow which values Paymorrow supplies in which error case.
If several errors occur at the same time, only the first matching message defined in this section appears. The order of the
+Entry sections therefore determines which message the buyer sees.