Integration Guide Shopware 6

Introduction

Our Shopware 6 plug-in comes with regular updates and full integration support, offering a versatile out-of-the-box solution to accept online payments easily:

Currently supported payment methods:

  • Credit Cards (Visa, Mastercard, American Express, JCB, Diners Club, Maestro International)
  • Alipay
  • Apple Pay
  • Amazon Pay and Amazon Pay Express
  • Bancontact
  • EPS
  • iDEAL
  • Giropay
  • Klarna Payments
  • PAYONE Secured Invoice, Secured Direct Debit and Secured Installment
  • PAYONE Direct Debit
  • PAYONE Invoice
  • PAYONE Prepayment
  • PayPal and PayPal Express
  • PostFinance Card and E-Finance
  • Przelewy24
  • Ratepay Open Invoice, Direct Debit and Installments
  • Sofort
  • Trustly
  • Unzer Invoice, Direct Debit and Installment
  • WeChat Pay

Keep an eye on our Release Notes to stay informed about updates and new features (i.e. payment methods, features, integration modes) we have added to this plugin!

Check out our documentation to learn how to link your store with our platform to profit from all these features!

Current Release: v6.1.2

Requirements

An active PAYONE - Account is required. If you do not have one yet, please contact us.

Install Plugin

You have 2 ways to install our plugin:

Installation directly via Shopware6 Admin

  • Download our latest plugin from Github
  • You can upload the plugin under Extensions -> My extensions -> Upload extension
  • Install and activate the plugin.

Installation via Composer

composer require payone-gmbh/shopware-6
php bin/console plugin:install PayonePayment
php bin/console plugin:activate PayonePayment
php bin/console cache:clear

PAYONE - Portal configuration

To send the transaction status to the correct address, the log in to the PAYONE Merchant Interface (PMI).

<SHOPURL>/payone/webhook

Additional Response-data

Under General, set the Additional Response data for both Live and Test modes to "on".

Shopsystem - Admin Configuration

  • Click on Settings → Extensions → PAYONE

  • Please enter your access data here:

  • Please activate under Sales Channels → [used Sales Channel] → Payment and shipping the payment methods for your used sales channels:

  • Each payment method can be used with separate access data. These can be entered directly in the payment type.
Special adjustments
PAYONE Secure Invoice

This payment method requires its own payment portal. Please enter a separate portal ID under Settings → Extensions → PAYONE → PAYONE Secure Invoice

A rule created during the plugin installation for the Rule Builder ensures that the payment method can only be used for the currency "Euro". If you have not installed the currency "Euro" in your store during the plugin installation, a random, non-existing currency ID will be linked to the condition, so that the rule will always fail. If you then create the currency "Euro" afterwards, you have to select the currency "Euro" in the condition "Currency is one of" under Settings → Rule Builder → Payone secure invoice.

PAYONE Prepayment

To inform customers about the bank details, we have included a block with billing data in the invoice template. It makes sense to include this data in the order confirmation email template as well. We do not have a detailed instruction available currently.

PAYONE Unzer Rechnungkauf + PAYONE Unzer Ratenkauf

To be able to offer Unzer, the payment methods must be additionally configured in the backend:

  • PAYONE Unzer Rechnungskauf


Under Settings → Extensions → PAYONE → PAYONE Unzer Rechnungskauf the following data must be stored: Company name (for the supplementary T&C), IBAN and BIC (both will be displayed next to the payment reference). Activate the B2B slider if you want to accept B2B orders.

  • PAYONE Unzer Ratenkauf


Under Settings → Extensions → PAYONE → PAYONE Unzer Ratenkauf the following data must be stored: Company name (for the supplementary GTC), channel name and channel password (both you get from Unzer).

PAYONE Apple Pay

Under Settings → Extensions → PAYONE → PAYONE Apple Pay the following data must be stored: Supported Cards, ApplePay Merchant ID, ApplePay Display Name und Certificate Passphrase.

Create the following files in the config folder: merchant_id.pem and merchant_id.key.

You will receive the content of the files in the process of Apple Onboardings under point 3.

In addition, a subfolder .well-known must be created in the public folder. In this subfolder please put the file: apple-developer-merchantid-domain-association.txt

You will receive the contents of the file after domain certification from Apple.

Apple Pay is only visible and usable on Apple devices.

In addition to the configuration in Shopware, it is also necessary to set up the corresponding certificates to operate Apple Pay as a payment method. You can find instructions for this here: Special Remarks - Apple Pay

Additionally, Apple requires validation of the store domain for Apple Pay. To do this, follow the instructions in the Apple Developer Portal:

Payment methods setup

Activate the requested payment methods under Settings → Shop → Payment methods

Editing the orders

The PAYONE plugin sets the payment status of an order according to the set status assignment.

Capture
Preauthorized transactions can be captured using the "Capture" button in the order details.

Refund
The "Refund" button can be used to refund an order (in the "paid" status).

Partialcapture and -refund
You can partially enter or refund an order by selecting an order item and editing the quantity. The entry amount is adjusted dynamically.

If you want to fully capture or refund the order, click "Complete Capture".

You can also directly enter the requested amount in the "Capture amount" field.

Captures and refunds are only possible after the store has received a transaction status for an order, therefore, the buttons for captures and refunds are grayed out directly after an order.

Extended configurations
Detailed status mapping (global)

Under Settings → Extensions → PAYONE → Status Mapping you can individually assign the states to which the orders should be set as soon as the respective information is sent by the PAYONE platform.

Detailed status mapping (by payment method)

Under Settings → Extensions → PAYONE you can individually assign the states for every payment method separatly. Please choose the payment method and activate "Display state mapping configuration".

Creditcard - CSS adjustments

Under Settings → Extensions → PAYONE → Status Mapping you can individually assign the states to which the orders should be set as soon as the respective information is sent by the PAYONE platform.

The following customizations are not necessary to offer credit card payments. The possibility to customize the payment type visually in the frontend is described in the following:

You can change the CSS by creating a new plugin that depends on this plugin via Composer. Here you can then define an overriding JavaScript plugin like this one:

import PayonePaymentCreditCard from '../../../../../PayonePayment/src/Resources/storefront/credit-card/payone-payment.credit-card';

export default class MyPayonePaymentCreditCard extends PayonePaymentCreditCard
{
    getFieldStyle() {
        const style = super.getFieldStyle();

        style.push('height: 300px');

        return style;
    }
    getSelectStyle(){
        const style = super.getSelectStyle();

        style.push('background-color: black');

        return style;
    }
}

Then you can register the overriding plugin in your custom/plugins/MyPlugin/src/Resources/storefront/main.js:

import PayonePaymentCreditCard from '../../../../../PayonePayment/src/Resources/storefront/credit-card/payone-payment.credit-card';

export default class MyPayonePaymentCreditCard extends PayonePaymentCreditCard
{
    getFieldStyle() {
        const style = super.getFieldStyle();

        style.push('height: 300px');

        return style;
    }
    getSelectStyle(){
        const style = super.getSelectStyle();

        style.push('background-color: black');

        return style;
    }
}

Right management

If you use Shopware's rights management, please give permission to all users. Under Settings → System → Users&permissions → Role create a new role or update an existing role. Activate the PAYONE transaction management right.