{
  "slug": "moneris",
  "url": "https://apps.sectorgrowth.com/integrations/moneris/",
  "name": "Moneris",
  "vendor": "Moneris Solutions Corporation",
  "aliases": [
    "Moneris Gateway",
    "Moneris API",
    "Moneris Checkout",
    "Moneris Solutions"
  ],
  "website": "https://www.moneris.com/en/solutions/ecommerce/moneris-gateway",
  "category": {
    "slug": "payments-and-billing",
    "name": "Payments and billing",
    "url": "https://apps.sectorgrowth.com/categories/payments-and-billing/"
  },
  "summary": "Moneris processes card payments and runs subscriptions for Canadian merchants. What a HubSpot sync can read from its REST API, and which card data stays put.",
  "answer": "No. Moneris appears nowhere in the HubSpot App Marketplace as of September 2026, and HubSpot's own payment tools process on Stripe. We recommend a custom API integration on the Moneris API: an hourly read of new payments, subscription callbacks and a nightly re-read of open records, at 70 to 150 build hours. The card number, its last four digits and the expiry stay with Moneris.",
  "nativeApp": {
    "status": "none",
    "verifiedAt": "2026-09-29"
  },
  "api": {
    "style": "rest",
    "auth": "oauth2",
    "webhooks": "partial",
    "changedSince": "partial",
    "sandbox": "yes",
    "docsUrl": "https://developer.moneris.com/moneris-api/reference/getpayments"
  },
  "objects": [
    {
      "source": "Customer",
      "hubspot": "contact",
      "direction": "to_hubspot",
      "key": "Moneris customer id in a custom HubSpot property",
      "notes": "A customer with a company name also attaches to that HubSpot company."
    },
    {
      "source": "Payment",
      "hubspot": "payment",
      "direction": "to_hubspot",
      "key": "Moneris payment id in a custom payment property, with the deal id carried in customData",
      "notes": "Amounts arrive in cents and are converted once, and Moneris's own status rides in a custom property."
    },
    {
      "source": "Refund",
      "hubspot": "payment",
      "direction": "to_hubspot",
      "key": "Refund id, applied to the payment that holds its Moneris payment id",
      "notes": "It marks that payment refunded or partially refunded, and an independent refund with no payment raises a task."
    },
    {
      "source": "Subscription",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Moneris subscription id",
      "notes": "Below Enterprise, which custom objects need, the status and next billing date sit on the deal instead."
    },
    {
      "source": "Declined or paused subscription",
      "hubspot": "engagement",
      "direction": "to_hubspot",
      "key": "Subscription id and status, one task per change",
      "notes": "Moneris sends no callback for a decline, so the nightly re-read raises the task for the record's owner."
    }
  ],
  "approaches": [
    {
      "kind": "custom",
      "fit": "recommended",
      "why": "An hourly read of new payments and refunds, a nightly re-read of open records and the subscription callbacks, all keyed on Moneris ids, is the one route that sees every charge. Its allowlist keeps the card brand and drops the card digits the API returns."
    },
    {
      "kind": "ipaas",
      "fit": "avoid",
      "why": "Moneris's partner directory lists no iPaaS connector, so middleware there would call the REST API through generic HTTP steps and rebuild the token handling, the day-long windows and the card-field allowlist in each flow."
    },
    {
      "kind": "native",
      "fit": "avoid",
      "why": "Nothing in the HubSpot App Marketplace carries the Moneris name, and HubSpot payments and a connected Stripe account both process on Stripe, so either one means leaving Moneris rather than connecting it."
    }
  ],
  "connectionMethods": [
    "api"
  ],
  "effort": {
    "discoveryHours": [
      10,
      20
    ],
    "buildHours": [
      70,
      150
    ],
    "buildBand": "70 to 150 hours",
    "typicalElapsed": "4 to 8 weeks"
  },
  "pattern": "polling-watermark",
  "faqs": [
    {
      "q": "Is there a Moneris app in the HubSpot App Marketplace?",
      "a": "No. A marketplace search for Moneris returned no result of any kind in September 2026. Moneris's own partner directory lists point-of-sale, booking, loyalty and accounting partners, its own QuickBooks connector among them, and no HubSpot integration. Connecting the two starts with scoping a build: which checkout the store runs, and which Moneris records the people in HubSpot need to see."
    },
    {
      "q": "Can HubSpot payments charge cards through Moneris?",
      "a": "No. HubSpot's knowledge base says HubSpot payments, open to businesses located in Canada, the US and the UK, uses Stripe infrastructure to process payments, and the other processing option it describes is a connected Stripe account. Neither routes a charge through Moneris, so a business staying with Moneris keeps checkout and subscriptions there and syncs the results into HubSpot's payment records."
    },
    {
      "q": "Which Moneris API should a new HubSpot integration use?",
      "a": "The Moneris API, the RESTful generation at api.moneris.io that Moneris's developer portal leads with. It authenticates with OAuth 2.0 client credentials and can list and read payments, refunds, customers and subscriptions. The classic Gateway API now sits on Moneris's Legacy Portal with no call that lists past transactions, and Moneris Checkout reports each result through browser callbacks and a receipt request."
    },
    {
      "q": "How quickly does a Moneris payment reach HubSpot?",
      "a": "A subscription charge arrives when its callback does, once the sync has re-read it. Other payments and refunds land with the hourly read of records created since the last run. Changes to records that already exist, such as a completed pre-authorization, a cancellation or a paused subscription, arrive with the nightly re-read, because Moneris's lists filter on creation time only."
    },
    {
      "q": "What happens when a Moneris subscription callback is lost or sent twice?",
      "a": "A duplicate changes nothing. Each callback carries an event id, which Moneris says can be used to detect duplicates, and every record is upserted on its Moneris id. A lost callback is not fatal either: Moneris documents no retry schedule, so the hourly read of payments created in that window picks up the charge, and the nightly pass settles subscription statuses."
    },
    {
      "q": "Can Moneris card details be stored in HubSpot?",
      "a": "Only the card brand. HubSpot's Product and Services Catalog excludes full card numbers and card security codes from Sensitive Data, and admits the last four digits only as Sensitive Data, an Enterprise feature. The Moneris API returns the first six to eight digits, the last four and the expiry with each payment, and the sync drops all of them before anything is written."
    },
    {
      "q": "Who owns Moneris?",
      "a": "Moneris describes itself as a joint venture created by RBC and BMO. In August 2026 Francisco Partners agreed to buy it from the two banks, subject to approvals under Canada's Retail Payment Activities Act and Competition Act, with closing expected by the end of the first quarter of the banks' 2027 fiscal year. Moneris says its head office and technology infrastructure stay fully resident in Canada."
    },
    {
      "q": "How many hours does a Moneris and HubSpot integration take?",
      "a": "Plan on 10 to 20 hours of discovery and 70 to 150 hours of build for customers, payments, refunds, subscriptions and decline tasks, with the hourly read, the callback receiver, the nightly re-read and a sandbox rehearsal. Discovery spends most of its hours on two questions: which checkout the store runs, and whether its payments appear in the Moneris API's lists."
    }
  ],
  "sections": [
    {
      "depth": 2,
      "text": "Why teams connect Moneris to HubSpot",
      "anchor": "#why-teams-connect-moneris-to-hubspot",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#why-teams-connect-moneris-to-hubspot"
    },
    {
      "depth": 2,
      "text": "What syncs",
      "anchor": "#what-syncs",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#what-syncs"
    },
    {
      "depth": 2,
      "text": "Architecture",
      "anchor": "#architecture",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#architecture"
    },
    {
      "depth": 2,
      "text": "Three ways to connect",
      "anchor": "#three-ways-to-connect",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#three-ways-to-connect"
    },
    {
      "depth": 2,
      "text": "What breaks and how we prevent it",
      "anchor": "#what-breaks-and-how-we-prevent-it",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#what-breaks-and-how-we-prevent-it"
    },
    {
      "depth": 3,
      "text": "Card digits in every read",
      "anchor": "#card-digits-in-every-read",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#card-digits-in-every-read"
    },
    {
      "depth": 3,
      "text": "Declined renewals send nothing",
      "anchor": "#declined-renewals-send-nothing",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#declined-renewals-send-nothing"
    },
    {
      "depth": 3,
      "text": "A callback with no signature",
      "anchor": "#a-callback-with-no-signature",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#a-callback-with-no-signature"
    },
    {
      "depth": 3,
      "text": "Cents written as dollars",
      "anchor": "#cents-written-as-dollars",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#cents-written-as-dollars"
    },
    {
      "depth": 3,
      "text": "Day-long windows on every list",
      "anchor": "#day-long-windows-on-every-list",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#day-long-windows-on-every-list"
    },
    {
      "depth": 2,
      "text": "Our approach",
      "anchor": "#our-approach",
      "url": "https://apps.sectorgrowth.com/integrations/moneris/#our-approach"
    }
  ],
  "caseStudies": [],
  "guides": [
    "https://apps.sectorgrowth.com/guides/choose-a-hubspot-integration-approach/"
  ],
  "status": "published",
  "verifiedAt": "2026-09-29",
  "updatedAt": "2026-09-29",
  "authors": [
    {
      "name": "Prash",
      "role": "Lead of Technical Integrations and AI Solutions"
    }
  ],
  "sources": [
    {
      "title": "Moneris Developer Hub",
      "url": "https://developer.moneris.com/"
    },
    {
      "title": "Introduction",
      "url": "https://developer.moneris.com/moneris-api/docs/introduction"
    },
    {
      "title": "Getting Started",
      "url": "https://developer.moneris.com/moneris-api/docs/getting-started-guide"
    },
    {
      "title": "Authentication & API Keys",
      "url": "https://developer.moneris.com/moneris-api/docs/authentication-api-keys"
    },
    {
      "title": "Recurring Billing",
      "url": "https://developer.moneris.com/moneris-api/docs/recurring-billing"
    },
    {
      "title": "Response Handling",
      "url": "https://developer.moneris.com/moneris-api/docs/response-handling"
    },
    {
      "title": "Penny Value Simulator",
      "url": "https://developer.moneris.com/moneris-api/docs/simulator"
    },
    {
      "title": "Purchase with Payment Token",
      "url": "https://developer.moneris.com/moneris-api/docs/purchase-with-payment-token"
    },
    {
      "title": "List Payments",
      "url": "https://developer.moneris.com/moneris-api/reference/getpayments"
    },
    {
      "title": "Retrieve Payment",
      "url": "https://developer.moneris.com/moneris-api/reference/getpayment"
    },
    {
      "title": "Create Payment",
      "url": "https://developer.moneris.com/moneris-api/reference/createpayments"
    },
    {
      "title": "List Refunds",
      "url": "https://developer.moneris.com/moneris-api/reference/getrefunds"
    },
    {
      "title": "Create Subscription",
      "url": "https://developer.moneris.com/moneris-api/reference/createsubscriptions"
    },
    {
      "title": "Update Subscription",
      "url": "https://developer.moneris.com/moneris-api/reference/updatesubscription"
    },
    {
      "title": "Create Customer",
      "url": "https://developer.moneris.com/moneris-api/reference/createcustomers"
    },
    {
      "title": "Setup Guide",
      "url": "https://developer.moneris.com/hosted-solutions/docs/setup-guide"
    },
    {
      "title": "Open Totals | Moneris Developers",
      "url": "https://legacy-developer.moneris.com/en/Documentation/NA/E-Commerce%20Solutions/API/Open%20Totals"
    },
    {
      "title": "Moneris API and Moneris Developer Portal | Moneris",
      "url": "https://www.moneris.com/en/solutions/ecommerce/moneris-api"
    },
    {
      "title": "About Us | Canadian Payment Processor | Moneris",
      "url": "https://www.moneris.com/en/about-moneris"
    },
    {
      "title": "Moneris announces acquisition by Francisco Partners",
      "url": "https://www.moneris.com/en/media-room/news/moneris-announces-acquisition-by-francisco-partners"
    },
    {
      "title": "Moneris announces integration solution with Intuit QuickBooks | Moneris Media Room",
      "url": "https://www.moneris.com/en/media-room/news/moneris-announces-integration-solution-with-intuit-quickbooks"
    },
    {
      "title": "Moneris Partner Integrations | Moneris",
      "url": "https://www.moneris.com/en/partners/integrations"
    },
    {
      "title": "HubSpot Product & Services Catalog",
      "url": "https://legal.hubspot.com/hubspot-product-and-services-catalog"
    },
    {
      "title": "Set up HubSpot payments",
      "url": "https://knowledge.hubspot.com/payment-processing/set-up-payments"
    },
    {
      "title": "Connect Stripe as a payment processor in HubSpot",
      "url": "https://knowledge.hubspot.com/payment-processing/connect-your-stripe-account-as-a-payment-processor-in-hubspot"
    },
    {
      "title": "Payments API - HubSpot docs",
      "url": "https://developers.hubspot.com/docs/api-reference/latest/crm/objects/commerce-payments/guide"
    },
    {
      "title": "Create and edit custom objects",
      "url": "https://knowledge.hubspot.com/object-settings/create-custom-objects"
    }
  ]
}