OMS Custom Payment Integrations

This section helps System Integrators (SI) set up their payment integrations within the Order Management System (OMS) and Magento Commerce (MC) ecosystem.

Magento OMS Custom Payment Integration Guide

Before starting development, it is recommended to engage with Magento Technical Support team, to:

  • Agree on a suitable custom payment endpoint name.
  • Receive an OAuth 2.0 client id and client secret that could be used to authorize the HTTP requests being sent to the Magento Integration Bus (MIB).

During deployment

During application deployment process, or periodically by some scheduled process:

  • Registration of the MIB custom payment end-point

Custom Payment Integration during Development

At runtime

A custom payment integration is expected to:

Deal with incoming payment commands in the following way:

  • Accept payment commands forwarded by MIB to the URL specified in the MIB registration message.
  • Adapt and transform the payment command received to a format suitable for the payment gateway systems.
  • Interact with the payment provider API to perform the action requested in the payment command.
  • In the event of an error in the communication with the payment gateway (e.g., due to a network outage) the custom payment integration is expected to keep trying until the message is successfully delivered to the gateway.

Custom Payment Integration at Runtime 1

Generate payment events in the following way:

  • Either poll the payment provider for a payment action outcome or expose a web hook where the payment gateway can push notifications.
  • Adapt and transform the payment action outcome response or the web hook notification received from the payment gateway to a payment event.
  • Send the payment event to the MIB OMS endpoint delegate URL.

Custom Payment Integration at Runtime 2

Before starting development

Before starting development, it is recommended to engage with the Magento Technical Support team, or your assigned Technical Account Manager (TAM), to:

  • Agree on a suitable custom payment endpoint name.
  • Receive an OAuth 2.0 client ID and client secret that could be used to authorize the HTTP requests being sent to MIB.

Use the received values to configure the following fields in the /config/parameters.yml file:

  • service_bus.endpoint_name
  • mom_client
  • service_bus.secret

If you want to configure these values, contact your Magento Technical Support team, or your assigned TAM.

During deployment

During application deployment process, or periodically by some scheduled process:

  • Registration of the MIB custom payment end-point.

The following command easily registers the custom payment endpoint in your MC:

bin/magento oms:service-bus:register

In case you need to manually register the custom payment endpoint use the magento.service_bus.remote.register message.