canonical: https://jentic.com/apis/moneris.io/moneris

# Moneris API

The Moneris API processes card payments for Moneris merchants, from authorization and capture through cancellation and refunds. It stores payment methods and customer profiles, runs card validations, and bills recurring subscriptions that can be paused, resumed, extended, or cancelled. 3-D Secure card lookups and authentications, Kount fraud inquiries, and installment plan lookups support riskier or larger card-not-present sales. Merchant onboarding operations create merchants, place equipment and supply orders, and return product recommendations.

## For AI agents

Take card payments, capture or cancel them, issue refunds, store payment methods, and bill recurring subscriptions for a Moneris merchant, with 3-D Secure and Kount fraud checks.

## Scope

Does not handle loyalty points, payroll, or accounting ledgers. Use for Moneris card payments, refunds, subscriptions, and merchant onboarding only.

## Capabilities

- Create a card payment with automaticCapture, then complete or cancel a held authorization
- Issue a matching refund against a paymentId or an independent refund to a payment method
- Store, update, and delete reusable payment methods and customer profiles
- Bill RECURRING subscriptions and pause, resume, extend, or cancel them by subscription ID
- Run 3-D Secure card lookups and authentications before charging a card
- Submit Kount fraud inquiries for an order and record the outcome with an assert call
- Onboard merchants and place equipment and supply orders under a merchant ID

## Use cases

### AI billing agent that charges and refunds through Moneris

An agent handling customer billing needs to take a payment or issue a refund without a developer wiring OAuth scopes, the X-Merchant-Id header, and idempotency keys by hand. Through Jentic the agent searches for 'refund a card payment', loads the Moneris refund operation with its input schema, and sends the paymentId and amount. Your own Jentic One instance injects the credential at call time, so the agent handles only the order data.

Example prompt: Call POST /refunds with an idempotencyKey, the paymentId of order 10423, and a partial amount, then confirm the refund status with GET `/refunds/{refund-id}`

### Authorize now, capture at shipment

Merchants that ship physical goods often authorize a card at checkout and capture only when the order leaves the warehouse. The Moneris API creates the payment with automaticCapture turned off, then completes it with an amount at shipment time or cancels it with a reason if the order is cancelled. Every write takes an idempotencyKey so a retried call does not double-charge.

Example prompt: Create a payment with POST /payments using an idempotencyKey, paymentMethod, amount, and automaticCapture false, then call POST `/payments/{payment-id}/complete` with the final amount when the order ships

### Recurring subscriptions with pause and resume

Subscription businesses on Moneris bill customers on a schedule using the RECURRING subscriptionType with billingDetails and a stored payment method. Subscriptions can be updated with PATCH, paused for a customer on a break, resumed, extended, or cancelled, and listed for reporting. This keeps the billing schedule on Moneris rather than in a separate scheduler.

Example prompt: Call POST `/subscriptions/{subscription-id}/pause` for subscription sub_8812 with an idempotencyKey, then call POST `/subscriptions/{subscription-id}/resume` on the requested return date

### Fraud screening before charging

Card-not-present merchants screen risky orders before charging. The Moneris API runs a 3-D Secure card lookup and authentication for the cardholder, and submits a Kount inquiry with the order, billing address, products, and kountAccountId. After review, the assert operation records the merchant's decision on the inquiry.

