Forte gateway guide
Adding a Forte gateway
To add a Forte gateway:
curl https://core.spreedly.com/v1/gateways.xml \
-u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
-H 'Content-Type: application/xml' \
-d '<gateway>
<gateway_type>forte</gateway_type>
<api_key>Your Forte API Access ID</api_key>
<secret>Your Forte API Secure Key</secret>
<location_id>Your location id</location_id>
<account_id>Your account id</account_id>
</gateway>'
<gateway>
<token>KUq5DHdmsrsKq1UmMPdCHxnp9C3</token>
<gateway_type>forte</gateway_type>
<name>Forte</name>
<description nil="true"/>
<api_key>Your Forte API Access ID</api_key>
<location_id>Your location id</location_id>
<account_id>Your account id</account_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">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">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>
</characteristics>
<credentials>
<credential>
<name>api_key</name>
<value>Your Forte API Access ID</value>
</credential>
<credential>
<name>location_id</name>
<value>Your location id</value>
</credential>
<credential>
<name>account_id</name>
<value>Your account id</value>
</credential>
</credentials>
<gateway_settings>
</gateway_settings>
<gateway_specific_fields>
<gateway_specific_field>sec_code</gateway_specific_field>
<gateway_specific_field>service_fee_amount</gateway_specific_field>
<gateway_specific_field>xdata</gateway_specific_field>
</gateway_specific_fields>
<payment_methods>
<payment_method>credit_card</payment_method>
<payment_method>bank_account</payment_method>
</payment_methods>
<state>retained</state>
<redacted type="boolean">false</redacted>
<sandbox type="boolean">false</sandbox>
<created_at type="dateTime">2021-04-05T21:58:42Z</created_at>
<updated_at type="dateTime">2021-04-05T21:58:42Z</updated_at>
</gateway>
Gateway specific fields
For ACHs transactions, Forte recommends passing sec_code
to indicate the standard-entry class code of the transaction. Visit Forte’s documentation for additional details, including available values for this parameter. If you do not specify a value, ‘PPD’ will be sent.
If a merchant is configured to use service fees, then service_fee_amount
can be included as a parameter in the request. For more information and to view example requests and example responses, visit Forte’s documentation.
The xdata
object supports up to 9 fields of extra data, labeled xdata_1
through xdata_9
. Each field can contain up to 80 characters. Values within this field cannot contain double quotation characters (i.e., “text”). For more information, visit Forte’s documentation.
Example
curl https://core.spreedly.com/v1/gateways/LlkjmEk0xNkcWrNixXa1fvNoTP4/purchase.xml \
-u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
-H 'Content-Type: application/xml' \
-d '<transaction>
<payment_method_token>VX0ackf05WGJwvjkl0epp1852CL</payment_method_token>
<amount>100</amount>
<currency_code>USD</currency_code>
<gateway_specific_fields>
<forte>
<sec_code>WEB</sec_code>
<service_fee_amount>.50</service_fee_amount>
<xdata>
<xdata_1>customer metadata</xdata_1>
<xdata_2>customer metadata</xdata_2>
<xdata_3>customer metadata</xdata_3>
<xdata_4>customer metadata</xdata_4>
<xdata_5>customer metadata</xdata_5>
<xdata_6>customer metadata</xdata_6>
<xdata_7>customer metadata</xdata_7>
<xdata_8>customer metadata</xdata_8>
<xdata_9>customer metadata</xdata_9>
</xdata>
</forte>
</gateway_specific_fields>
</transaction>'
<transaction>
<on_test_gateway type="boolean">true</on_test_gateway>
<created_at type="dateTime">2021-03-10T20:36:53Z</created_at>
<updated_at type="dateTime">2021-03-10T20:36:53Z</updated_at>
<succeeded type="boolean">true</succeeded>
<state>succeeded</state>
<token>6V3G3GnlVgvtKXR12x6Jsio0398</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>
<forte>
<sec_code>WEB</sec_code>
<service_fee_amount>.50</service_fee_amount>
<xdata>
<xdata_1>customer metadata</xdata_1>
<xdata_2>customer metadata</xdata_2>
<xdata_3>customer metadata</xdata_3>
<xdata_4>customer metadata</xdata_4>
<xdata_5>customer metadata</xdata_5>
<xdata_6>customer metadata</xdata_6>
<xdata_7>customer metadata</xdata_7>
<xdata_8>customer metadata</xdata_8>
<xdata_9>customer metadata</xdata_9>
</xdata>
</forte>
</gateway_specific_fields>
<gateway_specific_response_fields>
</gateway_specific_response_fields>
<gateway_transaction_id>55</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"/>
<application_id 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>
<smart_routed type="boolean">false</smart_routed>
<message key="messages.transaction_succeeded">Succeeded!</message>
<gateway_token>T11bJAANtTWnxl36GYjKWvbNK0g</gateway_token>
<gateway_type>test</gateway_type>
<shipping_address>
<name nil="true"/>
<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">2021-03-10T20:36:53Z</created_at>
<updated_at type="dateTime">2021-03-10T20:36:53Z</updated_at>
</response>
<api_urls>
</api_urls>
<payment_method>
<token>V0iJKfv2ykrcXtAg5aKB4vEY7Dc</token>
<created_at type="dateTime">2021-03-10T20:36:52Z</created_at>
<updated_at type="dateTime">2021-03-10T20:36:52Z</updated_at>
<email nil="true"/>
<data nil="true"/>
<storage_state>cached</storage_state>
<test type="boolean">true</test>
<metadata nil="true"/>
<callback_url nil="true"/>
<full_name>Bob Smith</full_name>
<bank_name>First Bank of Elbonia</bank_name>
<account_type>checking</account_type>
<account_holder_type>personal</account_holder_type>
<routing_number_display_digits>021</routing_number_display_digits>
<account_number_display_digits>3210</account_number_display_digits>
<first_name>Bob</first_name>
<last_name>Smith</last_name>
<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"/>
<payment_method_type>bank_account</payment_method_type>
<errors>
</errors>
<routing_number>021*</routing_number>
<account_number>*3210</account_number>
</payment_method>
<attempt_3dsecure type="boolean">false</attempt_3dsecure>
</transaction>
Gateway specific response fields
Some responses from Forte gateway may contain an authorization_code
field that contains the authorization code used when directly interacting with the Forte API. You can find this value in the gateway_specific_response_fields
when present. For example, a transaction could have something like this:
<transaction>
<token>LgpTNGjsWQs9DwdxcbreUVz0R8p</token>
<transaction_type>Purchase</transaction_type>
<gateway_specific_response_fields>
<forte>
<authorization_code>192837</authorization_code>
</forte>
</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.
Updated 5 months ago