v1

latestOpenAPI 3.0.3Moneris2026-07-2454487645.8 KB
Subscriptions

Create Subscription

This operation is used to create a Subscription.

Webhooks

Webhook Definition Details

application/json

Webhook Request Body

This is the base definition for all event messages. It contains the common properties that are shared across all events.

Name

Required

Additional Info

Description

eventId

true

string

Identifier of the triggered event. Can be used as an idempotency key to detect duplicates.

eventType

true

string

This is a list of all the types of events we currently send.

  • RECURRING_PAYMENT_CONFIRMED: A payment transaction has been executed.

occuredAt

true

date-time

the timestamp of when the event occurred (not necessarily the same of when it was delivered)

apiVersion

false

string

The Moneris API Version used to populate the event payload.

objectId

false

string

Used to identify API resources which may be required for future follow-on transactions; i.e. Refunds, Corrections, Completions, Reversals, etc.

href

false

string

Uniform resource locator to retrieve resource details.

correlationId

false

string

Correlation Id transmitted during the original request. This is useful to correlate between multiple events corresponding to same flow.

data

false

payment

The Payment data associated with the event.

json Copy

{ "title": "webhookRequest", "required": [ "eventId", "eventType", "occuredAt", ], "type": "object", "properties": { "eventId": { "type": "string" "description": "Unique Identifier for the Event.", "pattern": "^[A-Za-z]{2}\d{2}[A-Za-z0-9]{26}$", "minLength": 30, "maxLength": 30, "example": "ev0105ARZ3NDEKTSV4RRFFQ69G5FAV" }, "eventType": { "type": "string", "description": "This is a list of all the types of events we currently send. RECURRING_PAYMENT_CONFIRMED", "enum": [ "RECURRING_PAYMENT_CONFIRMED" ] "example": RECURRING_PAYMENT_CONFIRMED }, "occuredAt": { "type": "string", "description": "Date & Time at which the event has occurred.", "format": "date-time", "example": 2025-02-17T18:00:00Z }, "apiVersion": { "type": "string", "description": "The Moneris API Version used to populate the event payload.", "nullable": true, "example": 2024-09-17 }, "objectId": { "type": "string", "description": "Used to identify API resources which may be required for future follow-on transactions; i.e. Refunds, Corrections, Completions, Reversals, etc.", "nullable": true, "example": pi0105ARZ3NDEKTSV4RRFFQ69G5FAV }, "href": { "type": "string", "description": "Uniform resource locator to retrieve resource details", "format": "uri-reference", "nullable": true, "example": /payments/pi0105ARZ3NDEKTSV4RRFFQ69G5FAV }, "correlationId": { "type": "string", "description": "Correlation Id transmitted during the original request.", "nullable": true, "example": "f0d4c76f-f129-4b91-92a3-9a120829bbe5", }, "data": { "type": "object", "description": "Full representation of the resource that triggered the event. For Payments, it will be the Payment object", "nullable": true } }

Response 200 OK

Webhook event processed successfully

Response 400 Bad Request

An error has occured while processing webhook event

post/subscriptions

Request body

idempotencyKeystring required

A Unique Identifier that is required for handling idempotent requests.

Note: Moneris encourages the use of UUID Version 4 in APIs as an idempotency key."

orderIdstring nullable

Indicates the merchant-defined transaction identifer or order ID. Identifiers are unique for every Purchase, Pre-Authorization and Independent Refund transaction

Note: No two transactions of these types may have the same order ID. Field only accepts alphanumerical characters, dashes and underscores.

invoiceNumberstring nullable

Submits a unique value to identify a transaction that is logged by Moneris Solutions.

subscriptionType'RECURRING' required

Subscription Type.

  • RECURRING: Recurring Subscription.
callbackUrlstring nullable

URL-encoded, fully qualified callback URL that receives subscription notification.

Note: Request with URL that is not URL-encoded will be rejected for security reasons.

Example (URL-encoded): https%3A%2F%2Fmerchant.example.com%2Fcallback%3ForderId%3D123

ecommerceIndicator'MAIL_TELEPHONE_ORDER_SINGLE' | 'MAIL_TELEPHONE_ORDER_RECURRING' | 'MAIL_TELEPHONE_ORDER_INSTALMENT' | 'MAIL_TELEPHONE_ORDER_UNKNOWN' | 'AUTHENTICATED_ECOMMERCE' | 'NON_AUTHENTICATED_ECOMMERCE' | 'SSL_MERCHANT'

The ecommerce indicator (ECI) specifies the level of security that was used to obtain the cardholder's payment data. It is sent by the merchant and returned by the issuer. When returned in the response, it can be different from the value sent in the request in case transaction was downgraded by the issuer.

customerIdstring nullable

Unique Identification for the Customer

customerReferencestring nullable

Unique Identification for the Customer. This can be an identifier generated from a merchant-defined identifier.

customDataCustomData nullable

Merchant can send custom meta data with the transaction in this object. Moneris will echo these values back in response.

dynamicDescriptorstring nullable

Merchant defined description sent on a per-transaction basis that will appear on the credit card statement.

Dependent on the card Issuer, the statement will typically show the dynamic descriptor appended to the merchant's existing business name separated by the '/' character.

Note: The combined length of the merchant's business name, forward slash '/' character, and the dynamic descriptor may not exceed 22 characters.

ipv4string ipv4 nullable

Internet Protocol version 4 (IPv4).

ipv6string ipv6 nullable

Internet Protocol version 6 (IPv6).

Example request

{
  "idempotencyKey": "6q5w4e7r8t9y",
  "orderId": "1q2w3e4r5t6t78",
  "invoiceNumber": "1a2s3d45v6",
  "subscriptionType": "RECURRING",
  "billingDetails": {
    "billingIntervalFrequency": 1,
    "billingIntervalCount": 12,
    "billingAmount": {
      "amount": 16000,
      "currency": "CAD"
    },
    "billingStartDate": "2019-07-30"
  },
  "callbackUrl": "https%3A%2F%2Fmerchant.example.com%2Fcallback%3ForderId%3D123",
  "oneTimeAmount": {
    "amount": 16000,
    "currency": "CAD"
  },
  "paymentMethod": {
    "paymentMethodId": "pi0105ARZ3NDEKTSV4RRFFQ69G5FAV",
    "credentialOnFileInformation": {
      "paymentIndicator": "CUSTOMER_INITIATED",
      "paymentInformation": "FIRST",
      "issuerId": "123asd"
    }
  },
  "ecommerceIndicator": "AUTHENTICATED_ECOMMERCE",
  "customerId": "ci0105ARZ3NDEKTSV4RRFFQ69G5FAV",
  "customerReference": "911677-212",
  "dynamicDescriptor": "moneris",
  "threeDSecureData": {
    "threeDSecureAuthenticationId": "pi0105ARZ3NDEKTSV4RRFFQ69G5FAV"
  },
  "ipv4": "104.75.173.179",
  "ipv6": "2600:1401:2::8a"
}

Response

Subscription created successfully

subscriptionIdstring required

Unique Identification for the Subscription

merchantIdstring required

Thirteen character long identification provided to merchants by Moneris.

orderIdstring nullable required

Indicates the merchant-defined transaction identifer or order ID. Identifiers are unique for every Purchase, Pre-Authorization and Independent Refund transaction

Note: No two transactions of these types may have the same order ID. Field only accepts alphanumerical characters, dashes and underscores.

invoiceNumberstring nullable

Submits a unique value to identify a transaction that is logged by Moneris Solutions.

createdAtstring date-time required

Time at which the object was created

customerIdstring nullable

Unique Identification for the Customer

customerReferencestring nullable

Unique Identification for the Customer. This can be an identifier generated from a merchant-defined identifier.

modifiedAtstring date-time nullable

Time at which the object was modified

subscriptionType'RECURRING' required

Subscription Type.

  • RECURRING: Recurring Subscription.
callbackUrlstring nullable

URL-encoded, fully qualified callback URL that receives subscription notification.

Note: Request with URL that is not URL-encoded will be rejected for security reasons.

Example (URL-encoded): https%3A%2F%2Fmerchant.example.com%2Fcallback%3ForderId%3D123

subscriptionStatus'DECLINED' | 'DECLINED_RETRY' | 'PAUSED' | 'ACTIVE' | 'CANCELED' | 'COMPLETED' required

Subscription Status description.

customDataCustomData nullable

Merchant can send custom meta data with the transaction in this object. Moneris will echo these values back in response.

Example response

{
  "subscriptionId": "si0105ARZ3NDEKTSV4RRFFQ69G5FAV",
  "merchantId": "0123456789101",
  "orderId": "1q2w3e4r5t6t78",
  "invoiceNumber": "1a2s3d45v6",
  "createdAt": "2019-07-30T06:43:40.252Z",
  "customerId": "ci0105ARZ3NDEKTSV4RRFFQ69G5FAV",
  "customerReference": "911677-212",
  "modifiedAt": "2019-07-30T06:43:40.252Z",
  "subscriptionType": "RECURRING",
  "billingInformation": {
    "billingIntervalUnit": "WEEK",
    "billingIntervalFrequency": 2,
    "billingIntervalCount": 2,
    "billingAmount": {
      "amount": 2500,
      "currency": "CAD"
    },
    "billingStartDate": "2025-02-01",
    "nextBillingDate": "2025-02-14",
    "billingEndDate": "2025-02-28"
  },
  "callbackUrl": "https%3A%2F%2Fmerchant.example.com%2Fcallback%3ForderId%3D123",
  "paymentMethod": {
    "paymentMethodId": "pi0105ARZ3NDEKTSV4RRFFQ69G5FAV",
    "merchantId": "0123456789101",
    "cardholderInformation": {
      "cardholderName": "John Doe",
      "companyName": "SP Ltd"
    },
    "contactDetails": {
      "phoneNumber": "+18663197450",
      "email": "moneris@moneris.com"
    },
    "billingAddress": {
      "unitNumber": "123A",
      "streetNumber": "3300",
      "streetName": "Bloor Street West",
      "city": "Toronto",
      "province": "ON",
      "postalCode": "M8X 2X2",
      "country": "CA"
    },
    "paymentMethodInformation": {
      "paymentMethodSource": "TEMPORARY_TOKEN",
      "cardInformation": {
        "bankIdentificationNumber": "123456",
        "lastFour": "1234",
        "expiryMonth": 1,
        "expiryYear": 2023,
        "cardBrand": "MASTERCARD",
        "cardType": "CREDIT",
        "cardFingerprint": "1Q2W3E4r5t6rfwewerwewrrw",
        "issuer": "RBC"
      },
      "paymentAccountReference": "11112222333344445555666677778"
    },
    "createdAt": "2019-07-30T06:43:40.252Z",
    "modifiedAt": "2019-07-30T06:43:40.252Z"
  },
  "subscriptionStatus": "ACTIVE",
  "oneTimeAmount": {
    "amount": 16000,
    "currency": "CAD"
  },
  "credentialOnFileResponse": {
    "originalAmount": {
      "amount": 15000,
      "currency": "CAD"
    },
    "issuerId": "A"
  },
  "payments": [
    {
      "paymentId": "pi0105ARZ3NDEKTSV4RRFFQ69G5FAV",
      "href": "/payments/pi0105ARZ3NDEKTSV4RRFFQ69G5FAV"
    }
  ]
}