Digitzs Gateway Guide

close

Services and Compatibility

Payment Gateway Company Name:
Digitzs
Services that work with Spreedly:
  • Digitzs
Supported operations:
Purchase, Refund, Store
Unsupported operations:
Authorize, Capture, Void
Regions:
North America

Authentication and Security

Specific names for credentials:
App Key, Api Key

Onboarding Merchants in:

Additional Notes

The app_key credential required is not your Digitzs App Id. To generate an App Key, you will need to make a request to the Digitzs /auth/key endpoint using your App Id and API secret. Note that you can generate a new App Key at any time, however the previous App Key will be rendered unusable and you will need to update your Digitzs gateway in Spreedly with your newly generated App Key. See the Digitzs API reference to see how you can generate a new App Key.

All requests to Digitzs require a merchant_id that corresponds to a customer on your platform. You will need to generate a new merchant in your Digitzs account via the Digitzs API for all of your customers. See the Digitzs API reference for details on creating a new merchant. Note that Spreedly does not support creating merchants in your Digitzs account via the Spreedly API. Once you’ve created a merchant you can send the merchant_id in subsequent requests via a gateway specific field.

Adding a Digitzs gateway

To add a Digitzs gateway, you need to supply an app_key, api_key:


curl https://core.spreedly.com/v1/gateways.xml \
  -u 'Ll6fAtoVSTyVMlJEmtpoJV8S:RKOCG5D8D3fZxDSg504D0IxU2XD4Io5VXmyzdCtTivHFTTSy' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>digitzs</gateway_type>
        <app_key>Your App Key</app_key>
        <api_key>Your Api Key</api_key>
      </gateway>'

<gateway>
  <token>IGp8KW7F5m5DOosskQTUJF86VjP</token>
  <gateway_type>digitzs</gateway_type>
  <name>Digitzs</name>
  <description nil="true"/>
  <app_key>Your App Key</app_key>
  <characteristics>
    <supports_purchase type="boolean">true</supports_purchase>
    <supports_authorize type="boolean">false</supports_authorize>
    <supports_capture type="boolean">false</supports_capture>
    <supports_credit type="boolean">true</supports_credit>
    <supports_general_credit type="boolean">false</supports_general_credit>
    <supports_void type="boolean">false</supports_void>
    <supports_verify type="boolean">false</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_store type="boolean">true</supports_store>
    <supports_remove type="boolean">false</supports_remove>
    <supports_fraud_review type="boolean">false</supports_fraud_review>
    <supports_disburse type="boolean">false</supports_disburse>
  </characteristics>
  <credentials>
    <credential>
      <name>app_key</name>
      <value>Your App Key</value>
    </credential>
  </credentials>
  <gateway_specific_fields>
    <gateway_specific_field>merchant_id</gateway_specific_field>
    <gateway_specific_field>payment_type</gateway_specific_field>
    <gateway_specific_field>split_merchant_id</gateway_specific_field>
    <gateway_specific_field>split_amount</gateway_specific_field>
    <gateway_specific_field>customer_id</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <created_at type="dateTime">2017-02-20T15:51:03Z</created_at>
  <updated_at type="dateTime">2017-02-20T15:51:03Z</updated_at>
</gateway>

Optional Gateway Specific Fields

When interacting with a Digitzs gateway to run transactions, there are some gateway specific fields you can specify.

Merchant Id

All requests to Digitzs require a corresponding merchant_id that maps to a customer on your platform. You can send it as a gateway specific field. For more information on how to create a merchant in your Digitzs account, see the Digitzs API reference. Note that you must create merchants in Digitzs manually. Spreedly doesn’t not support creating merchants in your Digitzs account through the Spreedly API.


curl https://core.spreedly.com/v1/gateways/LlkjmEk0xNkcWrNixXa1fvNoTP4/purchase.xml \
  -u 'Ll6fAtoVSTyVMlJEmtpoJV8S:RKOCG5D8D3fZxDSg504D0IxU2XD4Io5VXmyzdCtTivHFTTSy' \
  -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>
          <digitzs>
            <merchant_id>a_merchant_id</merchant_id>
          </digitzs>
        </gateway_specific_fields>
      </transaction>'

