Cost+Docs

Shopware

Integrate Cost+ with your Shopware 6 store using the official payment plugin

Shopware

Integrate Cost+ as a payment method in your Shopware 6 store. The official NoPayn Payment plugin supports multiple payment methods per sales channel and uses the Hosted Payment Page flow — fully PCI DSS compliant.

Prerequisites

  • Active Cost+ merchant account
  • Shopware 6.7 or later
  • PHP 8.2 or later
  • SSH or terminal access to your Shopware server

Supported Payment Methods

Checkout NameTechnical NameNoPayn Identifier
Credit / Debit Cardnopayn_credit_cardcredit-card
Apple Paynopayn_apple_payapple-pay
Google Paynopayn_google_paygoogle-pay
Vipps MobilePaynopayn_vipps_mobilepayvipps-mobilepay

Each method can be enabled or disabled per sales channel from the plugin configuration.

1. Install the Plugin

Clone or copy the plugin into your Shopware custom/plugins/ directory:

cd /path/to/shopware/custom/plugins
git clone git@github.com:NoPayn/shopware.git NoPaynPayment

Then install and activate via the Shopware CLI:

bin/console plugin:refresh
bin/console plugin:install NoPaynPayment --activate
bin/console cache:clear

2. Configure the Plugin

  1. In your Shopware admin, go to Settings → Extensions → NoPayn Payment
  2. Enter your API Key from the Merchant Portal — navigate to Websites, click on the website you want to connect, then click Integration to find your API key
  3. Toggle individual payment methods on or off
  4. Save

Cost+ Merchant Portal showing API key

You can configure a different API key per sales channel if you operate multiple storefronts.

Only activate the payment methods you have been approved for and received confirmation for.

3. Payment Flow

  1. Customer selects a payment method at checkout and places the order
  2. The order is created with transaction status in_progress
  3. Customer is redirected to the NoPayn Hosted Payment Page
  4. After payment:
    • Success — customer returns, status is verified via API, transaction set to paid, order set to processing
    • Cancelled — customer returns, transaction and order set to cancelled
    • Expired (5-minute timeout) — webhook fires, transaction and order set to cancelled

4. Order Status Mapping

NoPayn StatusTransaction StateOrder State
newin_progressopen
processingin_progressopen
completedpaidin_progress
cancelledcancelledcancelled
expiredcancelledcancelled
errorcancelledcancelled

5. Webhooks

The plugin automatically registers a webhook endpoint at /api/nopayn/webhook. This URL is sent to NoPayn when creating orders, providing asynchronous status confirmation for all transactions.

No manual webhook configuration is required — the plugin handles registration automatically.

6. Test and Launch

Place a few test transactions to ensure everything works smoothly. We recommend testing both successful and failed payments to confirm all scenarios are handled correctly.

Support

Need help? Reach out to our support team at support@costplus.io.

On this page