Ingenico ePayments (formerly GlobalCollect) Gateway Guide

close

Services and Compatibility

Payment Gateway Company Name:
Ingenico ePayments (formerly GlobalCollect)
Services that work with Spreedly:
  • Ingenico ePayments (formerly GlobalCollect)
Supported operations:
Purchase, Authorize, Capture, Refund, Void, Verify
Supported payment types:
Credit Card
3D Secure 1 Supported
No
3D Secure 2 Supported
No
Regions:
Asia Pacific, Europe, Latin America, Middle East, North America
API endpoint URL:
https://api.globalcollect.com

Authentication and Security

Specific names for credentials:
Api Key, Merchant, Secret Api Key

Onboarding Merchants in:

Adding a Global Collect gateway

To add a Ingenico ePayments (formerly GlobalCollect) gateway:


curl https://core.spreedly.com/v1/gateways.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>global_collect</gateway_type>
        <merchant_id>Your Merchant ID</merchant_id>
        <api_key_id>Your API Key ID</api_key_id>
        <secret_api_key>Your Secret API key</secret_api_key>
      </gateway>'

<gateway>
  <token>GlQK0CXyuxtnTy69LotLRjA0fBX</token>
  <gateway_type>global_collect</gateway_type>
  <name>Ingenico ePayments (formerly GlobalCollect)</name>
  <description nil="true"/>
  <merchant_id>Your Merchant ID</merchant_id>
  <api_key_id>Your API Key ID</api_key_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_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>
    <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>
    <supports_3dsecure_2_mpi_purchase type="boolean">false</supports_3dsecure_2_mpi_purchase>
    <supports_3dsecure_2_mpi_authorize type="boolean">false</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>
  </characteristics>
  <credentials>
    <credential>
      <name>merchant_id</name>
      <value>Your Merchant ID</value>
    </credential>
    <credential>
      <name>api_key_id</name>
      <value>Your API Key ID</value>
    </credential>
  </credentials>
  <gateway_settings>
  </gateway_settings>
  <gateway_specific_fields>
    <gateway_specific_field>airline_data</gateway_specific_field>
    <gateway_specific_field>country_code</gateway_specific_field>
    <gateway_specific_field>fraud_fields</gateway_specific_field>
    <gateway_specific_field>pre_authorization</gateway_specific_field>
    <gateway_specific_field>requires_approval</gateway_specific_field>
  </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-03-23T18:43:59Z</created_at>
  <updated_at type="dateTime">2020-03-23T18:43:59Z</updated_at>
</gateway>


env = Spreedly::Environment.new('C7cRfNJGODKh4Iu5Ox3PToKjniY', '4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ', base_url: 'https://core.spreedly.com')
env.add_gateway(:global_collect, merchant_id: "Your merchant_id", api_key_id: "Your secret",
                secret_api_key: "Your refund_password")


#<Spreedly::Gateway:0x007fb8c9984480
@token="OcqqYa9hK4r3ofQOJnm4Edt41to",
@created_at="2017-11-17T14:48:37Z",
@updated_at="2017-11-17T14:48:37Z",
@gateway_type="global_collect",
@state="retained",
@name="Ingenico ePayments (formerly GlobalCollect)",
@credentials={"merchant_id"=>"Your merchant_id", "api_key_id"=>"Your secret"}>

Gateway specific fields

When interacting with Ingenico ePayments (formerly GlobalCollect) gateway to run transactions, you can specify true or false for the optional field pre_authorization, approved for use by some acquirers.

When performing an authorization or purchase, the billing address associated with the payment method will be sent to Ingenico. The country_code field allows developers to supply a country code for payment methods that do not have a billing address or to override the country code associated with the payment method being used for the transaction.

requires_approval is an optional boolean field that can be sent on a purchase. If it is false, then a purchase request will capture funds via an auth call (and not attempt a capture call). If it is true or not present, then a purchase request will make an auth call and, if necessary, a capture call to capture the funds. For specific details, see requiresApproval in the cardPaymentMethodSpecificInput Group in Ingenico’s Create Payment Request documentation.

