Skip to main content

Orchestrated integration guide

This guide explains how to integrate your backend with Open Fabric so merchants and payment gateways can offer your payment method at checkout via Open Fabric’s orchestration.

If you haven’t already, review the foundations first:

End-to-end flow (system interactions)

What you implement

  • Transaction request endpoint: Open Fabric calls you to create a transaction and you return a redirect_url.
  • Transaction update call: you tell Open Fabric whether the customer approved or declined.
  • Redirect back to checkout: you redirect the customer to the provided Open Fabric gateway URL.
  • Payment update callbacks: you receive asynchronous updates for charges and reversals/refunds.
  • (Optional) Transaction status polling: fetch status if you haven’t received callbacks yet.

Step-by-step

Step 1: Implement the transaction request endpoint (Open Fabric → you)

When a customer chooses your payment method at checkout, Open Fabric calls your backend to create a transaction request. You return a redirect_url where the customer can approve or decline the payment.

API reference:

Step 2: Update the transaction decision (you → Open Fabric)

After the customer completes your approval flow, update the transaction with one of these outcomes:

ResultWhat it means
ApprovedProceed: Open Fabric can hand a one-time payment credential to the merchant/gateway.
FailedStop: Open Fabric must not hand over a credential. Include a reason (e.g. user cancelled, insufficient funds).

API reference:

Step 3: Redirect the customer back to checkout

After updating the decision, redirect the customer to the appropriate Open Fabric gateway URL you received in the transaction request:

ResultRedirect to
Approvedgateway_success_url
Failedgateway_fail_url

Open Fabric will then redirect the customer back to the merchant/gateway checkout page.

Step 4: Consume payment updates (Open Fabric → you)

After approval, the merchant/gateway processes the payment credential. Open Fabric then sends you asynchronous callbacks so you can update your internal state (transaction status, balance, receipts, etc.).

You should respond with 200 OK after you have accepted the callback. If we don’t receive 200, we retry according to your configuration (see Notifications).

Callback endpoints:

Step 5: Fetch transaction status (optional)

If you haven’t received callbacks yet (e.g. the merchant’s payment flow is slow), you can poll the transaction details endpoint.

Testing and go-live

See: