VibeFox Quickpay for WooCommerce — Help
Requirements
WordPress: 6.2 or later.
WooCommerce: 7.1 or later, installed and active. The plugin refuses to activate without it.
PHP: 8.0 or later.
Quickpay account: you need two values from the Quickpay manager: the API key of an API user (to create payments, capture and refund) and the private key of the account (to check the signature of Quickpay callbacks). Nothing else has to be set up in Quickpay. Your site must be reachable from the internet, not behind a password or maintenance mode, so that Quickpay callbacks can arrive.
VibeFox license key: bought on vibefox.net. One key works on one domain.
Installation
1. In WordPress go to Plugins > Add New > Upload Plugin, choose the plugin ZIP file and click Install Now. You can also upload the wcp_quickpay_gateway folder to /wp-content/plugins/ by FTP.
2. Click Activate.
3. Open the settings: WooCommerce > Settings > Payments > Quickpay > Manage, or click Settings under the plugin name on the Plugins page.
4. Enter your VibeFox license key in the license block at the top of the page and click Activate.
5. Paste the API key and the private key from the Quickpay manager and click Test API key (see Configuration).
6. Choose the capture mode and the order status after payment, turn on Enable/Disable and save. While your Quickpay account is in test mode, turn on Test payments and make a payment with a Quickpay test card.
Configuration
All settings are on one page: WooCommerce > Settings > Payments > Quickpay. Until both the API key and the private key are entered, Quickpay is marked as needing setup in the list of payment methods and is hidden at checkout, because a payment could neither be created nor confirmed.
General
Enable/Disable: Enable Quickpay turns the payment method on or off. Default: off.
Title: the payment method name customers see at checkout. Default: Quickpay.
Description: the text shown under the payment method at checkout. Default: Pay securely by card or MobilePay on the Quickpay payment page.
Quickpay API credentials
In the Quickpay manager (manage.quickpay.net) open Settings > Integration. Copy the API key of an API user (Settings > Users) and the private key of the account. The section also shows the callback URL of your store, which looks like https://your-site/wc-api/qpg_quickpay/. It is sent with every payment automatically, so nothing has to be configured in Quickpay.
API key: the API key of a Quickpay API user. It is used to create payments, capture and refund.
Under the field, the Test API key button checks the key typed in the field (or the saved one, if the field is empty) with an authenticated request to Quickpay. It answers Connection successful — the API key is valid., Quickpay rejected the API key., API key is not configured. or Connection failed: followed by the reason.
Private key: the private key of the account. It is used to check the signature (HMAC-SHA256) of Quickpay callbacks. Without it no payment can be confirmed, and callbacks are rejected.
Test payments: Accept payments made with Quickpay test cards. Quickpay has no separate sandbox: while your Quickpay account is in test mode, payments are made with test cards and flagged as test. Turn this on only while testing. When it is off, a test payment never marks an order as paid, and the order gets a note instead. While it is on, the checkout shows Test mode: Quickpay test cards are accepted. Default: off.
Payment
Capture: when the money is taken from the card.
Order status after payment: the order status once Quickpay has confirmed the captured payment. The status is set at once, with one status change and one set of e-mails.
Advanced
Debug log: Enable logging. The log is in WooCommerce > Status > Logs, source wcp_quickpay_gateway. Errors and warnings, such as rejected callbacks and Quickpay API errors, are always logged. Turn this on to log every request and callback too. API keys, card data and customer details are never logged. Default: off.
Delete data: Delete the gateway settings and logs when the plugin is deleted. Deactivating the plugin never deletes anything. Order data (Quickpay payment IDs, notes) is always kept. Default: off.
Checkout
The customer chooses the payment method (by default Quickpay, shown with Visa and Mastercard icons) and places the order. The plugin creates a Quickpay payment for the order in the order currency and a payment link for the order total, and sends the customer to the Quickpay payment window. The customer pays there with one of the methods enabled on your Quickpay payment window. The billing e-mail is passed to Quickpay. The payment window opens in the language of your site when Quickpay offers it (Danish, German, English, Spanish, Finnish, French, Italian, Dutch, Norwegian, Polish, Swedish), otherwise in English.
After paying, the customer returns to the order received page of your store. The return itself does not mark anything as paid. The order is marked paid only after Quickpay confirms it with the signed callback and the amount and currency match the order. With Authorize only, the order goes On hold instead, and you capture the payment later.
If the customer cancels on the payment window during checkout, the unpaid order is cancelled the standard WooCommerce way and the cart is restored. On the Pay for order page, cancelling returns the customer to that page, so the order stays payable. A failed or cancelled payment can be tried again: the new attempt reuses the order's Quickpay payment with a fresh link, so an old link can never be paid in parallel. When an unpaid order is cancelled, its payment link is deleted in Quickpay.
If the payment cannot be started, the customer sees The Quickpay payment could not be started. Please try again or choose another payment method. The technical reason is added to the order notes and the log. If the keys are missing, the customer sees Quickpay is not available at the moment. Please choose another payment method.
The payment method works on the classic checkout, on the Checkout block and on the Pay for order page. It is compatible with WooCommerce High-Performance Order Storage (HPOS).
The plugin takes one-time payments only. It has no subscriptions or recurring payments, no saved cards, no payment fees, sends no basket or invoice lines to Quickpay and has no separate MobilePay, Apple Pay or Klarna methods: the customer chooses among the methods of your Quickpay payment window.
Orders and refunds
Order statuses
Pending payment: the customer was sent to Quickpay and has not paid yet. With automatic capture, an authorized payment waiting for the capture is noted on the order.
Processing or Completed: Quickpay confirmed the captured payment with the right amount and currency. The status follows Order status after payment. The order note shows the Quickpay payment ID (marked TEST for test payments), and it is saved as the transaction ID of the order.
On hold: the payment is authorized only and waits for Capture Quickpay payment; or Quickpay reported a different amount or currency than the order total (for example, the order was edited after the payment started, or a different amount was captured in the Quickpay manager); or the capture failed and the amount is still only reserved. The order note explains it, also when the order was already On hold.
Failed: the payment attempt was declined. The customer can pay again.
Cancelled: the customer cancelled on the payment window, the order was cancelled by you or by the WooCommerce stock hold timeout, or the payment was cancelled in the Quickpay manager.
A payment that arrives for an order that is already paid, cancelled or refunded does not change the order. A note asks you to check the payment in the Quickpay manager, for example to refund a double payment.
Capture
With Authorize only, open the order, choose Capture Quickpay payment in the order actions and click the update button. The order total is captured; partial capture is not available. If Quickpay confirms at once, the order is marked paid. Otherwise a note says the capture was requested, and the order is marked paid when the Quickpay callback confirms it. A rejected capture is shown on the order screen and noted on the order.
Cancelling an authorized order does not release the reserved amount automatically. The order note reminds you to cancel the payment in the Quickpay manager; otherwise the reservation ends when the authorization expires.
Refunds
Open the order, click Refund, enter the amount and click Refund via Quickpay. Full and partial refunds are supported for captured payments. Quickpay processes refunds asynchronously: a note says the refund was requested, and the callback adds the final result, confirmed or FAILED with the reason. If Quickpay rejects the refund at once, WooCommerce shows the error and no refund is recorded. An authorized payment that was never captured cannot be refunded; cancel it in the Quickpay manager.
Payments and refunds made directly in the Quickpay manager are only noted on the order. They are not recorded as WooCommerce refunds automatically. If needed, create a manual refund in WooCommerce without Refund via Quickpay.
License key
The plugin works with a VibeFox license key from vibefox.net. The license block is at the top of WooCommerce > Settings > Payments > Quickpay. Paste the key into License key and click Activate. The block shows the status, for example the date the license is active until and your domain. Use Check now to check the status again, Change key to enter another key and Remove key to remove it from this site. The link Manage licenses and domains in your account opens your vibefox.net account.
One key works on one domain. Removing the key from a site does not free its domain slot. Free the slot in your vibefox.net account.
Without an active key, Quickpay is not shown to customers at checkout. If a payment is started anyway, the customer sees This payment method is not available. Please choose another one. Logged-in store managers still see the payment method, marked (unlicensed — visible to admins only), so you can set up and test the plugin before you buy a key. A reminder appears on the Plugins page and on WooCommerce pages. Existing orders are not affected: payments already started are still confirmed, and capture and refunds work.
When a license expires, the plugin keeps working, but updates and support need a renewal. The status is checked again automatically in the background.
Troubleshooting
Quickpay does not appear at checkout: check that the license is active, Enable/Disable is on and both API key and Private key are entered. Without both keys the method is hidden.
The payment went through, but the order stays Pending payment: the Quickpay callback did not reach your store or was rejected. Check that your site is reachable from the internet (no password protection or maintenance mode) and that Private key is the private key of the same Quickpay account. Rejected callbacks are always written to WooCommerce > Status > Logs, source wcp_quickpay_gateway. Turn on Debug log to see every callback.
Log shows Callback rejected: invalid checksum.: the private key in the settings does not belong to the account that sent the callback. Copy it again from Settings > Integration in the Quickpay manager.
Log shows Callback rejected: the private key is not configured.: enter the private key. Callbacks are never accepted without it.
Log shows Callback: no order found for payment …: the callback belongs to a Quickpay payment that no order of this store knows, for example a payment created outside WooCommerce or for a deleted order.
Log shows Callback: order #… is locked by another request.: another callback of the same order was being applied at that moment. The callback is answered with an error, so it is not taken as handled. If the order stays unchanged, check the payment in the Quickpay manager.
A test payment did not mark the order paid: Test payments is off. The order note says the test payment was not accepted. Turn the setting on while testing, and off when your account goes live.
Order is On hold after payment: read the order note. The payment may be authorized only and waiting for Capture Quickpay payment, the paid amount or currency may differ from the order, or the capture failed. Capture, fulfil the order or refund the payment in the Quickpay manager.
Test API key says Quickpay rejected the API key.: the key is wrong or belongs to a user without API access. Copy the API key of an API user from the Quickpay manager.
The customer sees The Quickpay payment could not be started.: open the order notes or the log. The note shows the Quickpay error, for example a currency your Quickpay account does not accept.
Refund fails: the order must have a captured Quickpay payment. The message The Quickpay payment of this order has not been captured — there is nothing to refund. means the payment is only authorized; cancel it in the Quickpay manager instead.
The license block shows an error: follow the message in the block. For example, if the key is already used on another domain, free a slot in your vibefox.net account and click Check now. If the site address changed, click Check now to activate the key for the new domain. If the license server cannot be reached, the plugin keeps working on the last known status.
Uninstall
Deactivating the plugin keeps all data. To remove it, deactivate and delete it on the Plugins page. The license key and license status of this plugin are always removed. The gateway settings and the plugin's logs (log files, including rotated ones, and database log entries) are removed only if Delete data was on. Otherwise they stay for a later re-install. Existing orders keep their payment notes and transaction IDs.
Quickpay is a trademark of its respective owner. This plugin is not affiliated with or endorsed by Quickpay.
