solution25 / ebizcharge-shopware67-payment-plugin
EBizCharge payment plugin for Shopware 6.7 using the REST hosted webform flow.
Package info
github.com/solution25com/ebizcharge-shopware-6-solution25
Type:shopware-platform-plugin
pkg:composer/solution25/ebizcharge-shopware67-payment-plugin
Requires
- php: >=8.2
- shopware/administration: >=6.7.0.0 <6.8.0.0
- shopware/core: >=6.7.0.0 <6.8.0.0
- shopware/storefront: >=6.7.0.0 <6.8.0.0
Requires (Dev)
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
EBizCharge Payment for Shopware 6.7
Version 1.1.0
Introduction
The EBizCharge Payment Plugin enables secure payments for Shopware 6.7 stores through the EBizCharge REST hosted webform and customer-vault flows. For new payment entry, merchants can choose either a redirect flow or an embedded storefront webform flow, keeping raw payment data outside the Shopware backend.
REST only integration using the EBizCharge hosted webform and REST verification APIs.
The plugin supports hosted card and ACH checkout, saved-payment-method account management for registered customers, saved-payment-method checkout, admin Email Pay (Pay by Link) workflows, webhook status updates, and provider-backed transaction synchronization for capture, void, and refund events.
Key Features
Secure Hosted Payment Processing
Since
1.1.0, theEBizCharge Credit CardandEBizCharge ACHpayment methods are not offered when creating an order in the Shopware Administration. Admin-created orders useEBizCharge Email Pay, which supports both card and ACH. Both methods remain available in storefront checkout.
- Accept hosted card and ACH payments through the EBizCharge secure checkout.
- Keep sensitive payment entry on the provider-hosted form.
- Choose between redirect and embedded storefront hosted-payment flows.
- Use server-side provider verification before Shopware transaction states are applied.
- Mark approved hosted webform payments as applied in EBizCharge after Shopware state sync.
Email Pay (Pay by Link)
- Create
EBizCharge Email Payas a Shopware payment method for admin/order workflows. It covers both card and ACH payments on the hosted EBizCharge form. - Automatically generate and email hosted payment links for Email Pay order transactions.
- Resend payment links from the Shopware Administration order view while the payment is still outstanding.
- Handle payment-link return, success, and failure pages in the storefront.
Saved Payment Methods
- Let registered customers manage saved EBizCharge payment methods from their account area.
- Add a saved card or ACH bank account through a hosted EBizCharge form.
- Pay during checkout with a selected saved card or saved bank account.
- Delete saved payment methods.
- Set a default saved payment method.
Admin Panel Integration
- Configure EBizCharge credentials and checkout behavior from Shopware Administration.
- Run a connection test from the plugin configuration page.
- Resend Email Pay links from admin order details while the payment is still outstanding.
- Hide EBizCharge Credit Card and ACH from admin order creation; admin-created orders use Email Pay.
Webhook Status Updates
- Receive EBizCharge webhook events at
/ebizcharge/webhook. - Copy the full webhook endpoint URL from the plugin configuration for EBizCharge support setup.
- Verify webhook payment updates against EBizCharge before changing Shopware transaction states.
Flexible Configuration
- Choose between sandbox and production EBizCharge environments.
- Configure REST base URLs and credentials per environment.
- Select
SaleorAuthOnlyprocessing. - Configure transaction description, AVS behavior, verification lookback, timeout, retries, and webhook setup fields.
Shopware 6.7 Compatibility
- Supports Shopware
>=6.7.0.0 <6.8.0.0. - Uses Shopware payment handlers, DAL repositories, storefront controllers, and administration extensions.
Compatibility
- Shopware
>=6.7.0.0 <6.8.0.0 - PHP
>=8.2
Get Started
Installation & Activation
Manual upload in Shopware Admin is supported with the packaged release ZIP.
GitHub
- Clone the plugin into your Shopware custom plugins directory:
cd custom/plugins
git clone https://github.com/solution25com/ebizcharge-shopware-6-solution25.git
-
Log in to the Shopware Administration.
-
Navigate to:
Extensions > My Extensions
-
Locate the EBizCharge plugin and click Install.
-
Install and activate the plugin.
Plugin Configuration
After installing the plugin, configure your EBizCharge credentials and checkout behavior through the Shopware Administration panel.
Accessing the Configuration
- Go to Extensions > My extensions
- Open the EBizCharge plugin configuration
- Select the sales channel you want to configure
- Save credentials and run the connection test
Environment And Credentials
Configure the active environment:
- Sandbox
- Production
For each environment, configure:
- Base URL
- Security ID
- User ID
- Password
EBizSubscription-Key
Checkout Behavior
Configure:
- Payment command:
SaleorAuthOnly - Payment flow: redirect to the hosted payment page, or embedded storefront iframe
- Ship-from ZIP
- Transaction description template
- AVS enforcement
- Verification lookback days
- Connection timeout
- Retry count
Webhook Security
Configure:
- Webhook Basic Auth username
- Webhook Basic Auth password
- Webhook signature key
- Webhook endpoint URL for EBizCharge support configuration
Webhook payment updates are confirmed server-side with EBizCharge before the plugin changes a Shopware transaction state. The Basic Auth and signature fields are kept for webhook setups that support those credentials.
Connection Test
The configuration page includes a connection test button backed by:
POST /api/_action/ebizcharge/test-connection
The plugin also provides a CLI command:
bin/console ebizcharge:test-connection
Connection health is tracked per sales channel and credential fingerprint. password-only credential changes invalidate prior health state and require a fresh successful test.
Checkout Experience
The plugin integrates into Shopware checkout through the EBizCharge Hosted Payment payment method.
Hosted Payment
- Customer selects EBizCharge Hosted Payment in checkout.
- Shopware creates the order and order transaction.
- The plugin validates configuration and connection health.
- The plugin syncs the customer mapping and creates an EBizCharge hosted webform URL.
- Depending on configuration, the customer completes the hosted EBizCharge form either embedded in the storefront or through a provider redirect.
- EBizCharge returns the customer back to Shopware.
- Shopware finalization verifies the payment with provider data before updating the transaction state.
Saved Payment Methods During Checkout
For registered customers, checkout displays saved EBizCharge payment methods when customer vault data exists.
- Customers can choose a saved card or saved bank account from the checkout payment section.
- Saved cards and saved bank accounts are grouped separately.
- Saved cards can request the card security code when EBizCharge marks it as required.
- Saved payment methods are selected in Shopware checkout, not inside the hosted EBizCharge form.
- The hosted EBizCharge form is used when the customer chooses to pay with a new payment method.
Email Pay (Pay by Link)
The plugin supports admin-managed Email Pay payments. The payment method was called EBizCharge Pay by Link before 1.1.0.
How It Works
- An order transaction is created with the
EBizCharge Email Paypayment method. - The plugin creates a hosted EBizCharge email-form URL.
- The plugin sends the payment link using the
ebizcharge.admin.payment_linkmail template. - Customer opens the link and completes payment on the hosted EBizCharge form.
- The return endpoint finalizes the payment and redirects to success or failure.
Admin Resend
Admins can resend the payment link from the Shopware order view. The resend action calls:
POST /api/_action/ebizcharge/payment-link/re-send
The resend button is only shown, and the endpoint only accepts the request, while the payment transaction is open, unconfirmed, reminded, or failed. Authorized, paid, in-progress, refunded, and cancelled payments return HTTP 409 so a customer cannot be asked to pay twice.
Manual Payment Status Changes
Until the customer has completed an authorization through the Email Pay link, the Administration can only set the payment status to Reminded or Cancelled. All other statuses, including Authorized and Paid, are shown disabled in the order status selects, and the Admin API rejects them with HTTP 409 (EBIZCHARGE__MANUAL_TRANSITION_NOT_ALLOWED). An authorization counts as completed once the stored EBizCharge transaction record carries a provider reference and was synchronised to authorized or paid from the gateway; from then on all Shopware transitions are available again, and setting an authorized payment to Paid captures it. Webhook and payment-return updates are not affected.
Cancelling an unpaid EBizCharge payment deletes its outstanding hosted payment form in EBizCharge (DeleteEbizWebFormPayment), so the emailed link can no longer be paid. If the deletion fails, the plugin logs an error and the form should be deleted in EBizCharge manually.
Storefront Return Pages
Payment-link return routes:
/ebizcharge-payment-link-return
/ebizcharge-payment-link-success
/ebizcharge-payment-link-fail
Saved Payment Methods
Registered customers can manage their saved EBizCharge payment methods from the account dashboard.
Accessing Saved Payment Methods
Customers can open:
/account/ebizcharge/saved-cards
or use the EBizCharge Saved Payment Methods account menu entry.
Available Actions
- View saved payment methods
- Add a card or bank account through a hosted EBizCharge form
- Delete a saved payment method
- Set a default saved payment method
Saved-payment-method records are stored in:
ebizcharge_vaulted_customer
Webhooks
The plugin exposes:
POST /ebizcharge/webhook
The plugin configuration displays the full webhook endpoint URL and provides a copy action so the merchant can send the exact URL to EBizCharge support for webhook configuration.
Supported webhook events:
- approved sale payments
- authorization-only payments
- pending or declined sale updates
Webhook payloads are treated as payment update signals. The plugin verifies the matching EBizCharge payment before applying a Shopware transaction state.
Transaction Data
The plugin stores EBizCharge transaction metadata in:
ebizcharge_payment_transaction
Stored metadata includes:
- Shopware order transaction ID
- Shopware order ID and order number
- provider reference number
- authorization code
- provider payment type
- provider payment method
- normalized transaction state
- amount and currency
- last sync timestamp
This data is used for finalization, webhook processing, and provider capture, void, or refund calls.
Validation
Run the repository validation script:
./tools/validate-all.sh
The project also includes targeted tools for guardrails, service graph checks, self-tests, packaging, and release smoke validation.