JetPay V2 Gateway Guide

close

Services and Compatibility

Payment Gateway Company Name:
JetPay V2
Services that work with Spreedly:
  • JetPay V2
Supported operations:
Purchase, Authorize, Capture, Refund, Void, Verify, Store, General Credit
Supported payment types:
Credit Card
Spreedly 3DS2 Global Supported
No
Gateway Specific 3DS2 Supported
No
Populate MIT GSF Support
No
Regions:
North America
API endpoint URL:
https://gateway20.jetpay.com/jetpay

Authentication and Security

Specific names for credentials:
Login

Onboarding Merchants in:

Adding a JetPay V2 gateway

To add a JetPay V2 gateway:


curl https://core.spreedly.com/v1/gateways.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<gateway>
        <gateway_type>jetpay_v2</gateway_type>
        <login>Your Terminal ID</login>
      </gateway>'

<gateway>
  <token>JTsF0tkwnPWIDRRFlDKocMvvoAe</token>
  <gateway_type>jetpay_v2</gateway_type>
  <name>JetPay V2</name>
  <description nil="true"/>
  <login>Your Terminal ID</login>
  <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_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_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>login</name>
      <value>Your Terminal ID</value>
    </credential>
  </credentials>
  <gateway_specific_fields>
    <gateway_specific_field>origin</gateway_specific_field>
    <gateway_specific_field>industry_info</gateway_specific_field>
    <gateway_specific_field>tax_amount</gateway_specific_field>
    <gateway_specific_field>tax_exempt</gateway_specific_field>
    <gateway_specific_field>purchase_order</gateway_specific_field>
    <gateway_specific_field>ud_field_1</gateway_specific_field>
    <gateway_specific_field>ud_field_2</gateway_specific_field>
    <gateway_specific_field>ud_field_3</gateway_specific_field>
  </gateway_specific_fields>
  <payment_methods>
    <payment_method>credit_card</payment_method>
    <payment_method>third_party_token</payment_method>
  </payment_methods>
  <state>retained</state>
  <redacted type="boolean">false</redacted>
  <created_at type="dateTime">2018-06-19T17:08:11Z</created_at>
  <updated_at type="dateTime">2018-06-19T17:08:11Z</updated_at>
</gateway>


env = Spreedly::Environment.new('C7cRfNJGODKh4Iu5Ox3PToKjniY', '4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ', base_url: 'https://core.spreedly.com')
env.add_gateway(:jetpay_v2, login: "Your Terminal ID")


#<Spreedly::Gateway:0x007fe332af0060
@token="Ces33IAm6OGd1xqdeBccbsmVM9K",
@created_at="2017-07-27T17:49:10Z",
@updated_at="2017-07-27T17:49:10Z",
@gateway_type="jetpay_v2",
@state="retained",
@name="JetPay V2",
@credentials={"login"=>"Your Terminal ID"}>

Gateway specific response fields

A response from a JetPay V2 gateway may contain an approval from the underlying processor.

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>
     <jetpay_v2>
       <approval>TEST97</approval>
     </jetpay_v2>
  </gateway_specific_response_fields>
</transaction>

Gateway specific fields

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

  • origin - defaults to INTERNET, can be overridden in all transaction types
  • industry_info - defaults to ECOMMERCE, can be overridden in all transaction types
  • tax_amount - pass tax amount as a string on capture transactions only
  • tax_exempt - pass true/false as a string on capture transactions only
  • purchase_order - pass CustomerPO as a string on capture transactions only
  • ud_field_1 - user defined field can be passed in all transaction types
  • ud_field_2 - user defined field can be passed in all transaction types
  • ud_field_3 - user defined field can be passed in all transaction types

curl https://core.spreedly.com/v1/transactions/D4EkbtWlUtWmfK5QvhttGsBktRj/capture.xml \
  -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
  -H 'Content-Type: application/xml' \
  -d '<transaction>
        <amount>100</amount>
        <currency_code>USD</currency_code>
        <gateway_specific_fields>
          <jetpay_v2>
            <origin>INTERNET</origin>
            <industry_info>ECOMMERCE</industry_info>
            <tax_amount>10</tax_amount>
            <tax_exempt>false</tax_exempt>
            <purchase_order>CustomerPO</purchase_order>
            <ud_field_1>3341</ud_field_1>
            <ud_field_2>data</ud_field_2>
            <ud_field_3>user_defined_field_information</ud_field_3>
          </jetpay_v2>
        </gateway_specific_fields>
      </transaction>'

