Multi-Currency Pricing (MCP)

Multi-Currency Pricing (MCP) is a financial service which allows businesses to price goods and services in a variety of foreign currencies, while continuing to receive settlement and reporting in Canadian dollars. MCP allows cardholders to shop, view prices and pay in the currency of their choice

NOTE: Use MCP only when processing transactions that involve foreign currency exchange; for transactions strictly in Canadian dollars, use the basic financial transaction requests

1. Getting Started with Multi-Currency Pricing (MCP)

Moneris Sales Support

Phone: 1-855-465-4980

To begin processing Multi-Currency Pricing (MCP) transactions on your store, you will need to call Moneris Sales Support to activate this feature on your store.

2. Methods of Processing MCP Transactions

There are two methods of processing MCP transactions via the Moneris API:

  1. Using the Multi-Currency Pricing Rate Lookup API call – this method is used to obtain a foreign exchange rate and locks that specific rate in for a limited time, and is applied in a subsequent transaction

  2. Without using the Multi-Currency Pricing Rate Lookup API call – this method sends a MCP transaction without performing the Rate Lookup request, and the foreign exchange rate is obtained at processing time

3. Multi-Currency Pricing Rate Lookup (Optional)

This API call performs a foreign currency exchange rate look-up, and secures that exchange rate for use in a subsequent MCP financial transaction.

Response

In the response of a Multi-Currency Pricing Rate Lookup request, you will receive:

  • multiCurrencyPricingRateLookupId:

A unique identifier for the rate lookup request. This will be passed to use the retrieved rate in the corresponding MCP transaction.

  • multiCurrencyPricingTransactionType:

Echoes the transaction type used in the request.

  • rateValidityEndTime:

Timestamp indicating when the returned rate expires.

  • rateConversions (Array of Objects):

Contains conversion details for each request:

  • cardholderAmount: Amount in the cardholder's currency.

  • merchantSettlementAmount: Amount in the merchant's currency.

  • multiCurrencyPricingExchangeRate: The exchange rate used.

  • multiCurrencyPricingStatusCode: Status code indicating success or failure.

  • multiCurrencyPricingStatusMessage: Human-readable message describing the result.

Request

This API performs a POST request on /multi-currency-pricing-rates. Some important request fields to note about this API call include:

  • multiCurrencyPricingTransactionType (Enum)
    Specifies the type of transaction for which the rate is being requested. This ensures Moneris applies the correct pricing logic.

    Possible values:

    • PAYMENT

    • REFUND

    This field is required and determines how the rate is calculated based on transaction type.

  • multiCurrencyPricingRateInformationRequests (Array of Objects)
    This is a required array containing one or more rate lookup requests. Each object in the array must include:

    • amountType (Enum):

      • MERCHANT_SETTLEMENT: The amount is in the merchant's currency. Moneris will calculate the equivalent cardholder amount.

      • CARDHOLDER_AMOUNT: The amount is in the cardholder's currency. Moneris will calculate the equivalent merchant amount.

    • amount (Object):

      • amount: Integer value in cents (e.g., $10.59 → 1059)

      • currency: ISO currency code (e.g., CAD, USD)

    • cardholderCurrency (Required only if amountType is MERCHANT_SETTLEMENT):

      • The ISO currency code representing the cardholder’s preferred currency (e.g., USD, EUR)

4. Create Payment with MCP

MCP Purchases and Pre-Authorizations can be performed using the Create Payment API request. Some key things to note about an MCP transaction include:

  • amount (Object)

This is a required object.

  • amount (integer): Specifies the amount of the transaction in the cardholder's currency.

  • currency (string): Specifies the cardholder's currency

  • multiCurrencyPricing (Object)

This enables you to specify information pertaining to your MCP transactions.

  • multiCurrencyPricingOptIn (enum - required)

    • OPT_IN: Indicates that the transaction will be performing with MCP.

  • multiCurrencyPricingRateLookupId (string)

    • Enables you to use the rate from a Multi-Currency Pricing Rate Lookup request.

5. Follow-On Transactions with MCP

Similarly to conventional Payment transactions, you can perform follow-on transactions for MCP Payments. Such follow-on transactions include:

  1. Cancel Payment: Void an MCP transaction.

  2. Complete Payment: Complete an MCP Pre-Authorization (Create Payment with automaticCapture = false).

  3. Create Refund: Perform a Matching Refund on an MCP transaction or perform an Independent Refund using MCP.

For Complete Payments and Create Refunds with MCP, you can perform a Multi-Currency Pricing Rate Lookup to secure an exchange rate prior to your follow-on transaction.

Additional Information

Learn more with the API Definitions

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

API References