Partner Bank Order Submission
Summary
Submit a Partner Bank order (delivery address, banker info, solutions) for a merchant, using the Terminal & Service Orders APIs.
Partner banks can create orders programmatically with banker-specific fields and delivery details, reducing manual coordination and speeding time-to-ship.
Use Case Overview
-
Submit a Partner Bank order for a merchant via the CreatePartnerBankOrderPayload example.
-
Systems involved:
-
Partner App
-
Moneris PayFac as a Service API
-
Fulfillment/Ops (reference).
-
-
API area powering this scenario:
- Terminal & Service Orders POST
/onboarding/merchants/{merchant-id}/orders.
- Terminal & Service Orders POST
Key tasks this scenario enables:
- Create Partner Bank orders with delivery and banker details
- Receive a 201 Created order payload including fees, promotions, and supplies
- (Optional) Retrieve the order by ID for status display
APIs used
GET
/onboarding/merchants/{merchant-id}/orders/{merchant-order-id}- Retrieve an orderPrerequisites
OAuth2 scope: onboarding.order.write (and optionally onboarding.order.read for retrieval)
Headers required on all calls:
- Api-Version
- X-Correlation-ID
Path parameter: merchant-id
1. Create Partner Bank Order (POST)
Create a new order for a merchant using the Partner Bank payload which includes banker branch details, delivery address, and solutions.
Endpoint:
POST /onboarding/merchants/{merchant-id}/orders
Content Type:
application/json
Required Inputs:
-
merchant-id (path)
-
Request body must match CreatePartnerBankOrderPayload
-
Headers:
- Api-Version
- X-Correlation-Id
{
"idempotencyKey": "b3e1f8c2-4d2a-4e6b-9c1a-2f3e4d5b6a7c",
"deliveryAddress": {
"streetNumber": "64",
"postalCode": "L1S2H6",
"city": "Ajax",
"province": "ON",
"streetName": "Harwood Ave South",
"country": "CA",
"firstName": "KANGATHARAN",
"lastName": "RASIAH"
},
"bankerInformation": {
"bankerBranchIdentifier": "2679",
"bankerPhoneNumber": "+19024333434"
},
"solutions": [{
"solutionId": 1,
"quantity": 1,
"carrier": "TELUS"
}],
"orderCreatedBy": "jhundal@PERCOM"
}2. (Optional): Retrieve Order by ID (GET)
Fetch the order to display current status and details in your portal.
Endpoint:
GET /onboarding/merchants/{merchant-id}/orders/{merchant-order-id}
Required Inputs
-
merchant-id (path)
-
merchant-order-id (path)
-
Headers:
-
Api-Version
-
X-Correlation-Id
-
Response
{
"merchantOrderId": 1471632,
"merchantId": "0030211900586",
"userIdentifier": "001",
"representativeCode": "0A",
"adjudicationRequired": true,
"orderStatus": "APPLICATION_SUBMITTED",
"orderType": "NET_NEW_MERCHANT",
"orderOpenedAt": "2025-06-17T16:39:01.85-05:00",
"orderChangedAt": "2025-06-17T17:40:55.577-05:00",
"feeDetails": {
"minimumMerchantDiscountRateFee": { "unitPrice": { "amount": 699, "currency": "CAD" }, "taxes": [] },
"paperStatementFee": { "unitPrice": { "amount": 795, "currency": "CAD" }, "taxes": [] },
"pciSecurityFee": { "unitPrice": { "amount": 895, "currency": "CAD" }, "taxes": [] }
},
"productDetails": {
"cardPlanDetails": {
"visaDebit": { "cardBrandPlans": [], "assessmentPlans": [] },
"discover": { "cardBrandPlans": [], "assessmentPlans": [] },
"unionPay": { "cardBrandPlans": [], "assessmentPlans": [] },
"amex": { "cardBrandPlans": [], "assessmentPlans": [] },
"otherFinancialInstitutionCards": [],
"programs": []
},
"pointOfSaleSolutionType": "MONERIS_POINT_OF_SALE",
"isAcceptedByConduct": false,
"contractSignatureRequired": false,
"faxRequired": true,
"additionalInformation": "",
"businessEntityName": "Intuit",
"referralInformation": { "description": "Other", "additionalInformation": "NOT USED" },
"hostType": "ESSENTIS",
"autoApprovalStatus": "MANUAL_ADJUDICATION",
"adjudicationApprovalStatus": "MANUAL",
"hasImprinter": true,
"isMarketSubSegmentationPreApprovalRequired": false,
"optOutAmexCommunication": true,
"multiCurrencyPricingPackageId": 1234
},
"limits": {
"currency": "CAD",
"dailyRefundLimit": { "amount": 0, "currency": "CAD" },
"dailyCancellationLimit": { "amount": 0, "currency": "CAD" }
},
"bankingDetails": {
"creditDepositAccount": { "currency": "CAD", "institutionNumber": "00809", "transitNumber": "00160", "accountNumber": "3333333333" },
"additionalBankingAccounts": []
},
"chainId": "0030600062664",
"createdAt": "2025-01-01T00:00:00Z",
"modifiedAt": "2025-01-01T00:00:00Z"
}Notes
-
All monetary amounts are in cents.
-
Use idempotencyKey on create to prevent duplicate orders (where applicable).
-
Respect rate limits via X-RateLimit-* headers.
Additional Information
Learn more with the API Definitions
Peruse the endpoints, request/response formats, and authentication methods covered in this scenario.
Updated 14 days ago