<transaction>
  <on_test_gateway type="boolean">true</on_test_gateway>
  <created_at type="dateTime">2017-07-27T17:49:08Z</created_at>
  <updated_at type="dateTime">2017-07-27T17:49:09Z</updated_at>
  <succeeded type="boolean">true</succeeded>
  <state>succeeded</state>
  <token>DmQeW1bU5eHHz5NzLSr2rHmV77F</token>
  <transaction_type>Capture</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>
    <jetpay_v2>
      <origin>INTERNET</origin>
      <industry_info>ECOMMERCE</industry_info>
      <tax_amount>10</tax_amount>
      <tax_exempt>false</tax_exempt>
      <purchase_order>CustomerPO</purchase_order>
      <ud_field_1>3341</ud_field_1>
      <ud_field_2>data</ud_field_2>
      <ud_field_3>user_defined_field_information</ud_field_3>
    </jetpay_v2>
  </gateway_specific_fields>
  <gateway_specific_response_fields>
  </gateway_specific_response_fields>
  <gateway_transaction_id>62</gateway_transaction_id>
  <gateway_latency_ms type="integer">0</gateway_latency_ms>
  <amount type="integer">100</amount>
  <currency_code>USD</currency_code>
  <message key="messages.transaction_succeeded">Succeeded!</message>
  <gateway_token>T11bJAANtTWnxl36GYjKWvbNK0g</gateway_token>
  <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 capture</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-07-27T17:49:09Z</created_at>
    <updated_at type="dateTime">2017-07-27T17:49:09Z</updated_at>
  </response>
  <api_urls>
  </api_urls>
  <reference_token>OWwj9nUK9pkXKBBTawcOvaeahJ0</reference_token>
</transaction>


env = Spreedly::Environment.new('C7cRfNJGODKh4Iu5Ox3PToKjniY', '4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ', base_url: 'https://core.spreedly.com')
env.capture_transaction("D4EkbtWlUtWmfK5QvhttGsBktRj", amount: 100,
  gateway_specific_fields: {
    jetpay_v2: {
      origin: "INTERNET",
      industry_info: "ECOMMERCE",
      tax_amount: "10",
      tax_exempt: "false",
      purchase_order: "CustomerPO",
      ud_field_1: "3341",
      ud_field_2: "data",
      ud_field_3: "user_defined_field_information"
    }
  }
)


#<Spreedly::Capture:0x007fe333833538
@token="Kk5tDNEToh3nX1vpspXIvrVEu1b",
@created_at="2017-07-27T17:49:09Z",
@updated_at="2017-07-27T17:49:09Z",
@state="succeeded",
@message="Succeeded!",
@succeeded="true",
@order_id="",
@ip="",
@description="",
@gateway_token="T11bJAANtTWnxl36GYjKWvbNK0g",
@gateway_transaction_id="49",
@email="",
@merchant_name_descriptor="",
@merchant_location_descriptor="",
@on_test_gateway="true",
@currency_code="USD",
@reference_token="CFy9hJOfAdwJtFvECj6sCrYXLm6",
@amount="100",
@response,=
#<Spreedly::Response:0x007fe332b4cfe0
@success="true",
@pending="false",
@cancelled="false",
@fraud_review="",
@created_at="2017-07-27T17:49:09Z",
@updated_at="2017-07-27T17:49:09Z",
@message="Successful capture",
@avs_code="",
@avs_message="",
@cvv_code="",
@cvv_message="",
@error_code="",
@error_detail="">,
@shipping_address,=
#<Spreedly::ShippingAddress:0x007fe332b41438
@name="",
@address1="",
@address2="",
@city="",
@state="",
@zip="",
@country="",
@phone_number="">,
@gateway_specific_fields={:jetpay_v2=>{:origin=>"INTERNET", :industry_info=>"ECOMMERCE", :tax_amount=>"10", :tax_exempt=>"false", :purchase_order=>"CustomerPO", :ud_field_1=>"3341", :ud_field_2=>"data", :ud_field_3=>"user_defined_field_information"}}>

Please refer to using a payment method for more information on how to send GSFs