Realex gateway guide

Adding a Realex gateway

To add a Realex gateway:

curl https://core.spreedly.com/v1/gateways.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>realex</gateway_type>
        <merchant_id>merchantID</merchant_id>
        <secret>secret</secret>
        <refund_password>realexRebatePasswordt</refund_password>
        <general_credit_password>realexRefundPassword</general_credit_password>
      </gateway>'
<gateway>
  <token>74RvN4bkyjYq8nCiilwhDN5kUnV</token>
  <gateway_type>realex</gateway_type>
  <name>Realex</name>
  <description nil="true"/>
  <merchant_id>merchantID</merchant_id>
  <sub_account nil="true"/>
  <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">true</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_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>
  </characteristics>
  <credentials>
    <credential>
      <name>merchant_id</name>
      <value>merchantID</value>
    </credential>
    <credential>
      <name>sub_account</name>
      <value nil="true"/>
    </credential>
  </credentials>
  <gateway_settings>
  </gateway_settings>
  <gateway_specific_fields>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">false</sandbox>
  <created_at type="dateTime">2020-12-23T15:57:42Z</created_at>
  <updated_at type="dateTime">2020-12-23T15:57:42Z</updated_at>
</gateway>

Enabling refund and general credit transactions

In order to process refund or general credit transactions on the Realex gateway, you will need to reach out to the Realex support team and request that this functionality be enabled for your account. Their support team will provide passwords that can be used to enable these transaction types when setting up a new Realex gateway integration.

To perform refund transactions, you will need to contact the Realex support team to request a Rebate Password that you will then pass in as the value for the refund_password gateway field when adding a new Realex gateway to your Spreedly integration.

To perform general credit transactions, you will need to contact the Realex support team to request a Refund Password that you will then pass in as the value for the general_credit_password gateway field when adding a new Realex gateway to your Spreedly integration.

With sub-account

Realex allows you to specify a sub-account if you’d like. To do so, you’d make the call like so:

curl https://core.spreedly.com/v1/gateways.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>realex</gateway_type>
        <merchant_id>merchantID</merchant_id>
        <secret>secret</secret>
        <refund_password>refundPassword</refund_password>
        <general_credit_password>generalCreditPassword</general_credit_password>
        <sub_account>special_account</sub_account>
      </gateway>'
<gateway>
  <token>8oJ1Png2Qyr2F3gARfuyHo39vMD</token>
  <gateway_type>realex</gateway_type>
  <name>Realex</name>
  <description nil="true"/>
  <merchant_id>merchantID</merchant_id>
  <sub_account>special_account</sub_account>
  <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">true</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_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>
  </characteristics>
  <credentials>
    <credential>
      <name>merchant_id</name>
      <value>merchantID</value>
    </credential>
    <credential>
      <name>sub_account</name>
      <value>special_account</value>
    </credential>
  </credentials>
  <gateway_settings>
  </gateway_settings>
  <gateway_specific_fields>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <sandbox type="boolean">false</sandbox>
  <created_at type="dateTime">2020-12-23T16:17:10Z</created_at>
  <updated_at type="dateTime">2020-12-23T16:17:10Z</updated_at>
</gateway>

To learn more about creating and managing gateways in our Marketplace, review the Gateway user guide. For gateways not included in the Marketplace, review the steps below.

Create a gateway

Visit your Connections area to review all gateways and add new ones. When creating your gateways, select the gateway name and authentication mode (if prompted) before completing required fields. Select ☑️Sandbox to create a gateway in Sandbox mode, for processing test card data and transactions in your Spreedly environment.

Based on the above preferences, you can enter the following credentials into app.spreedly.com/gateways/create UI fields to add a new Realex gateway. Add your merchant_id and secret to their respective fields. Enter your Rebate password in the refund_password field, and your Refund password into the general_credit_password field if you intend to use these services. A sub_account can also be specified.

Stored credentials

For Realex, sending stored credential fields can be done using Spreedly’s first class support. Sending stored credential data is simple. For any Authorize or Purchase request, you need to include two fields which tell Spreedly a little bit more about the nature of the transaction:

  • stored_credential_initiator
  • stored_credential_reason_type

Gateway specific response fields

A response from a Realex gateway may contain an AuthCode and a Pasref from the underlying processor.

You can find this information in gateway_specific_response_fields. For example, a transaction could have something like this:

<transaction>
  <token>LgpTNGjsWQs9DwdxcbreUVz0R8p</token>
  <transaction_type>Purchase</transaction_type>
  <gateway_specific_response_fields>
     <realex>
      <authcode>2323214</authcode>
       <pasref>123456</pasref>
     </realex>
  </gateway_specific_response_fields>
</transaction>

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.