Fraud fields

You can specify certain fraud-related fields in a JSON blob supplied via the fraud_fields field. For more information and which sub-fields are available, see the Ingenico ePayments developer documentation.

Airline data fields

The airline_data field requires the inclusion of some specific subfields. For specific details, see order > additionalInput > airlineData in Ingenico’s Create Payment Request documentation. This data may also be supplied in a JSON blob similar to fraud_fields. Only the fields specified below will be passed.


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>
    <global_collect>
      <pre_authorization>true</pre_authorization>
      <fraud_fields><![CDATA[
        {
          "website": "www.example.com",
          "giftMessage": "Happy Day!"
        }
      ]]></fraud_fields>
      <airline_data>
        <code>111</code>
        <name>Spreedly Airlines</name>
        <flight_date>20190810</flight_date>
        <passenger_name>Randi Smith</passenger_name>
        <flight_legs>
          <arrival_airport>BDL</arrival_airport>
          <origin_airport>RDU</origin_airport>
          <date>20190810</date>
          <carrier_code>SA</carrier_code>
          <number>596</number>
          <airline_class>ZZ</airline_class>
        </flight_legs>
        <flight_legs>
           <arrival_airport>RDU</arrival_airport>
          <origin_airport>BDL</origin_airport>
          <date>20190817</date>
          <carrier_code>SA</carrier_code>
          <number>597</number>
          <airline_class>ZZ</airline_class>
        </flight_legs>
      </airline_data>
      <number_of_installments>3</number_of_installments>
      <country_code>US</country_code>
      <requires_approval>true</requires_approval>
    </global_collect>
  </gateway_specific_fields>
</transaction>'

