Quickbooks Gateway Guide
close
Services and Compatibility
- Payment Gateway Company Name:
- Quickbooks
- Services that work with Spreedly:
-
- Quickbooks
- Supported operations:
- Purchase, Authorize, Capture, Refund, Void
- 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://api.intuit.com
Authentication and Security
- Specific names for credentials:
- Access Token, Client Id, Client Secret, Refresh Token
Onboarding Merchants in:
- United States
Don’t see your preferred region? Contact Us
Additional Notes
Quickbooks uses OAuth 2.0 to authenticate and authorize requests. Follow the instructions here to retrieve your client_id
and client_secret
, as well as your initial refresh_token
and access_token
. Since the access_token
expires every 60 minutes, Spreedly will attempt to refresh the token using the refresh_token
you provided when you set up your gateway, and will update these values for you as they are regenerated. However, once your refresh_token
fully expires, you’ll need to follow the linked instructions again, and update your gateway with the new refresh_token
.
Adding a Quickbooks gateway
To add a Quickbooks gateway, use the credentials you obtained above:
curl https://core.spreedly.com/v1/gateways.xml \
-u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \
-H 'Content-Type: application/xml' \
-d '<gateway>
<gateway_type>quickbooks</gateway_type>
<client_id>client_id</client_id>
<client_secret>client_secret</client_secret>
<refresh_token>refresh_token</refresh_token>
<access_token>access_token</access_token>
</gateway>'
<gateway>
<token>twJhdLh1I3Nsi6qhv1d7dQoGpt</token>
<gateway_type>quickbooks</gateway_type>
<name>Quickbooks</name>
<description nil="true"/>
<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_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">true</supports_fraud_review>
</characteristics>
<credentials>
</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>
<created_at type="dateTime">2019-11-04T22:08:01Z</created_at>
<updated_at type="dateTime">2019-11-04T22:08:01Z</updated_at>
</gateway>
env = Spreedly::Environment.new('C7cRfNJGODKh4Iu5Ox3PToKjniY', '4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ', base_url: 'https://core.spreedly.com')
env.add_gateway(:quickbooks, client_id: "Your client id", client_secret: "Your client_secret", refresh_token: "Your refresh token", access_token: "Your access token")
#<Spreedly::Gateway:0x00007fb996928590
@token="KPUbPBazgfkVl0kJPzjT4DCFHRe",
@created_at="2019-11-04T22:08:01Z",
@updated_at="2019-11-04T22:08:01Z",
@gateway_type="quickbooks",
@state="retained",
@name="Quickbooks",
@credentials={}>