- What Laravel/OroCommerce versions does this package support?
- This package is specifically designed for OroCommerce 6.0.x and requires Laravel 5.x or 6.x (as OroCommerce 6.x is built on those). It does not support OroCommerce 5.x or newer major versions without potential compatibility issues. Always check the package’s changelog for minor version updates.
- How do I handle refunds or voids with this package?
- The current version only supports the 'Purchase' payment action. Refunds or voids require custom logic, either by extending the `BraintreeActionInterface` to implement additional actions or by using Braintree’s API directly in a custom service. Check the Braintree PHP SDK documentation for refund/void endpoints.
- Can I use this package with multiple Braintree merchant accounts?
- Yes, the package supports multi-tenancy and multiple Braintree integrations, especially after fixes in versions 4.1.2 and 3.1.1. Each integration can be configured separately in OroCommerce’s admin panel under *System > Integrations*. Ensure your Braintree accounts are properly segmented to avoid conflicts.
- Will this package work with my existing OroCommerce frontend assets (Webpack/Encore)?
- The package relies on npm assets for Braintree’s Drop-In UI, which may conflict with existing frontend builds. Test asset compilation early using `php bin/console oro:assets:build` to avoid deployment blockers, as seen in version 4.2.1. If conflicts arise, isolate the Braintree assets in a separate build configuration.
- How do I test this package in a sandbox environment?
- Use Braintree’s sandbox environment by configuring your OroCommerce integration with sandbox credentials (merchant ID, public key, private key). Test transactions with Braintree’s sandbox card numbers (e.g., 4111 1111 1111 1111) and PayPal sandbox accounts. Extend OroCommerce’s test fixtures (AliceData) to include Braintree-specific scenarios for automated testing.
- Does this package support Google Pay or Apple Pay?
- No, Google Pay and Apple Pay are not currently supported. These features are planned for future updates, but as of now, you’ll need to implement them separately using Braintree’s SDK or a third-party solution. Monitor the package’s GitHub repository for updates on these payment methods.
- How do I customize the payment payload before sending it to Braintree?
- Use the `BraintreePaymentActionEvent` (e.g., `aligent_braintree.payment_action.purchase`) to modify the payload dynamically. Create a custom event listener tagged with the event name and inject additional data, such as metadata or custom fields, into the payload before it’s processed by Braintree.
- What happens if Braintree’s API is down during a transaction?
- OroCommerce’s built-in payment fallback system can route transactions to another gateway if Braintree fails. However, ensure your transaction state is idempotent to avoid duplicate charges or lost transactions. Configure fallback payment methods in OroCommerce’s *System > Payment Rules* for high availability.
- Can I use this package for subscription-based billing?
- No, subscriptions are not natively supported. The package currently only handles one-time 'Purchase' actions. For subscriptions, you’ll need to implement custom logic using Braintree’s subscription API or integrate a separate subscription management system like Stripe Billing or Chargebee.
- Are there any known issues with fraud protection or 3D Secure 2.0?
- The package supports Braintree’s fraud protection tools and 3D Secure 2.0 out of the box, but advanced features require proper Braintree account configuration. False positives or negatives may occur in production, so test thoroughly in sandbox mode. Refer to Braintree’s documentation for tuning fraud rules and 3D Secure settings.