QuickCart
Official dpay.pl payment module for QuickCart 3. Enables accepting online payments in your QuickCart-based online store. Supports BLIK Level 0 (inline), credit cards, PayPal, and other payment methods.
Requirements
- QuickCart 3.x
- PHP 7.4 or newer
- Active account in the dpay.pl Dashboard with a configured Payment Point
Supported payment methods
- BLIK (including BLIK Level 0 - inline)
- Bank transfers (pay-by-link)
- Credit cards (inline)
- Google Pay and Apple Pay
- PayPal
- Paysafecard
- Installments (BLIK BNPL)
Installation
- Download the module files from dpay.pl or from GitHub.
- Copy the
dpay/directory to the QuickCart root directory. File structure:dpay/dpay_config.php- configuration filedpay/dpay_checkout.php- payment process handlerdpay/dpay_callback.php- IPN notification handlerdpay/dpay_validation.php- IPN signature validationdpay/dpay_refund.php- refund handlerdpay/language/pl.php- Polish translationsdpay/language/en.php- English translationsdpay/lib/dpay-sdk/- dpay.pl SDK librarydpay/assets/images/dpay.png- dpay.pl logo
- Make sure the
dpay/directory has proper read permissions.
Configuration
Step 1 - Prepare credentials in the dpay.pl Dashboard
- Log in to the dpay.pl Dashboard.
- Go to the Payment Points section.
- Create a new Payment Point or select an existing one.
- Take note of:
- Service name (
service_name) - unique name of your Payment Point - Secret hash (
secret_hash) - key used for signing requests
- Service name (
- In the Payment Point settings, set the IPN URL to:
https://your-store.com/dpay/dpay_callback.php
Important
The secret hash should be treated like a password. Never share it publicly or include it in frontend code.
Step 2 - Module configuration
- Open the
dpay/dpay_config.phpfile in a text editor. - Fill in the configuration fields:
| Field | Description |
|---|---|
| service_name | Service name from the dpay.pl Dashboard |
| hash_key | Secret hash from the dpay.pl Dashboard |
| success_url | URL of the page after a successful payment (default: index.php?p=success) |
| error_url | URL of the page after a failed payment (default: index.php?p=error) |
| notify_url | IPN URL (default: dpay/dpay_callback.php) |
| paypal | Enable PayPal payments (Y/N) |
| creditcard | Enable card payments (Y/N) |
| paysafecard | Enable Paysafecard payments (Y/N) |
| installment | Enable installment payments (Y/N) |
| nobanks | Hide the bank list (Y/N) |
| blik_zero | Enable BLIK Level 0 inline (Y/N) |
| apple_pay | Enable Apple Pay (Y/N) |
| google_pay | Enable Google Pay (Y/N) |
| card_inline | Enable inline card form (Y/N) |
- Save the file.
Example configuration:
public static function getConfig()
{
return [
'service_name' => 'my-store',
'hash_key' => 'YOUR_SECRET_HASH',
'success_url' => 'index.php?p=success',
'error_url' => 'index.php?p=error',
'notify_url' => 'dpay/dpay_callback.php',
'paypal' => 'N',
'creditcard' => 'N',
'paysafecard' => 'N',
'installment' => 'N',
'nobanks' => 'N',
'blik_zero' => 'Y',
'apple_pay' => 'N',
'google_pay' => 'N',
'card_inline' => 'N',
];
}
Step 3 - Verification
- Place a test order in your store.
- Select dpay.pl as the payment method.
- Verify that you are correctly redirected to the payment page (or that the BLIK form is displayed, if enabled).
- After completing the payment, check whether the order has been correctly marked as paid.
Refunds
The module supports online refunds via the dpay.pl API. Refunds can be:
- Full - refund of the entire transaction amount
- Partial - refund of a selected amount
A refund can be performed using the DPayRefund class:
require_once 'dpay/dpay_refund.php';
require_once 'dpay/dpay_config.php';
$refund = new DPayRefund(DPayConfig::getConfig());
$refund->process($transactionId, $amount);
Status mapping
| dpay.pl status | QuickCart action |
|---|---|
| New transaction | Redirect to the payment page |
completed (IPN) | Order marked as paid |
| BLIK inline | Awaiting confirmation, redirect after 5 seconds |
| Error | Error message displayed |
Troubleshooting
Orders do not change status automatically
- Verify that the IPN URL (
/dpay/dpay_callback.php) is correctly set in the dpay.pl Dashboard. - Make sure the callback file is publicly accessible and not blocked by
.htaccessor a firewall. - Verify that the
dpay_config.phpfile contains the correcthash_key.
Currency error
- The module only supports the PLN currency. Make sure the store currency is set to PLN.
BLIK form does not appear
- Check whether the
blik_zerooption in the configuration file is set toY. - Make sure the
dpay_checkout.phpfile is loaded correctly.
"BAD SIGNATURE" error
- Make sure the hash_key in the
dpay_config.phpfile matches the hash in the dpay.pl Dashboard.