<transaction>
  <on_test_gateway type="boolean">true</on_test_gateway>
  <created_at type="dateTime">2017-02-20T15:53:08Z</created_at>
  <updated_at type="dateTime">2017-02-20T15:53:09Z</updated_at>
  <succeeded type="boolean">true</succeeded>
  <state>succeeded</state>
  <token>Q8ryyAEhnWGBj2bqgt8Wg2Okmgw</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>
    <digitzs>
      <merchant_id>a_merchant_id</merchant_id>
    </digitzs>
  </gateway_specific_fields>
  <gateway_specific_response_fields>
  </gateway_specific_response_fields>
  <gateway_transaction_id>62</gateway_transaction_id>
  <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>
  <message key="messages.transaction_succeeded">Succeeded!</message>
  <gateway_token>DQUmhEdGnC77mO8Xz1EXncGmPlW</gateway_token>
  <shipping_address>
    <name>Annamarie Purdy</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></error_code>
    <error_detail nil="true"/>
    <cancelled type="boolean">false</cancelled>
    <fraud_review nil="true"/>
    <created_at type="dateTime">2017-02-20T15:53:08Z</created_at>
    <updated_at type="dateTime">2017-02-20T15:53:09Z</updated_at>
  </response>
  <api_urls>
  </api_urls>
  <payment_method>
    <token>WOXTUHLXiE12JxBtpQ1RU9OIsmd</token>
    <created_at type="dateTime">2016-12-05T21:34:13Z</created_at>
    <updated_at type="dateTime">2017-02-16T01:41:27Z</updated_at>
    <email nil="true"/>
    <data nil="true"/>
    <storage_state>retained</storage_state>
    <test type="boolean">true</test>
    <last_four_digits>1111</last_four_digits>
    <first_six_digits>411111</first_six_digits>
    <card_type>visa</card_type>
    <first_name>Annamarie</first_name>
    <last_name>Purdy</last_name>
    <month type="integer">4</month>
    <year type="integer">2020</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>Annamarie Purdy</full_name>
    <eligible_for_card_updater nil="true"/>
    <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 nil="true"/>
  </payment_method>
</transaction>

Split payments

Digitzs provides the ability to split payments between you and another merchant id. To use this, you’ll need to send three gateway specific fields: payment_type, split_merchant_id, split_amount.

The payment_type can be either card_split or token_split depending on whether or not you are using a credit card or have stored a payment method with Digitzs. The split_merchant_id is the merchant id you will be splitting the payment with and split_amount is how much the other merchant should be charged.

For more information please refer to Digitzs documentation.


curl https://core.spreedly.com/v1/gateways/LlkjmEk0xNkcWrNixXa1fvNoTP4/purchase.xml \
  -u 'Ll6fAtoVSTyVMlJEmtpoJV8S:RKOCG5D8D3fZxDSg504D0IxU2XD4Io5VXmyzdCtTivHFTTSy' \
  -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>
          <digitzs>
            <payment_type>card_split</payment_type>
            <split_merchant_id>merchant-32270590-2095203-148657924</split_merchant_id>
            <split_amount>103</split_amount>
          </digitzs>
        </gateway_specific_fields>
      </transaction>'

<transaction>
  <on_test_gateway type="boolean">true</on_test_gateway>
  <created_at type="dateTime">2017-02-16T01:41:27Z</created_at>
  <updated_at type="dateTime">2017-02-16T01:41:27Z</updated_at>
  <succeeded type="boolean">true</succeeded>
  <state>succeeded</state>
  <token>1LxB8kFbxIG1ddvX1QZepV0GdHb</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>
    <digitzs>
      <payment_type>card_split</payment_type>
      <split_merchant_id>merchant-32270590-2095203-148657924</split_merchant_id>
      <split_amount>103</split_amount>
    </digitzs>
  </gateway_specific_fields>
  <gateway_specific_response_fields>
  </gateway_specific_response_fields>
  <gateway_transaction_id>48</gateway_transaction_id>
  <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>
  <message key="messages.transaction_succeeded">Succeeded!</message>
  <gateway_token>DQUmhEdGnC77mO8Xz1EXncGmPlW</gateway_token>
  <shipping_address>
    <name>Annamarie Purdy</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></error_code>
    <error_detail nil="true"/>
    <cancelled type="boolean">false</cancelled>
    <fraud_review nil="true"/>
    <created_at type="dateTime">2017-02-16T01:41:27Z</created_at>
    <updated_at type="dateTime">2017-02-16T01:41:27Z</updated_at>
  </response>
  <api_urls>
  </api_urls>
  <payment_method>
    <token>WOXTUHLXiE12JxBtpQ1RU9OIsmd</token>
    <created_at type="dateTime">2016-12-05T21:34:13Z</created_at>
    <updated_at type="dateTime">2017-02-16T01:41:26Z</updated_at>
    <email nil="true"/>
    <data nil="true"/>
    <storage_state>retained</storage_state>
    <test type="boolean">true</test>
    <last_four_digits>1111</last_four_digits>
    <first_six_digits>411111</first_six_digits>
    <card_type>visa</card_type>
    <first_name>Annamarie</first_name>
    <last_name>Purdy</last_name>
    <month type="integer">4</month>
    <year type="integer">2020</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>Annamarie Purdy</full_name>
    <eligible_for_card_updater nil="true"/>
    <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 nil="true"/>
  </payment_method>
