CommerceHub Gateway Guide

close

Services and Compatibility

Payment Gateway Company Name:
CommerceHub
Services that work with Spreedly:
  • CommerceHub
Supported operations:
Purchase, Authorize, Capture, Refund, Void, Verify, Store
Supported payment types:
Credit Card, Apple Pay, Google Pay
Spreedly 3DS2 Global Supported
No
Gateway Specific 3DS2 Supported
No
Populate MIT GSF Support
Yes (Beta)
Regions:
North America
API endpoint URL:
https://prod.api.fiservapps.com/ch

Authentication and Security

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

Onboarding Merchants in:

Adding a CommerceHub gateway

Please reach out to your Customer Success contact to use CommerceHub.

To add a CommerceHub gateway:


curl https://core.spreedly.com/v1/gateways.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>commerce_hub</gateway_type>
        <api_key>Your API Key</api_key>
        <api_secret>Your API Secret</api_secret>
        <merchant_id>Merchant ID</merchant_id>
        <terminal_id>Terminal ID</terminal_id>
      </gateway>'

<gateway>
  <token>88kqvCudHYnPVk5eXjza7YPdBQR</token>
  <gateway_type>commerce_hub</gateway_type>
  <name>CommerceHub</name>
  <description nil="true"/>
  <merchant_profile_key nil="true"/>
  <sub_merchant_key nil="true"/>
  <merchant_id>Merchant ID</merchant_id>
  <terminal_id>Terminal ID</terminal_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">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>
    <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>
  </characteristics>
  <credentials>
    <credential>
      <name>merchant_id</name>
      <value>Merchant ID</value>
    </credential>
    <credential>
      <name>terminal_id</name>
      <value>Terminal ID</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>
  <mode>default</mode>
  <created_at type="dateTime">2022-12-29T15:33:33Z</created_at>
  <updated_at type="dateTime">2022-12-29T15:33:33Z</updated_at>
</gateway>


env = Spreedly::Environment.new('C7cRfNJGODKh4Iu5Ox3PToKjniY', '4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ', base_url: 'https://core.spreedly.com')
env.add_gateway(:commerce_hub, api_key: 'api_key', api_secret: 'secret', merchant_id: 'merchant id', terminal_id: 'terminal id')


#<Spreedly::Gateway:0x00007fc59087e3a0
@token="4n9oOKGlCLr4bwur6CJHXp4ftFr",
@created_at="2022-12-29T15:33:34Z",
@updated_at="2022-12-29T15:33:34Z",
@gateway_type="commerce_hub",
@state="retained",
@name="CommerceHub",
@credentials={"merchant_id"=>"merchant id", "terminal_id"=>"terminal id"}>

Stored credentials

For CommerceHub, sending stored credential fields can be done using Spreedly’s first class support. 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

Learn more about how Spreedly enables seamless use of stored credentials by reviewing our Stored Credentials Guide.