Skip to main content

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

  1. In the OroCommerce root directory, run:
    composer require dpay/orocommerce-bundle
  2. Clear the cache and update the database schema:
    bin/console cache:clear
    bin/console oro:platform:update --env=prod

Method 2 - Manual installation

  1. Download the latest bundle version from dpay.pl or GitHub.
  2. Extract the archive to the src/DPay/OroCommerceBundle/ directory.
  3. Register the bundle in the application configuration.
  4. 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

  1. Log in to the dpay.pl Dashboard.
  2. Go to the Payment Points section.
  3. Create a new Payment Point or select an existing one.
  4. Note down:
    • Service name (service_name) - the unique name of your Payment Point
    • Secret hash (secret_hash) - the key used to sign requests
  5. 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

  1. Go to System > Integrations > Manage Integrations in the admin panel.
  2. Click Create Integration and select the dPay type.
  3. Fill in the configuration form:
FieldDescription
NameIntegration name (visible in the admin panel)
LabelPayment method label visible to the customer
Short LabelShort label displayed on the payment list
Service NameService name from the dpay.pl Dashboard
Hash KeySecret hash from the dpay.pl Dashboard
Enable PayPalEnable PayPal payments
Enable Credit CardEnable credit card payments
Enable PaysafecardEnable Paysafecard payments
Enable InstallmentsEnable installment payments
Disable Bank TransfersDisable bank transfers and pay-by-link
BLIK ZeroEnable entering a BLIK code directly in the checkout
Apple PayEnable Apple Pay payments
Google PayEnable Google Pay payments
Inline Card FormEnable the inline card form in the checkout
  1. Click Save and Close.
  2. 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

  1. Place a test order in the store.
  2. Select dPay.pl as the payment method at checkout.
  3. Verify that you are correctly redirected to the dpay.pl payment page.
  4. After completing the payment, verify that the transaction in OroCommerce has been marked as successful.

Refunds

The bundle supports online refunds:

  1. Go to the order in Sales > Orders.
  2. Open the payment transaction details.
  3. Perform a refund operation (full or partial).
  4. 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 StatusOroCommerce Transaction Status
newPending
completedSuccessful
rejectedFailed

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 failed or [dPay] Refund error messages.

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).

More Information