</transaction>

Customer Id

If you previously executed a store to Digitzs with a payment method in your Spreedly vault, you can add additional credit cards to a customer by sending the customer_id field. See the gateway specific response fields section below to to extract the customer_id from an initial store request.


curl https://core.spreedly.com/v1/gateways/LlkjmEk0xNkcWrNixXa1fvNoTP4/store.xml \
  -u 'Ll6fAtoVSTyVMlJEmtpoJV8S:RKOCG5D8D3fZxDSg504D0IxU2XD4Io5VXmyzdCtTivHFTTSy' \
  -H 'Content-Type: application/xml' \
  -d '<transaction>
        <payment_method_token>56wyNnSmuA6CWYP7w0MiYCVIbW6</payment_method_token>
        <gateway_specific_fields>
          <digitzs>
            <customer_id>103</customer_id>
          </digitzs>
        </gateway_specific_fields>
      </transaction>'

<transaction>
  <created_at type="dateTime">2017-02-16T01:41:26Z</created_at>
  <updated_at type="dateTime">2017-02-16T01:41:27Z</updated_at>
  <succeeded type="boolean">true</succeeded>
  <token>6cAFlG8qkqu1R2SASokH2LYrquc</token>
  <state>succeeded</state>
  <gateway_specific_fields>
    <digitzs>
      <customer_id>103</customer_id>
    </digitzs>
  </gateway_specific_fields>
  <gateway_specific_response_fields>
  </gateway_specific_response_fields>
  <transaction_type>Store</transaction_type>
  <third_party_token nil="true"/>
  <gateway_transaction_id>56</gateway_transaction_id>
  <message key="messages.transaction_succeeded">Succeeded!</message>
  <gateway_token>DQUmhEdGnC77mO8Xz1EXncGmPlW</gateway_token>
  <payment_method>
    <token>81zMDts5t8J2YryKyPcR7spUMZF</token>
    <created_at type="dateTime">2017-02-16T01:41:26Z</created_at>
    <updated_at type="dateTime">2017-02-16T01:41:26Z</updated_at>
    <gateway_type>test</gateway_type>
    <storage_state>retained</storage_state>
    <third_party_token>test_vault:4111111111111111</third_party_token>
    <payment_method_type>third_party_token</payment_method_type>
    <errors>
    </errors>
  </payment_method>
  <basis_payment_method>
    <token>WOXTUHLXiE12JxBtpQ1RU9OIsmd</token>
    <created_at type="dateTime">2016-12-05T21:34:13Z</created_at>
    <updated_at type="dateTime">2017-02-16T01:41:26Z</updated_at>
    <email nil="true"/>
    <data nil="true"/>
    <storage_state>retained</storage_state>
    <test type="boolean">true</test>
    <last_four_digits>1111</last_four_digits>
    <first_six_digits>411111</first_six_digits>
    <card_type>visa</card_type>
    <first_name>Annamarie</first_name>
    <last_name>Purdy</last_name>
    <month type="integer">4</month>
    <year type="integer">2020</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>Annamarie Purdy</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 nil="true"/>
  </basis_payment_method>
  <response>
    <success type="boolean">true</success>
    <message>Successful store</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></error_code>
    <error_detail nil="true"/>
    <cancelled type="boolean">false</cancelled>
    <fraud_review nil="true"/>
    <created_at type="dateTime">2017-02-16T01:41:26Z</created_at>
    <updated_at type="dateTime">2017-02-16T01:41:27Z</updated_at>
  </response>
</transaction>

Optional Gateway Specific Response Fields

Customer Id

A store request to Digitzs without a customer_id will create a new customer in your Digitzs account. You can save that customer id if you plan to add additional credit cards to that customer.

<transaction>
  <token>LgpTNGjsWQs9DwdxcbreUVz0R8p</token>
  <transaction_type>Purchase</transaction_type>
  <gateway_specific_response_fields>
    <digitzs>
      <customer_id>the_customer_id</customer_id>
    </digitzs>
  </gateway_specific_response_fields>
</transaction>