Swissbilling

Introduction
With SwissBilling™ you get a simple means to offer payment by invoice in your own shop without great risk. In most cases this will increase sales and shopping cart size, especially since customers are also enabled to pay in installments and no credit card is required.
Unlike classic credit check systems, this solution goes a few steps further: Essentially, SwissBilling™ buys the receivable, you get your money in any case at a previously agreed deadline and have no more effort in receivables management - never write reminders again!

As soon as an order with payment method ‘Invoice with SwissBilling’ has been selected in PepperShop, the shop redirects the buyer to SwissBilling after the terms and conditions. There, after a successful risk check, the customer is offered to receive the invoice by post or by email and the payment in the shop is complete.
As soon as the goods are shipped, SwissBilling automatically receives a corresponding info message from the shop (the same also applies to cancellations). The invoice is sent separately.
SwissBilling is available for customers from Switzerland and Liechtenstein. Currently, payments are only accepted in Swiss Francs currency (as of June 2012). PepperShop currently uses the Gateway connection in version 1.0 without prescreening and without Hidden mode.
Shop System Configuration Adjustments
Payment Methods Activation and Country Groups
The SwissBilling module uses PepperShop’s Payment Interface v.2. A new payment method ‘Invoice with SwissBilling’ is inserted. Therefore, we must switch to the menu ‘Delivery Countries / Shipping’ in the shop administration and click on the ‘Edit’ button there at the country group where Switzerland is included. On this page we configure the availability of SwissBilling for Switzerland. In the point ‘Accepted Payment Methods’ we must now adjust some settings:
- Here you must first define a new interval amount: In the line “From amount (CHF)” enter the maximum amount agreed with SwissBilling in the shop base currency in a field (maximum limit).

- For the payment method “swissbilling” you must set checkmarks until you come to the corresponding column which describes the maximum limit.
- Finally, it must be ensured that in the column with the maximum limit and all columns behind it no checkmark is set for “swissbilling”.
- Now we confirm by clicking on the “Save payment methods” button.
- Please deactivate the payment method Invoice!
Warning: If there is a misconfiguration here, the payment method will be displayed in the checkout but after order completion when calling the SwissBilling payment page a rejection message will be displayed.

GDPR Setting - Inform Your Customer About the Query
Since May 25, 2018, GDPR has been active, queries may only be made for the invoice payment method. Please set it up so that the customer is informed, or best case their permission is obtained.
Customer Attributes
For SwissBilling to have all data available to perform a risk check, a certain number of customer attributes must be queried in the shop for checkout. The minimum configuration can be found shown in the following figure (red marked column “use”). This can be set in your own webshop at the following location: Shop Administration → Customer Attributes:

If your own webshop works with different delivery addresses, it must be ensured that at least the customer attributes mentioned in the above image are queried there (see red marked column “in delivery address”).
Warning: It is particularly important that the date of birth is queried (column: use), best with “check” also checked.
SwissBilling Module Configuration

Please go to the following location: ‘Shop Administration’ > ‘Modules’ > ‘SwissBilling’:
The central configuration mask of the SwissBilling module looks as follows:

