PayFac as a Service
Terminal & Service Ordering for New Merchants

Create a terminal/service order for a newly-onboarded merchant and monitor fulfillment.

Summary

APIs used

  1. POST /onboarding/merchants/{merchant-id}/orders - Create an order

  2. GET /onboarding/merchants/{merchant-id}/orders/{merchant-order-id} - Retrieve an order

Prerequisites

  • Merchant is created and has a valid merchant-id.

  • Merchant must have a valid AgreementModelCode and RepresentativeCode provided by Moneris

  • API access with scopes:

    • onboarding.order.write for Create Order

    • onboarding.order.read for Retrieve Order

  • Authentication headers:

    • Api-Version

    • X-Correlation-Id

    • OAuth2 or ApiKey Auth

Partners can programmatically provision hardware, services, and supplies at scale, reducing manual effort and speeding time-to-activate for new merchants.

Use Case Overview

Partners (ISVs, PayFacs, third‑party acquirers) trigger an order once a merchant record exists. The Partner app calls Moneris PayFac as a Service’s Terminal & Service Orders APIs to submit the order and then polls for order status to drive downstream workflows (e.g., shipment notifications, POS enablement).

Key tasks this scenario enables:

  • Submit an order for terminals/services/supplies for a merchant

  • Receive the created order payload with fees, promotions, and supplies items

  • Retrieve order details to track status and fulfillment

1. Create the Order (POST)

Submit the initial terminal/service/supplies order for the merchant.

Call POST /onboarding/merchants/{merchant-id}/orders
with one of the supported request examples.

The API returns 201 Created with an order object representing the created order.

Required Inputs

  • merchant-id (path)

  • Request body matching

Create Order request (createOrderRequest)

  • Authentication headers:

    • Api-Version

    • X-Correlation-Id

    • OAuth2 or ApiKey Auth

Response

Request

2. Retrieve Order Details (GET)

Poll order status and details to drive fulfillment and notifications.

Call GET /onboarding/merchants/{merchant-id}/orders/{merchant-order-id}.
The API returns 200 OK with the latest order details.

Required Inputs

  • merchant-id (path)

  • merchant-order-id (path)

  • Auth headers noted in Prerequisites

Response

Notes

NOTE: Expedited Orders
When isExpeditedOrder = true, coordinate with fulfillment SLAs accordingly.

Additional Notes

  • All monetary amounts are in cents.

  • Use idempotencyKey on create to prevent duplicate orders (where applicable).

  • Monitor orderStatus to drive shipment notices and POS enablement.

  • Common error responses include 400, 401, 403, 404, 409, 422, 429, 500, 503.

Additional Information

Learn more with the API Definitions

Peruse the endpoints, request/response formats, and authentication methods covered in this scenario.

API References