The PayfimCryptoPayment plugin adds a Pay with Crypto payment method. After the order is placed the customer pays on your Payfim Gateway; the gateway's signed webhook updates Shopware's payment status (Paid, In progress, Cancelled) automatically. One package works on Shopware 6.5, 6.6 and 6.7.
Before you start, install your Payfim Gateway and add your wallets (see Install the gateway and Add wallets). Compatibility: Shopware 6.5 – 6.7 · PHP 8.1 – 8.4.
- Upload and install the plugin.
In the administration go to Extensions → My extensions, click Upload extension and choose
PayfimCryptoPayment.zip. Payfim Crypto Payments appears in the list: click Install, then switch it to active.Command line alternative: unzip into
custom/plugins/and runbin/console plugin:refreshandbin/console plugin:install --activate PayfimCryptoPayment. - Connect your Payfim Gateway.
Open the plugin's context menu (…) and choose Configure. Enter the Gateway URL (e.g.
https://pay.yourstore.com) and the API key (Payfim dashboard → Integrations), click Test connection - it should answer Connected to "Your Store" (Payfim 3.0.0, license valid) - and Save. Settings can be overridden per sales channel with the selector at the top.Tip: Payment updates are posted to
[APP_URL]/api/_action/payfim/webhook. If yourAPP_URLin.envis not the public shop address, enter the public address in Webhook base URL. - Assign the payment method to your sales channel.
Go to Sales Channels → [your storefront], card Payment and shipping, and add Pay with Crypto to Payment methods. Save.
Name, description, position and availability rule of the method can be changed in Settings → Shop → Payment methods.
- Underpayments and order data.
Payment status when a customer underpays: Paid (partially) (default), In progress or Leave unchanged - never Paid. Every order paid with crypto shows the coin, amount received, transaction hash and the last Payfim note under Orders → [order] → Details → Custom fields → Payfim crypto payment. Debug logging writes API calls and webhooks to
var/log(never the API key). - How payments are processed.
The crypto invoice is created on your server from the order total when the customer clicks Submit order. When the gateway confirms the payment it sends a signed webhook; the plugin checks the signature, re-reads the invoice from the gateway, compares amount and currency and sets the transaction to Paid exactly once. Confirmations in progress set In progress; an expired quote sets Cancelled. If the customer cancels on the gateway page, Shopware lets them pick another payment method for the same order.
Tip: The return link to the shop is valid for 30 minutes (Shopware's payment token). If a customer returns later they see Shopware's payment error page - the order is still marked paid by the webhook.
Troubleshooting
- Customer sees Shopware's "payment could not be processed" message
- The invoice could not be created. Enable Debug logging and check
var/log/; usually the Gateway URL/API key is wrong or the gateway license is invalid (use Test connection). - Pay with Crypto missing at checkout
- Make sure the plugin is active, the payment method is active in Settings → Shop → Payment methods and assigned to the sales channel, and its availability rule matches. Clear the cache (Settings → System → Caches & indexes).
- Payment status stays Open after paying
- The gateway must reach
[shop]/api/_action/payfim/webhookover HTTPS (check Webhook base URL /APP_URL). The Payfim dashboard's Webhooks page shows the HTTP status; failed deliveries are retried for 24 hours. - Test connection button missing
- The button is an administration extension. Run
bin/console assets:installand reload the administration; the connection is also checked on the first order.
Get the Shopware 6 Crypto Payment Plugin - the download includes an illustrated PDF version of this guide.
