OroCommerce
Official dpay.pl payment bundle for OroCommerce. Enables online payment acceptance in a B2B store powered by OroCommerce. The bundle integrates with the Oro payment system and supports online refunds, automatic IPN notifications, and feature toggle configuration.
Requirements
- OroCommerce 5.1 or 6.0
- PHP 8.1 or newer
- An 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/debit cards (inline)
- Google Pay and Apple Pay
- PayPal
- Paysafecard
- Installments
Installation
Method 1 - Composer (recommended)
- In the OroCommerce root directory, run:
composer require dpay/orocommerce-bundle - Clear the cache and update the database schema:
bin/console cache:clear
bin/console oro:platform:update --env=prod
Method 2 - Manual installation
- Download the latest bundle version from dpay.pl or GitHub.
- Extract the archive to the
src/DPay/OroCommerceBundle/directory. - Register the bundle in the application configuration.
- Clear the cache and run migrations:
bin/console cache:clear
bin/console oro:platform:update --env=prod
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.
- Note down:
- Service name (
service_name) - the unique name of your Payment Point - Secret hash (
secret_hash) - the key used to sign requests
- Service name (
- In the Payment Point settings, set the IPN URL - OroCommerce uses the standard Oro Payment Bundle callback mechanism. The IPN URL is generated automatically for each transaction.
Important
The secret hash should be treated like a password. Never share it publicly or include it in frontend code.
Step 2 - Configure the bundle in OroCommerce
- Go to System > Integrations > Manage Integrations in the admin panel.
- Click Create Integration and select the dPay type.
- Fill in the configuration form:
| Field | Description |
|---|---|
| Name | Integration name (visible in the admin panel) |
| Label | Payment method label visible to the customer |
| Short Label | Short label displayed on the payment list |
| Service Name | Service name from the dpay.pl Dashboard |
| Hash Key | Secret hash from the dpay.pl Dashboard |
| Enable PayPal | Enable PayPal payments |
| Enable Credit Card | Enable credit card payments |
| Enable Paysafecard | Enable Paysafecard payments |
| Enable Installments | Enable installment payments |
| Disable Bank Transfers | Disable bank transfers and pay-by-link |
| BLIK Zero | Enable entering a BLIK code directly in the checkout |
| Apple Pay | Enable Apple Pay payments |
| Google Pay | Enable Google Pay payments |
| Inline Card Form | Enable the inline card form in the checkout |
- Click Save and Close.
- Go to System > Payment Rules and create a payment rule assigned to the dpay.pl method. Make sure the rule is restricted to the PLN currency.
Step 3 - Verification
- Place a test order in the store.
- Select dPay.pl as the payment method at checkout.
- Verify that you are correctly redirected to the dpay.pl payment page.
- After completing the payment, verify that the transaction in OroCommerce has been marked as successful.
Refunds
The bundle supports online refunds:
- Go to the order in Sales > Orders.
- Open the payment transaction details.
- Perform a refund operation (full or partial).
- The system will automatically send a refund request to dpay.pl.
If the refund amount is less than the transaction amount, a partial refund will be processed. Otherwise, a full refund is issued.
Status Mapping
| dpay.pl Status | OroCommerce Transaction Status |
|---|---|
new | Pending |
completed | Successful |
rejected | Failed |
Troubleshooting
Payment method does not appear in the checkout
- Verify that the dpay.pl integration is active in System > Integrations.
- Make sure the payment rule is correctly configured in System > Payment Rules.
- Verify that the order currency is PLN - the bundle supports this currency only and requires amounts greater than 0.
Error during payment registration
- Check the application logs in the
var/logs/directory - look for entries with the[dPay]prefix. - Make sure the Service Name and Hash Key are correct.
- Verify that the server has access to the dpay.pl API (no firewall blocking outbound connections).
Refund was not processed
- Verify that the source transaction has an assigned reference number (Transaction ID from dpay.pl).
- Check the logs for
[dPay] Refund failedor[dPay] Refund errormessages.
Issues after updating the bundle
- After updating, run:
bin/console cache:clear && bin/console oro:platform:update --env=prod. - Make sure the OroCommerce version is compatible (5.1 or 6.0).