Easy Step by Step Guide to enabling MCP

En français

How to integrate for Moneris MCP

MCP Getting Started Guide.pdf

Integration steps

The steps below describe what you need to do to integrate Moneris MCP into your ecommerce solution.

1. Email clientintegrations@moneris.com, and request to have a Moneris client integrations specialist assigned to you.

Note: The client integrations specialist will provide assistance and answer development-related questions.

2. Obtain a Gateway (Merchant Resource Center) test store ID and API token.

Note: The test store environment allows you to process transactions on the Moneris Gateway without any financial impact or transfer of actual funds. You must have a store ID and API token to do your integration and transaction testing.

If you want to log into unique test store that is accessible to you alone:

a. Register for a free test store account (visit https://developer.moneris.com/More/Register/Update%20QA%20Account, and follow the registration instructions).
Note: During the registration/store activation process, you will receive a store ID and other login credentials for your store.

b. Contact your Moneris client integrations specialist and request to have MCP enabled for your store.

c. Log into your store (visit https://esqa.moneris.com/mpg/, enter your username, store ID, and password, and click on the Submit button).

d. Go to the main menu bar and click on Admin > Store Settings.

e. On the "Store Settings" page, you will find the API token for the store is displayed under the "API Token" area.

If you want to log into a common store (accessible to all testers):

a. Visit the online "Testing a Solution" resource at https://developer.moneris.com/More/Testing/Testing%20a%20Solution, and determine which store you want to use.
Note: The login credentials, store ID, and API token for available stores are listed on this resource.

3. Process MCP test transactions in the test environment:

a. Review Sample code for Retrieving a Rate and Sample code for processing a Purchase on page 7.

b. When you are ready to develop and process actual test transactions, refer to the Moneris Gateway API - Integration Guide (visit https://developer.moneris.com/Documentation/NA/E-Commerce%20Solutions/MCP to download a copy).

Note: Moneris sample code, detailed developer guidelines, and GitHub are available in the programming languages listed in the table below. Refer to the "Multi-Currency Pricing (MCP)" section of whichever guide you consult.

Programming language Visit GitHub page:
Java https://github.com/Moneris/eCommerce-Unified-API-Java
PHP https://github.com/Moneris/eCommerce-Unified-API-PHP
.NET https://github.com/Moneris/eCommerce-Unified-API-dotNet

4. Please review the following information about processing follow-on transactions like Refunds and Voids:

Refunds

Refunds can be processed either by reversing the original purchase/capture or by initiating the refund independently. It is best to follow whichever method you use for domestic transactions.
Although you can initiate the refund either in CAD or the foreign currency when calling getRate and processing the refund, the cardholder experience will differ. For example:

  • If you initiate in CAD, you know the refund amount that you will return, but the cardholder refund amount may differ from their purchase amount resulting in a sub-optimal customer experience.
  • If you initiate in FRN, the CAD refund amount that you receive will likely differ from the purchase amount that you originally received, but the cardholder will have a more seamless customer experience.

Note: For API details about the Refund transaction, visit: https://developer.moneris.com/ Documentation/NA/E-Commerce%20Solutions/MCP/MCP%20Refund.

Voids

If you process voids/purchase-corrections for your domestic flow, you can also do this for MCP transactions. Both you and the foreign cardholder are returned the exact amounts from the purchase.

Note: For API details, visit https://developer.moneris.com/Documentation/NA/E-Commerce%20Solutions/MCP/MCP%20Purchase%20Correction.

Important! If you process follow-on transaction via API, please consult your Moneris client integrations specialist. They are best positioned to advise you on anything you need to know about these transaction types.

5. Incorporate the following Website and back-end updates into your ecommerce solution:

a. Install a currency drop-down list so that customers can select their preferred currency.
Note: There are other options to determine currency such as the availability of a simple geo-location API. Contact your Moneris client integrations specialist for more information.

b. Add display flags/abbreviations/symbols as desired; and design your UI according to your business needs. (Your Moneris client integration specialist can provide tips and recommendations.)

c. Save transaction currency and rates for future reference if desired.
Note: Tokens from rate calls need to be passed in purchase/refund calls. If you process a purchase in a foreign currency, you need to process the refund in the same currency.

6. Once you have tested/developed your code, copy it to the production environment so that you can process live transactions involving the transfer of real funds.
Note: Ensure you change the "setTestMode" parameter to "false" or comment it out.

7. If you have any questions, please contact your Moneris client integration specialist.


Sample code

Sample code for Retrieving a Rate

Variable fields are highlighted yellow.

/**************************** Request Variables ***************************/
$store_id='store5';
$api_token='yesguy';
$type = 'mcp_get_rate';
$mcp_version = '1.0';
$rate_txn_type = 'P';
$mcpRate->setCardholderAmount('100', '840');
$mcpRate->setMerchantSettlementAmount('200', '826');

/***************************** Response ********************************/
print("\nMCPRateToken = " . $mpgResponse->getMCPRateToken());
print("\nRateValidityStartTime = " . $mpgResponse->getRateValidityStartTime()); //The time (unix UTC) of when the rate is valid from
print("\nRateValidityEndTime = " . $mpgResponse->getRateValidityEndTime()); //The time (unix UTC) of when the rate is valid until
print("\nMerchantSettlementCurrency = " . $mpgResponse->getMerchantSettlementCurrency($index));
print("\nMerchantSettlementAmount = " . $mpgResponse->getMerchantSettlementAmount($index)); //Domestic(CAD) amount
print("\nCardholderCurrencyCode = " . $mpgResponse->getCardholderCurrencyCode($index));
print("\nCardholderAmount = " . $mpgResponse->getCardholderAmount($index)); //Foreign amount
print("\nMCPErrorStatusCode = " . $mpgResponse->getMCPErrorStatusCode($index));
print("\nMCPErrorMessage = " . $mpgResponse->getMCPErrorMessage($index));

 

Sample code for processing a Purchase

Variable fields are highlighted yellow.

/************************ Request Variables *******************************/
$store_id='store5';
$api_token='yesguy';
$mcp_version = '1.0';
$cardholder_amount = '100';
$cardholder_currency_code = '840';
$mcp_rate_token = 'P1536163745116323'; //rate Token from GetRate.

/************************ Response **********************************/
print("\nMerchantSettlementAmount = " . $mpgResponse->getMerchantSettlementAmount());
print("\nCardholderAmount = " . $mpgResponse->getCardholderAmount());
print("\nCardholderCurrencyCode = " . $mpgResponse->getCardholderCurrencyCode());
print("\nMCPRate = " . $mpgResponse->getMCPRate());
print("\nMCPErrorStatusCode = " . $mpgResponse->getMCPErrorStatusCode());
print("\nMCPErrorMessage = " . $mpgResponse->getMCPErrorMessage());
print("\nHostId = " . $mpgResponse->getHostId());


 

Intégration de la TMD de Moneris

MCP_GSG-FRN.pdf

Étapes d’intégration

Suivez les étapes ci-dessous pour intégrer la TMD de Moneris à votre solution de commerce électronique.

1. Écrivez à clientintegrations@moneris.com et demandez à ce que votre compte soit attribué à un spécialiste de l’intégration client de Moneris.

Remarque : Le spécialiste de l’intégration client qui s’occupera de votre compte pourra vous aider et répondre à vos questions en matière de développement Web.

2. Obtenez un code de magasin et un jeton API tests pour Passerelle Moneris (accessible au moyen du centre de ressources pour commerçants).

Remarque : Dans l’environnement de tests, vous pourrez traiter des transactions par l’entremise de Passerelle Moneris sans aucun transfert de fonds ni incidence financière. Vous devez avoir un code de magasin et un jeton API pour intégrer la TMD et traiter des transactions tests.

Pour accéder à un commerce test unique vous étant réservé :

a. Ouvrez un compte test gratuit en consultant la page https://developer.moneris.com/More/Register/Update%20QA%20Account et en suivant les instructions d’inscription.

Remarque : Durant le processus d’inscription et d’activation du commerce, vous recevrez un code de magasin et les autres renseignements d’identification de votre commerce.

b. Demandez à votre spécialiste de l’intégration client de Moneris d’activer la TMD pour votre commerce.

c. Accédez à votre commerce en consultant la page https://esqa.moneris.com/mpg/?chlang=fr, en entrant vos renseignements d’identification (nom d’utilisateur, code de magasin et mot de passe), puis en cliquant sur le bouton Soumettre.

d. Dans la barre de menus, cliquez sur Admin > Paramètres du magasin.

e. À la page « Paramètres du magasin », vous trouverez votre jeton API dans la section « Jeton API ».

Pour accéder à un commerce commun pour tous les testeurs :

a. Accédez aux ressources en ligne de Moneris Testing a Solution à la page https://developer.moneris.com/More/Testing/Testing%20a%20Solution et choisissez le commerce à utiliser.

Remarque : Les renseignements d’identification, le code de magasin et le jeton API pour ces commerces se trouvent à cette page.

3. Traitez des transactions tests avec la TMD dans l’environnement de test.

a. Consultez les sections Modèle de programmation pour récupérer un taux et Modèle de programmation pour traiter un achat à la page 9.

b. Lorsque vous êtes prêt à développer la TMD et à traiter des transactions tests, consultez le guide Moneris Gateway API - Integration Guide (accédez à la page https://developer.moneris.com/Documentation/NA/E-Commerce%20Solutions/MCP pour en télécharger une copie).

Remarque : Les modèles de programmation, les directives détaillées pour les développeurs et les pages GitHub de Moneris sont offerts dans les langages de programmation affichés dans le tableau ci-dessous.

(Ces ressources sont offertes en anglais seulement.) Consultez la section « Multi-Currency Pricing (MCP) » (tarification multidevise) des guides qui vous intéressent.

Langage de programmation Voir la page GitHub :
Java https://github.com/Moneris/eCommerce-Unified-API-Java
PHP https://github.com/Moneris/eCommerce-Unified-API-PHP
.NET https://github.com/Moneris/eCommerce-Unified-API-dotNet

4. Veuillez passer en revue les renseignements suivants concernant le processus à suivre pour les transactions de suivi, comme les remboursements et les annulations :

Remboursements

Vous pouvez traiter des remboursements en annulant l’achat ou la conclusion original ou en entamant un remboursement indépendant. Nous vous conseillons de suivre la méthode que vous utilisez pour rembourser des transactions nationales.
En effectuant un appel « MCP Refund API », vous entamerez un remboursement au moyen du montant en devise étrangère. Pour connaître le montant en dollars canadiens avant de rembourser la transaction, vous devez utiliser l’appel « getRate ».

Remarque : Si vous utilisez l’appel « MCP Refund API », le montant en dollars canadiens que vous recevrez pour le remboursement différera probablement du montant d’achat reçu initialement, mais le montant remboursé au titulaire de carte correspondra au montant qu’il a payé, ce qui assurera une expérience client harmonieuse.

Annulations

Si vous traitez des transactions d’annulation ou de correction d’achat pour vos transactions nationales, vous pouvez également le faire pour des transactions traitées au moyen de la TMD. Vous et le titulaire de carte étranger recevez tous les deux le montant exact de l’achat.

Important! Si vous traitez des transactions de suivi au moyen d’une API, veuillez consulter votre spécialiste de l’intégration client de Moneris. Cette personne est la mieux placée pour vous expliquer ce que vous devez savoir au sujet de ces transactions.

5. Intégrez les modifications du site Web et du processus dorsal à votre solution de commerce électronique :

a. Installez une liste déroulante pour que vos clients puissent sélectionner leur devise.
Remarque : Il existe d’autres options pour déterminer la devise utilisée, comme la disponibilité d’une simple API de géolocalisation. Communiquez avec votre spécialiste de l’intégration client de Moneris pour obtenir de plus amples renseignements à ce sujet.

b. Ajoutez les drapeaux, les abréviations ou les symboles désirés et développez l’interface d’utilisateur afin de répondre aux besoins de votre entreprise. (Votre spécialiste de l’intégration client de Moneris peut vous donner des conseils et des astuces à ce sujet.)

c. Enregistrez la devise de la transaction et les taux à titre d’information, si vous le souhaitez.
Remarque : Les jetons des appels de taux doivent être transmis dans des appels d’achat ou de remboursement. Si vous traitez un achat dans une devise étrangère, vous devrez la rembourser dans cette même devise.

6. Après avoir développé votre code et l’avoir mis à l’essai, copiez-le dans votre environnement de production. Vous pourrez ainsi traiter de vraies transactions qui transfèrent des fonds réels.

Remarque : N’oubliez pas de régler le paramètre « setTestMode » à « false » ou à y laisser un commentaire.

7. Si vous avez des questions, veuillez communiquer avec votre spécialiste de l’intégration client de Moneris.


Modèles de programmation

Modèle de programmation pour récupérer un taux

Les champs variables sont indiqués en jaune.

/**************************** Request Variables ***************************/
$store_id='store5';
$api_token='yesguy';
$type = 'mcp_get_rate';
$mcp_version = '1.0';
$rate_txn_type = 'P';
$mcpRate->setCardholderAmount('100', '840');
$mcpRate->setMerchantSettlementAmount('200', '826');

/***************************** Response ********************************/
print("\nMCPRateToken = " . $mpgResponse->getMCPRateToken());
print("\nRateValidityStartTime = " . $mpgResponse->getRateValidityStartTime()); //The time (unix UTC) of when the rate is valid from
print("\nRateValidityEndTime = " . $mpgResponse->getRateValidityEndTime()); //The time (unix UTC) of when the rate is valid until
print("\nMerchantSettlementCurrency = " . $mpgResponse->getMerchantSettlementCurrency($index));
print("\nMerchantSettlementAmount = " . $mpgResponse->getMerchantSettlementAmount($index)); //Domestic(CAD) amount
print("\nCardholderCurrencyCode = " . $mpgResponse->getCardholderCurrencyCode($index));
print("\nCardholderAmount = " . $mpgResponse->getCardholderAmount($index)); //Foreign amount
print("\nMCPErrorStatusCode = " . $mpgResponse->getMCPErrorStatusCode($index));
print("\nMCPErrorMessage = " . $mpgResponse->getMCPErrorMessage($index));

Modèle de programmation pour traiter un achat

Les champs variables sont indiqués en jaune.

/************************ Request Variables *******************************/
$store_id='store5';
$api_token='yesguy';
$mcp_version = '1.0';
$cardholder_amount = '100';
$cardholder_currency_code = '840';
$mcp_rate_token = 'P1536163745116323'; //rate Token from GetRate.

/************************ Response **********************************/
print("\nMerchantSettlementAmount = " . $mpgResponse->getMerchantSettlementAmount());
print("\nCardholderAmount = " . $mpgResponse->getCardholderAmount());
print("\nCardholderCurrencyCode = " . $mpgResponse->getCardholderCurrencyCode());
print("\nMCPRate = " . $mpgResponse->getMCPRate());
print("\nMCPErrorStatusCode = " . $mpgResponse->getMCPErrorStatusCode());
print("\nMCPErrorMessage = " . $mpgResponse->getMCPErrorMessage());
print("\nHostId = " . $mpgResponse->getHostId());