Moneris Gateway Guide
Services and Compatibility
- Payment Gateway Company Name:
- Moneris
- Services that work with Spreedly:
-
- Moneris
- Supported operations:
- Purchase, Authorize, Capture, Refund, Void, Verify
- Supported payment types:
- Credit Card, Apple Pay, Google Pay
- Spreedly 3DS2 Global Supported
- Yes
- Gateway Specific 3DS2 Supported
- No
- Populate MIT GSF Support
- No
- Regions:
- North America
- API endpoint URL:
-
https://www3.moneris.com/gateway2/servlet/MpgRequest
Authentication and Security
- Specific names for credentials:
- Store ID, Api Token
Onboarding Merchants in:
-
Canada
Additional Notes
Some merchant accounts require an additional parameter to send a CVV. See our Sending CVV section if this applies to your Moneris account.
Using Visa and Mastercard cards retained
with Spreedly falls under Stored Credentials regulations.
Adding a Moneris gateway
To add a Moneris gateway:
curl https://core.spreedly.com/v1/gateways.xml \
-u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
-H 'Content-Type: application/xml' \
-d '<gateway>
<gateway_type>moneris</gateway_type>
<store_id>MyStoreId</store_id>
<api_token>MyApiToken</api_token>
</gateway>'
<gateway>
<token>3piqSh8nzBCYkjeim91QUVGrrJM</token>
<gateway_type>moneris</gateway_type>
<name>Moneris</name>
<description nil="true"/>
<merchant_profile_key nil="true"/>
<sub_merchant_key nil="true"/>
<store_id>MyStoreId</store_id>
<characteristics>
<supports_purchase type="boolean">true</supports_purchase>
<supports_authorize type="boolean">true</supports_authorize>
<supports_capture type="boolean">true</supports_capture>
<supports_credit type="boolean">true</supports_credit>
<supports_general_credit type="boolean">false</supports_general_credit>
<supports_void type="boolean">true</supports_void>
<supports_adjust type="boolean">false</supports_adjust>
<supports_verify type="boolean">true</supports_verify>
<supports_reference_purchase type="boolean">false</supports_reference_purchase>
<supports_purchase_via_preauthorization type="boolean">false</supports_purchase_via_preauthorization>
<supports_offsite_purchase type="boolean">false</supports_offsite_purchase>
<supports_offsite_authorize type="boolean">false</supports_offsite_authorize>
<supports_offsite_synchronous_purchase type="boolean">false</supports_offsite_synchronous_purchase>
<supports_offsite_synchronous_authorize type="boolean">false</supports_offsite_synchronous_authorize>
<supports_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
<supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
<supports_3dsecure_2_mpi_purchase type="boolean">true</supports_3dsecure_2_mpi_purchase>
<supports_3dsecure_2_mpi_authorize type="boolean">true</supports_3dsecure_2_mpi_authorize>
<supports_store type="boolean">false</supports_store>
<supports_remove type="boolean">false</supports_remove>
<supports_fraud_review type="boolean">false</supports_fraud_review>
<supports_network_tokenization type="boolean">false</supports_network_tokenization>
<supports_populate_mit_fields type="boolean">false</supports_populate_mit_fields>
<supports_inquire_by_gateway_transaction_id type="boolean">false</supports_inquire_by_gateway_transaction_id>
<supports_inquire_by_order_id type="boolean">false</supports_inquire_by_order_id>
<supports_transaction_retry type="boolean">false</supports_transaction_retry>
<supports_stored_stored_credentials type="boolean">false</supports_stored_stored_credentials>
<supports_stored_credentials type="boolean">true</supports_stored_credentials>
</characteristics>
<credentials>
<credential>
<name>store_id</name>
<value>MyStoreId</value>
</credential>
</credentials>
<gateway_settings>
<cvv_enabled nil="true"/>
<avs_enabled nil="true"/>
</gateway_settings>
<gateway_specific_fields>
<gateway_specific_field>issuer_id</gateway_specific_field>
<gateway_specific_field>payment_indicator</gateway_specific_field>
<gateway_specific_field>payment_information</gateway_specific_field>
</gateway_specific_fields>
<payment_methods>
<payment_method>credit_card</payment_method>
<payment_method>apple_pay</payment_method>
<payment_method>google_pay</payment_method>
</payment_methods>
<state>retained</state>
<redacted type="boolean">false</redacted>
<sandbox type="boolean">false</sandbox>
<mode>default</mode>
<created_at type="dateTime">2023-06-06T17:09:35Z</created_at>
<updated_at type="dateTime">2023-06-06T17:09:35Z</updated_at>
</gateway>
Sending CVV
When setting up a new gateway connection, “nil” is the default setting when cvv_enabled
isn’t explicitly defined.
Some Moneris accounts are configured such that they do not allow a CVV to be passed to them unless this value is set to true
. If
that is the case for your account, you can pass the extra boolean parameter cvv_enabled
when adding the gateway. If you wish to never send the CVV for transactions, you can set cvv_enabled
as false.
curl https://core.spreedly.com/v1/gateways.xml \
-u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
-H 'Content-Type: application/xml' \
-d '<gateway>
<gateway_type>moneris</gateway_type>
<store_id>MyStoreId</store_id>
<api_token>MyApiToken</api_token>
<cvv_enabled>true</cvv_enabled>
</gateway>'
<gateway>
<token>8Np67AaWfPJcCPPtCysiwUGPypQ</token>
<gateway_type>moneris</gateway_type>
<name>Moneris</name>
<description nil="true"/>
<merchant_profile_key nil="true"/>
<sub_merchant_key nil="true"/>
<store_id>MyStoreId</store_id>
<characteristics>
<supports_purchase type="boolean">true</supports_purchase>
<supports_authorize type="boolean">true</supports_authorize>
<supports_capture type="boolean">true</supports_capture>
<supports_credit type="boolean">true</supports_credit>
<supports_general_credit type="boolean">false</supports_general_credit>
<supports_void type="boolean">true</supports_void>
<supports_adjust type="boolean">false</supports_adjust>
<supports_verify type="boolean">true</supports_verify>
<supports_reference_purchase type="boolean">false</supports_reference_purchase>
<supports_purchase_via_preauthorization type="boolean">false</supports_purchase_via_preauthorization>
<supports_offsite_purchase type="boolean">false</supports_offsite_purchase>
<supports_offsite_authorize type="boolean">false</supports_offsite_authorize>
<supports_offsite_synchronous_purchase type="boolean">false</supports_offsite_synchronous_purchase>
<supports_offsite_synchronous_authorize type="boolean">false</supports_offsite_synchronous_authorize>
<supports_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
<supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
<supports_3dsecure_2_mpi_purchase type="boolean">true</supports_3dsecure_2_mpi_purchase>
<supports_3dsecure_2_mpi_authorize type="boolean">true</supports_3dsecure_2_mpi_authorize>
<supports_store type="boolean">false</supports_store>
<supports_remove type="boolean">false</supports_remove>
<supports_fraud_review type="boolean">false</supports_fraud_review>
<supports_network_tokenization type="boolean">false</supports_network_tokenization>
<supports_populate_mit_fields type="boolean">false</supports_populate_mit_fields>
<supports_inquire_by_gateway_transaction_id type="boolean">false</supports_inquire_by_gateway_transaction_id>
<supports_inquire_by_order_id type="boolean">false</supports_inquire_by_order_id>
<supports_transaction_retry type="boolean">false</supports_transaction_retry>
<supports_stored_stored_credentials type="boolean">false</supports_stored_stored_credentials>
<supports_stored_credentials type="boolean">true</supports_stored_credentials>
</characteristics>
<credentials>
<credential>
<name>store_id</name>
<value>MyStoreId</value>
</credential>
</credentials>
<gateway_settings>
<cvv_enabled>true</cvv_enabled>
<avs_enabled nil="true"/>
</gateway_settings>
<gateway_specific_fields>
<gateway_specific_field>issuer_id</gateway_specific_field>
<gateway_specific_field>payment_indicator</gateway_specific_field>
<gateway_specific_field>payment_information</gateway_specific_field>
</gateway_specific_fields>
<payment_methods>
<payment_method>credit_card</payment_method>
<payment_method>apple_pay</payment_method>
<payment_method>google_pay</payment_method>
</payment_methods>
<state>retained</state>
<redacted type="boolean">false</redacted>
<sandbox type="boolean">false</sandbox>
<mode>default</mode>
<created_at type="dateTime">2023-06-06T17:10:28Z</created_at>
<updated_at type="dateTime">2023-06-06T17:10:28Z</updated_at>
</gateway>
Turning on AVS
Some Moneris accounts are configured such that AVS Checking will be done. If you’d like to perform
such checking, you can pass the extra boolean parameter avs_enabled
when adding the gateway:
curl https://core.spreedly.com/v1/gateways.xml \
-u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
-H 'Content-Type: application/xml' \
-d '<gateway>
<gateway_type>moneris</gateway_type>
<store_id>MyStoreId</store_id>
<api_token>MyApiToken</api_token>
<avs_enabled>true</avs_enabled>
</gateway>'
<gateway>
<token>T625Ln9dox07cH2pKghIEjeOn4Q</token>
<gateway_type>moneris</gateway_type>
<name>Moneris</name>
<description nil="true"/>
<merchant_profile_key nil="true"/>
<sub_merchant_key nil="true"/>
<store_id>MyStoreId</store_id>
<characteristics>
<supports_purchase type="boolean">true</supports_purchase>
<supports_authorize type="boolean">true</supports_authorize>
<supports_capture type="boolean">true</supports_capture>
<supports_credit type="boolean">true</supports_credit>
<supports_general_credit type="boolean">false</supports_general_credit>
<supports_void type="boolean">true</supports_void>
<supports_adjust type="boolean">false</supports_adjust>
<supports_verify type="boolean">true</supports_verify>
<supports_reference_purchase type="boolean">false</supports_reference_purchase>
<supports_purchase_via_preauthorization type="boolean">false</supports_purchase_via_preauthorization>
<supports_offsite_purchase type="boolean">false</supports_offsite_purchase>
<supports_offsite_authorize type="boolean">false</supports_offsite_authorize>
<supports_offsite_synchronous_purchase type="boolean">false</supports_offsite_synchronous_purchase>
<supports_offsite_synchronous_authorize type="boolean">false</supports_offsite_synchronous_authorize>
<supports_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
<supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
<supports_3dsecure_2_mpi_purchase type="boolean">true</supports_3dsecure_2_mpi_purchase>
<supports_3dsecure_2_mpi_authorize type="boolean">true</supports_3dsecure_2_mpi_authorize>
<supports_store type="boolean">false</supports_store>
<supports_remove type="boolean">false</supports_remove>
<supports_fraud_review type="boolean">false</supports_fraud_review>
<supports_network_tokenization type="boolean">false</supports_network_tokenization>
<supports_populate_mit_fields type="boolean">false</supports_populate_mit_fields>
<supports_inquire_by_gateway_transaction_id type="boolean">false</supports_inquire_by_gateway_transaction_id>
<supports_inquire_by_order_id type="boolean">false</supports_inquire_by_order_id>
<supports_transaction_retry type="boolean">false</supports_transaction_retry>
<supports_stored_stored_credentials type="boolean">false</supports_stored_stored_credentials>
<supports_stored_credentials type="boolean">true</supports_stored_credentials>
</characteristics>
<credentials>
<credential>
<name>store_id</name>
<value>MyStoreId</value>
</credential>
</credentials>
<gateway_settings>
<cvv_enabled nil="true"/>
<avs_enabled>true</avs_enabled>
</gateway_settings>
<gateway_specific_fields>
<gateway_specific_field>issuer_id</gateway_specific_field>
<gateway_specific_field>payment_indicator</gateway_specific_field>
<gateway_specific_field>payment_information</gateway_specific_field>
</gateway_specific_fields>
<payment_methods>
<payment_method>credit_card</payment_method>
<payment_method>apple_pay</payment_method>
<payment_method>google_pay</payment_method>
</payment_methods>
<state>retained</state>
<redacted type="boolean">false</redacted>
<sandbox type="boolean">false</sandbox>
<mode>default</mode>
<created_at type="dateTime">2023-06-06T17:11:12Z</created_at>
<updated_at type="dateTime">2023-06-06T17:11:12Z</updated_at>
</gateway>
Stored credential gateway specific fields
A Moneris gateway supports our standardized Stored Credential Data fields. However, we also allow a few gateway specific fields related to Stored Credentials to be specified, which will override the default Stored Credential Data fields. These fields are issuer_id
, payment_indicator
, and payment_information
. The overrides occur individually; for example, you could pass in a payment_indicator
of Z
, but use the default fields for everything else.
For more information on the accepted values for these fields, please see Moneris’ documentation in the section “A.1 Definitions of Request Fields – Credential on File”.
Gateway specific fields
When interacting with a Moneris gateway to run transactions, there are a number of gateway specific fields you can specify. See the details below the example for more information on each field.
curl https://core.spreedly.com/v1/gateways/LlkjmEk0xNkcWrNixXa1fvNoTP4/purchase.xml \
-u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
-H 'Content-Type: application/xml' \
-d '<transaction>
<payment_method_token>56wyNnSmuA6CWYP7w0MiYCVIbW6</payment_method_token>
<amount>100</amount>
<currency_code>USD</currency_code>
<gateway_specific_fields>
<moneris>
<issuer_id>123</issuer_id>
<payment_indicator>C</payment_indicator>
<payment_information>0</payment_information>
</moneris>
</gateway_specific_fields>
</transaction>'
issuer_id
, payment_indicator
, and payment_information
are related to Stored Credentials transactions.
Please refer to using a payment method for more information on how to send GSFs
Gateway specific response fields
A response from Moneris gateway may contain a specific field which you can find in the gateway_specific_response_fields
.
For example:
<transaction>
<token>LgpTNGjsWQs9DwdxcbreUVz0R8p</token>
<transaction_type>Purchase</transaction_type>
<gateway_specific_response_fields>
<moneris>
<issuer_id>123</issuer_id>
<auth_code>12AB12AB</auth_code>
</moneris>
</gateway_specific_response_fields>
</transaction>
issuer_id
is used for Stored Credentials transactions. Note that it will only be returned if the issuer_id
gateway specific field is sent as an empty string.
If you’d like to request any gateway_specific_fields
or gateway_specific_response_fields
, please contact Support with your request and the gateway documentation for the fields of interest.