<transaction>
  <on_test_gateway type="boolean">true</on_test_gateway>
  <created_at type="dateTime">2020-03-23T18:43:58Z</created_at>
  <updated_at type="dateTime">2020-03-23T18:43:58Z</updated_at>
  <succeeded type="boolean">true</succeeded>
  <state>succeeded</state>
  <token>L53UT7pfRtML2xqBwg7EiQceO9z</token>
  <transaction_type>Purchase</transaction_type>
  <order_id nil="true"/>
  <ip nil="true"/>
  <description nil="true"/>
  <email nil="true"/>
  <merchant_name_descriptor nil="true"/>
  <merchant_location_descriptor nil="true"/>
  <gateway_specific_fields>
    <global_collect>
      <pre_authorization>true</pre_authorization>
      <fraud_fields>
        {
          "website": "www.example.com",
          "giftMessage": "Happy Day!"
        }
      </fraud_fields>
      <airline_data>
        <code>111</code>
        <name>Spreedly Airlines</name>
        <flight_date>20190810</flight_date>
        <passenger_name>Randi Smith</passenger_name>
        <flight_legs type="array">
          <flight_leg>
            <arrival_airport>BDL</arrival_airport>
            <origin_airport>RDU</origin_airport>
            <date>20190810</date>
            <carrier_code>SA</carrier_code>
            <number>596</number>
            <airline_class>ZZ</airline_class>
          </flight_leg>
          <flight_leg>
            <arrival_airport>RDU</arrival_airport>
            <origin_airport>BDL</origin_airport>
            <date>20190817</date>
            <carrier_code>SA</carrier_code>
            <number>597</number>
            <airline_class>ZZ</airline_class>
          </flight_leg>
        </flight_legs>
      </airline_data>
      <country_code>US</country_code>
      <requires_approval>true</requires_approval>
    </global_collect>
  </gateway_specific_fields>
  <gateway_specific_response_fields>
  </gateway_specific_response_fields>
  <gateway_transaction_id>63</gateway_transaction_id>
  <gateway_latency_ms type="integer">0</gateway_latency_ms>
  <stored_credential_initiator nil="true"/>
  <stored_credential_reason_type nil="true"/>
  <warning nil="true"/>
  <amount type="integer">100</amount>
  <currency_code>USD</currency_code>
  <retain_on_success type="boolean">false</retain_on_success>
  <payment_method_added type="boolean">false</payment_method_added>
  <dynamically_routed type="boolean">false</dynamically_routed>
  <routing nil="true"/>
  <message key="messages.transaction_succeeded">Succeeded!</message>
  <gateway_token>T11bJAANtTWnxl36GYjKWvbNK0g</gateway_token>
  <gateway_type>test</gateway_type>
  <shipping_address>
    <name>Newfirst Newlast</name>
    <address1 nil="true"/>
    <address2 nil="true"/>
    <city nil="true"/>
    <state nil="true"/>
    <zip nil="true"/>
    <country nil="true"/>
    <phone_number nil="true"/>
  </shipping_address>
  <response>
    <success type="boolean">true</success>
    <message>Successful purchase</message>
    <avs_code nil="true"/>
    <avs_message nil="true"/>
    <cvv_code nil="true"/>
    <cvv_message nil="true"/>
    <pending type="boolean">false</pending>
    <result_unknown type="boolean">false</result_unknown>
    <error_code nil="true"/>
    <error_detail nil="true"/>
    <cancelled type="boolean">false</cancelled>
    <fraud_review nil="true"/>
    <created_at type="dateTime">2020-03-23T18:43:58Z</created_at>
    <updated_at type="dateTime">2020-03-23T18:43:58Z</updated_at>
  </response>
  <api_urls>
  </api_urls>
  <payment_method>
    <token>1rpKvP8zOUhj4Y9EDrIoIYQzzD5</token>
    <created_at type="dateTime">2017-06-26T17:04:38Z</created_at>
    <updated_at type="dateTime">2020-03-23T15:41:31Z</updated_at>
    <email>joey@example.com</email>
    <data>
      <my_payment_method_identifier>448</my_payment_method_identifier>
      <extra_stuff>
        <some_other_things>Can be anything really</some_other_things>
      </extra_stuff>
    </data>
    <storage_state>retained</storage_state>
    <test type="boolean">true</test>
    <metadata>
      <key>string value</key>
    </metadata>
    <callback_url nil="true"/>
    <last_four_digits>1111</last_four_digits>
    <first_six_digits>411111</first_six_digits>
    <card_type>visa</card_type>
    <first_name>Newfirst</first_name>
    <last_name>Newlast</last_name>
    <month type="integer">3</month>
    <year type="integer">2032</year>
    <address1 nil="true"/>
    <address2 nil="true"/>
    <city nil="true"/>
    <state nil="true"/>
    <zip nil="true"/>
    <country nil="true"/>
    <phone_number nil="true"/>
    <company nil="true"/>
    <full_name>Newfirst Newlast</full_name>
    <eligible_for_card_updater type="boolean">true</eligible_for_card_updater>
    <shipping_address1 nil="true"/>
    <shipping_address2 nil="true"/>
    <shipping_city nil="true"/>
    <shipping_state nil="true"/>
    <shipping_zip nil="true"/>
    <shipping_country nil="true"/>
    <shipping_phone_number nil="true"/>
    <payment_method_type>credit_card</payment_method_type>
    <errors>
    </errors>
    <verification_value></verification_value>
    <number>XXXX-XXXX-XXXX-1111</number>
    <fingerprint>e3cef43464fc832f6e04f187df25af497994</fingerprint>
  </payment_method>
  <attempt_3dsecure type="boolean">false</attempt_3dsecure>
</transaction>

Gateway specific response fields

A response from Ingenico ePayments may contain an authorisation_code field.

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>
     <card_stream>
       <authorisation_code>12345678</authorisation_code>
     </card_stream>
  </gateway_specific_response_fields>
</transaction>

If you’d like to request any additional gateway_specific_fields or gateway_specific_response_fields, please contact Support with your request and the gateway documentation for the fields of interest.