Configuration:
- Activation: Only after setting a checkmark here, the module becomes available for the payment process. Furthermore, it must be enabled in ‘Delivery Countries / Shipping', as described in detail in the chapter further above.
- Merchant ID: Identifies the merchant (shop operator), is assigned by SwissBilling.
- E-Shop ID: Identifies the webshop, is assigned by SwissBilling.
- Password: The password is assigned by SwissBilling.
- Private Key: (sometimes also described as Public Key in the documentation). Is assigned by SwissBilling.
- Operation: Here you can set whether the connection to SwissBilling is only used for testing (NO REAL FINANCIAL TRANSACTIONS!), or whether productive operation should be activated.
- Confirm Transaction: This is about the so-called ‘Acknowledge Call’ to SwissBilling. Only when this has been sent will the transaction be released for invoicing!
- When should the shop send this to SwissBilling?
- It is recommended to choose ‘On Shipment’ here, then your PepperShop automatically informs SwissBilling via call when the order status changes to “shipped”.
- If “On Order Receipt” is chosen here, the webshop sends the Acknowledge call immediately after a successful SwissBilling transaction. This only makes sense if you can ship the goods one hundred percent. Otherwise you have the problem that this invoice will definitely be issued.
- If you choose “Never”, you must send the transaction confirmation (Acknowledge Call) manually to SwissBilling (or automatically via a connected system, such as an ERP system with interface to SwissBilling).
Info on EshopTransactionCancel. This does not need to be sent by the shop. If you do not execute or delete an order, you simply need to ensure that no Acknowledge call is sent / has been sent to SwissBilling.
Online Help
In the SwissBilling module you can find access to the online help texts for this module by clicking on the help button. The help texts are also accessible via the help archive or via the help topics from the shop administration main menu.
By the way, this manual is also linked as a PDF in the latest version in the online help.
Operation
Customer Side
- The customer places articles in the shopping cart
- He or she enters checkout and enters address data here and selects “Invoice with SwissBilling” as payment method (this payment method is displayed for Switzerland and the Principality of Liechtenstein when the shopping cart total is less than the individually agreed maximum limit with SwissBilling.

- The customer sees the order confirmation
- The customer accepts the terms and conditions
- SwissBilling shows the address and invoice type selection or reports on a negative risk decision that please another payment method should be selected.

- The SwissBilling transaction is completed. The customer is back in your PepperShop and sees the “thank you” page there. If the article rating module is installed, the customer can now also give ratings.

Shop Administration
Order Processing
If an order has been received which is paid via SwissBilling, the merchant can assume that this amount will be received. He can immediately begin further processing of the order. If all goods are available, the package can be prepared and franked1. In this case, the order status is adjusted to “shipped”.
You can select the new status in the “Order Status” dropdown, or click on the “Ship” button. Always when switching to the status “shipped” this action is executed.
The shop now sends the customer an email with the note that their order is being shipped.
Warning: SwissBilling will only release the transaction for invoicing when the order has been explicitly confirmed at SwissBilling. This is automatically the case if you manually click on the order status “shipped” in the shop administration and in the SwissBilling module configuration the point “Confirm Transaction” = “On Shipment” is set.
Info: See also PepperShop manual “Procedure after Receiving an Order".
Info: If a customer cancels the order. Please also delete the order in the shop administration. This causes in the default configuration a reversal of the stock levels in PepperShop.
If you view an order in customer management (click on “show” button), you can see all responses of the communication with SwissBilling at the bottom. See an example screenshot in chapter Appendix 1.
ERP Connection / Enterprise Business Connector / Caller Integration
If PepperShop is used in the Enterprise version, you can either send the Acknowledge messages yourself or simpler: Use the set_lieferstatus API. If ‘Confirm Transaction’ is configured to ‘On Shipment’ in the module, you can simply specify the invoice number and order status = 0020 in the delivery status import. The shop then changes the status of this order to shipped and automatically sends the Acknowledge Call to SwissBilling. See also Appendix 3 as an example.
Info on order export: The payment method of orders paid via SwissBilling is ‘swissbilling’.
Evaluation of SwissBilling Communication via Logs
The webshop logs all calls to SwissBilling that were not successfully completed, as well as additionally all Acknowledge, Cancel and Credit calls. Thus, the relevant data should be available for any problem to find the origin (mostly for a rejection in the order process). The logs can be found as follows: _‘Shop Administration’ > ‘Modules’ > ‘Log Viewer’ _(see image).
Installation
System Requirements
To use the SwissBilling module, a PepperShop v.3.0 Standard or Connect is required. This module is optionally available and is not part of the standard delivery scope.
Copy and Upload Files
The SwissBilling module essentially consists of four files that must be copied into your installed PepperShop. First, extract the provided ZIP archive. The following files are included, shown here with the target directories:
{shopdir}/shop/swissbilling_def.php
{shopdir}/shop/swissbilling_caller.php
{shopdir}/shop/swissbilling_payment.php
{shopdir}/shop/Admin/module/swissbilling
The files can be easily uploaded to the web server via (S)FTP or SCP. The placeholder {shopdir} stands for the shop directory on the web server, where the file index.php together with the file README.txt can be found.
Module Installation
After copying the files, you can go to the shop administration and switch to the Modules menu there.
Here you click on “PepperShop Module Management” and then see the following display with the modules and their installation status:
Here we click on SwissBilling in the left window and then on the Button* ‘Install’*. We confirm the installation process by clicking on the button ‘*Back to Module Management’*. The module is now listed on the right side ‘Already Installed Modules’.
Log Viewer Installation
Before we now use the SwissBilling functionality, we must also install the external PepperShop module “Log Viewer” (if this has not already been done), as this is used by the SwissBilling module. We now click there on the button titled PepperShop Module Management and perform the installation analogously to the SwissBilling module.
After installing the Log Viewer, it now also appears in the right window.
Info: The SwissBilling module does not use rotating log files. It is recommended to delete the logs from time to time.
We now return to the main menu of the shop administration: Click on Back to Module Administration and Back to Main Menu respectively.
Whitelist / Invoice Delivery Without Transmission to SwissBilling
Often it is desired to still supply certain customer segments classically yourself with an invoice. This is called ‘whitelisting’. Customer accounts in the shop can therefore be edited by setting the field ‘Invoice Delivery’ = ‘Yes’.
From this point on, customers with this setting are also offered the classic “Invoice” in addition to the payment method “Invoice with SwissBilling”. Orders via this invoice type are not transmitted to SwissBilling. The invoice can then be generated yourself, for example with the PepperShop PDF module and the option Payment Slip module.
SwissBilling Error Codes
NULL: Debtor limit exceeded100: Invoicing and delivery address101: No physical delivery102: Merchant transaction limit check failed103: Debtor is not allowed invoicing104: Debtor has unpaied invoice105: Debtor is not allowed invoicing106: Debtor limit exceeded107: Merchant transaction limit check108: Debtor is not allowed invoicing110: Debtor is on blacklist / Debtor ip is on blacklist111: IP rejected in last 5 days
Important Notes for Written Customer Communication
Warning: Please ensure that the following conditions are met:
- Do not display invoice number on the delivery note
- Do not specify bank/post connection data on the delivery note
- Do not include your own invoice, only a delivery note
Open Questions?
Please first ask yourself which partner (PepperShop or SwissBilling) could best answer your question and contact them. For PepperShop-related questions, the customer forum is available with fast and competent answers 24 hours a day:
http://www.peppershop.com, SwissBilling contact details can be found at http://www.swissbilling.ch.
Appendix 1: Example Order with SwissBilling Communication

Appendix 2: SwissBilling Status Codes Accepted by the Shop
SwissBilling is queried again for the current status of the transaction before the order is taken over. There are various responses here. However, PepperShop only accepts the following two status codes in productive operation:
- Answered
- Acknowledged
In test operation, the following code is also accepted:
- Test approved
All other status responses cause the shop to mark the transaction as failed and signal a corresponding error message to the customer.
In addition to checking the SwissBilling status code, a comparison of the currency and invoice amount (without SwissBilling invoicing costs) is performed when processing the order receipt. If these values differ, the transaction is also not accepted by the shop.
Appendix 3: Example Import of ‘set_lieferstatus’ for Enterprise Version
In the following example, the orders with the specified invoice numbers are given the payment status
Content of the file (text file set_lieferstatus_inp.csv):
Rechnungs-Nr;Bestellung-Status
RE548361;0020
RE548362;0020
RE548363;0020
RE548364;0020
RE548365;0020
Display in Excel / OpenOffice.org:

Info: Warning, when the document is opened in Excel / OpenOffice.org, the programs tend to perform an automated data type selection per column. In the process, the ‘Order Status’ column is usually destroyed - from 0020 it becomes e.g. 20.
Further Help
Do you have questions or need assistance? Do you have special requirements or desire a custom solution for your system? Our support team is happy to help. Support services are charged based on time and material at CHF 195.- / hour. Here is how to reach us:
- Email: support@glarotech.ch
- Phone: +41 (0)71 923 08 58
- Opening Hours: Monday – Friday I 8:00 a.m. – 12:00 p.m. I 1:30 p.m. – 5:00 p.m.
Other Useful Pages
- FAQ (Frequently Asked Questions)
- Modules & Functions
- Interfaces
-
Info for merchants from Switzerland: PepperShop offers a complete Webstamp Integration. ↩︎
