Datatrans (Planet) gateway guide

Adding a Datatrans gateway

To add a datatrans gateway:

curl https://core.spreedly.com/v1/gateways.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>datatrans</gateway_type>
        <merchant_id>Your merchant id</merchant_id>
        <password>Your password</password>
      </gateway>'
<gateway>
    <token>0ZMGDECYYB9PR851ZJS8420YFY</token>
    <gateway_type>datatrans\</gateway_type>
    <name>Datatrans</name>
    <description nil="true"/>
    <merchant_profile_key nil="true"/>
    <sub_merchant_key nil="true"/>
    <merchant_id>1110016740\</merchant_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">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_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">true\</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>1110016740</value>
        </credential>
    </credentials>
    <gateway_settings>
    </gateway_settings>
    <gateway_specific_fields>
    </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">true</sandbox>
    <mode>default</mode>
    <created_at type="dateTime">2024-06-18T22:42:25Z\</created_at>
    <updated_at type="dateTime">2024-06-18T22:42:25Z\</updated_at>
</gateway>

3DS Global

Spreedly will automatically handle the field mapping for sending third-party 3DS2 authentication data to Datatrans. For more information about how to use this feature, see the 3DS2 Third-party Authentication Guide. Spreedly fields map to the relevant Datatrans fields as described in the following table. Please see Datatrans transaction variable documentation for detailed descriptions of each of these fields and when to use them.

SPREEDLY FIELDDATATRANS FIELD
three_ds_versionversion
ecommerce_indicatoreci
authentication_valuecavv
directory_server_transaction_idds_transaction_id
authentication_response_statusauthentication_response_status
enrolledenrolled
xidxid

Third-Party Vaulting

Third-party tokens can be provisioned through the store call to the Datatrans gateway, which will create a new payment method of the third_party_token type. This token is a distinct string for Datatrans that utilizes the following pattern:

transactionId|acquirerAuthorizationCode|alias|expiryMonth|expiryYear

Please note that the store transaction will not yield a transactionId or acquirerAuthorizationCode.