The Payment Provider Gateway documentation uses the Magento 2.3 (now Adobe Commerce and Magento Open Source) of the Braintree module as a reference application. The Braintree module was removed in version 2.4.0. The concepts described in this guide are still applicable to version 2.4.x, but the code samples are not supported.
Adding a new payment integration (payment method)
Out-of-the-box Adobe Commerce implements integration with PayPal, Braintree, and Authorize.Net payment service providers. These integrations allow you to create and handle transactions based on order details.
You can create integration with other payment providers, using Commerce payment provider gateway.
The Commerce payment provider gateway allows creating secure and PCI-compliant integrations with payment services. To keep PCI compliance, you must not store sensitive credit card information.
The topics in this chapter explain how to add an integration with a custom payment service provider (in other words, add a new payment method) and implement the authorize payment action for this payment method. For illustration, we use code samples from the Braintree payment integration.
You can also view the Payment sample module in the magento/magento2-samples
repository to understand the underlying principles. However, be aware that this code is NOT supported.
To add a new payment method, take the following high-level steps:
Configure general payment method module options. Described in the Payment method module configuration topic.
Configure payment method options. Described in Payment method configuration.
Implement and configure payment method facade - the entity allowing to process payment actions between Commerce sales management and payment processor. Described in Payment method facade and Payment info rendering in Admin checkout.
Implement and configure payment actions (like authorize, void and so on). Described in Add a gateway command
Your payment method might be available from either storefront and Admin, or both. And also can have a different configuration for each area. The keynotes on how to configure where the method can be used, and how to implement different behavior, are described in the Configure payment method by area topic.
Terms Used
Term | Description |
---|---|
Payment additional information | Array of data where you can store any payment-related information |