Example prompt: Call POST `/three-d-secure/card-lookups` with an idempotencyKey, paymentMethod, and threeDSecureNotificationUrl, then POST `/three-d-secure/authentications` with the returned cardLookupId and the order amount

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/payments` | Create a payment |
| POST | `/payments/{payment-id}/complete` | Capture an authorized payment |
| POST | `/refunds` | Create a refund |
| POST | `/payment-methods` | Store a payment method |
| POST | `/subscriptions` | Create a subscription |
| POST | `/subscriptions/{subscription-id}/pause` | Pause a subscription |
| POST | `/three-d-secure/authentications` | Create a 3-D Secure authentication |
| POST | `/kount-inquiries` | Create a Kount fraud inquiry |

## Key resources

- **Payments** — Create, list, retrieve, complete, and cancel card payments
- **Refunds** — Matching refunds against a payment and independent refunds to a payment method
- **Payment methods and customers** — Stored cards and customer profiles reused across payments and subscriptions
- **Subscriptions** — Recurring billing with update, pause, resume, extend, and cancel actions
- **3-D Secure and Kount** — Card lookups, cardholder authentications, and Kount fraud inquiries
- **Merchant onboarding** — Merchants, supply and equipment orders, and product recommendations

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 71 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 55 / 100
  - Developer Experience & Jentic Compatibility: 79 / 100
  - AI-Readiness & Agent Experience: 67 / 100
  - Agent Usability: 94 / 100
  - Security: 68 / 100
  - AI Discoverability: 66 / 100
- **View full report:** https://jentic.com/apis/moneris.io/moneris/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the Moneris API by hand means choosing between OAuth 2.0 client credentials and an X-Api-Key, requesting the right scopes per resource, and sending X-Merchant-Id, Api-Version, and an idempotencyKey on every write. Through Jentic you install once, import Moneris from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Moneris puts resource IDs in the URL path, such as `/subscriptions/{subscription-id}` and `/onboarding/merchants/{merchant-id}`, so a rule can hold your agent to one subscription or merchant and the operations you pick. You choose the operations it may call, so destructive ones like deleting a customer or cancelling a payment are not included unless you add them.
- **Credential handling:** Your Moneris client credentials or API key are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'refund a card payment' or 'pause a subscription', and Jentic returns the matching Moneris operation with its input schema, including required fields like idempotencyKey and paymentMethod.

## Related APIs

- **Moneris Loyalty API** — Loyalty points accumulation, redemption, and reversals for the same Moneris merchant
- **Helcim API** — Canadian card processing with payments, refunds, and recurring billing
- **Stripe API** — Global payment processing with subscriptions and many payment methods
- **Sift API** — Fraud scoring for transactions and user events

## FAQ

### What authentication does the Moneris API use?

Per its OpenAPI spec, the Moneris API accepts two schemes: OAuth 2.0 client credentials with scopes such as payment.write, refund.read, and customer.write, or an API key sent in the X-Api-Key header. Moneris recommends OAuth 2.0 for its finer scopes. Requests also carry the X-Merchant-Id and Api-Version headers. Through Jentic the credential is stored by your own Jentic One instance and attached at call time.

### Can I issue a partial refund with the Moneris API?

Yes. POST /refunds accepts a matching refund that references the original paymentId, or an independent refund sent to a stored paymentMethod. Set the amount to refund part of the payment, and check the result with GET `/refunds/{refund-id}.`

### What are the rate limits for the Moneris API?

The OpenAPI spec does not specify rate limits. Check the Moneris developer portal at https://developer.moneris.com for current limits on your merchant account, and use the sandbox host at api.sb.moneris.io for testing.

### Is there a Moneris MCP server?

You don't need an MCP server to give your agent the Moneris API. Jentic connects it directly from the API Directory: import it, store your OAuth client credentials or API key once, and your agent calls the payment, refund, and subscription operations on demand without loading another server's tool definitions into its context.

### Can I limit what my agent is allowed to do with the Moneris API?

Yes. Write a rule that allows only GET /payments, GET `/payments/{payment-id}`, and POST /refunds, so a support agent can look up a charge and refund it but cannot create new payments, delete customers, or onboard merchants. Every call it makes is logged.

### How do I pause a subscription through Jentic?

Search Jentic for 'pause a Moneris subscription', load the POST `/subscriptions/{subscription-id}/pause` operation, and execute it with the subscription ID and an idempotencyKey. Resume it later with POST `/subscriptions/{subscription-id}/resume.` To run it on your own infrastructure, install Jentic One from its GitHub repo.
