Help Save America’s Small Businesses—VOTE! Learn more

Credit card interchange is one of the most difficult aspects of processing. But it’s also one of the most important if you want to understand the fees your business is being charged. While all of the specific factors that determine interchange are too complicated to explain in a single blog post, there are some basic rules that can help you determine why you’re being charged a certain rate. Getting familiar with your interchange can also help you spot problems that can cost your business money.

The 3 Types of Credit Card Fees

Your processor is responsible for collecting all the various fees your business is charged for taking credit cards, but only a small portion of those fees actually go to your processor. 

There are three types of credit card fees:

  1. Processor fees: This is the fee your processor (like Gravity) charges for making sure money gets transferred from your customer’s bank to your business. Your rate will change depending on the processor you use and the type of pricing plan you’re on, but processing fees should only comprise a small percentage of your overall credit card fees.
  2. Card brand fees: This fee is assessed by the various card brands (e.g. Visa, Mastercard, Discover, American Express, etc.). These fees are the same no matter which processor you use, though different card brands charge different fees. You can find these fees by reviewing your processing statements or looking them up online.
  3. Interchange: The interchange (aka “bank fee”) is assessed by the bank that issued the credit card used in a specific transaction. This is by far the largest fee your business will pay for running credit cards and, like card brand fees, it does not change depending on your processor. 

How Is Interchange Determined?

Think of interchange like tolls on a highway where the amount you pay depends on a variety of factors. In the case of tolls, it could depend on things like the type of vehicle you’re driving, the time of day you’re commuting, the distance you’re traveling, and the type of road you’re on. Interchange works much the same way, and there are four main factors that determine how much you will pay.

  1. Card type. There are literally hundreds, if not thousands, of different card types out there. Debit cards, rewards cards, prescription cards, pre-paid cards, business cards–you name it. And each type comes with a different fee. Debit cards, for instance, generally come with relatively low fees since they pose a low risk of fraud to the bank. Rewards cards, by contrast, typically charge higher rates so the banks can afford to pay out the rewards to the cardholders. (Yes, you read that right: your business effectively pays for all those airline miles and cash back rewards your customers earn.)
  2. Transaction method. Broadly speaking, there are two main types of transaction methods: card present and card not present. A card-present transaction happens when a customer pays with a card in person, while a card-not-present transaction occurs when they pay some other way, such as over the phone or online. Since card-present transactions allow you to verify the user’s identity and check for other possible signs of fraud, they pose less risk to the bank and therefore have lower fees. While there are ways to reduce the chances of fraud, card-not-present transactions will almost always come with higher fees.
  3. Industry. Based on an extremely complicated (and sometimes outdated) set of guidelines, the major card brand networks (primarily Visa and Mastercard) determine how much your business will pay based on what type of industry you’re in. For example, a doctor’s office might be charged a lower percentage than a restaurant. Unfortunately, the only resources available to help you determine the specific rates for your industry are more confusing than they are informative, though if you’re interested in finding out more, you can review one of these documents here
  4. Errors. When banks notice an error in a transaction–say you forgot to close your batch at the end of the night or failed to key in the card’s zip code for a transaction–it flags it as a potential sign of fraud. Since fraud poses a risk to the bank, the bank will assign a downgrade to your account and charge a higher interchange fee to mitigate their risk. If you notice your rates are going up and you’re not sure why, call your processor. It’s possible your bank assessed a downgrade because they noticed something atypical, even if there’s a reasonable explanation and an easy fix.

How COVID-19 Is Affecting Credit Card Fees

If COVID-19 has forced your business to do things differently, you may notice some changes to your credit card fees. For example, many businesses have started processing more online/card-not-present transactions while their physical shops remain closed and/or to promote social distancing. If prior to COVID, you were primarily a card-present business, your bank may be flagging this shift as a sign of fraud and downgrading your account. While you will have to pay higher fees for card-not-present transactions no matter what, calling your processor and having them recategorize your business as primarily card-not-present could save you hundreds of dollars a month on unnecessary downgrade fees.

On a more positive note, the major card brands have postponed their normal bi-annual rate increases in order to help businesses during the pandemic. Typically all the major card brands raise their fees (though American Express occasionally lowers them) in April and October, but soon after the pandemic hit, they announced they were postponing the April increase until next year.

If you have questions about rate changes or why you’re being charged what you are, call your processor. They can walk you through the various fees and also help identify places where you might be paying more than necessary. Have questions? Give us a call at 866-701-4700 or email [email protected]

By Ashlie Blaske, Business Analyst

This post was adapted from “Credit Card Processing 101: Understanding the Basics of Credit Card Interchange,” part of the free Gravity Talks webinar program. For more information on past and upcoming webinars, visit www.gravitypayments.com/talks.

[gravityform id="37" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_37' ><div id='gf_37' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_37' id='gform_37' action='/blog/understanding-the-basics-of-credit-card-interchange/#gf_37'> <div class='gform_body'><ul id='gform_fields_37' class='gform_fields top_label form_sublabel_below description_below'><li id='field_37_1' class='gfield gf_left_half gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_37_1' >First Name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_37_1' type='text' value='' class='medium' placeholder='First Name*' aria-required="true" aria-invalid="false" /></div></li><li id='field_37_2' class='gfield gf_right_half gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_37_2' >Last Name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_37_2' type='text' value='' class='medium' placeholder='Last Name*' aria-required="true" aria-invalid="false" /></div></li><li id='field_37_3' class='gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_37_3' >Email<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_37_3' type='email' value='' class='medium' placeholder='Email*' aria-required="true" aria-invalid="false" /> </div></li><li id='field_37_9' class='gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_37_9' >Phone</label><div class='ginput_container ginput_container_phone'><input name='input_9' id='input_37_9' type='tel' value='' class='medium' placeholder='Phone Number' aria-invalid="false" /></div></li><li id='field_37_4' class='gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_37_4' >Business Name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_37_4' type='text' value='' class='medium' placeholder='Business Name*' aria-required="true" aria-invalid="false" /></div></li><li id='field_37_7' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_7' id='input_37_7' type='hidden' class='gform_hidden' aria-invalid="false" value='Gravity Website' /></li><li id='field_37_8' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_8' id='input_37_8' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_37_13' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_13' id='input_37_13' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_37_12' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_12' id='input_37_12' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_37_11' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_11' id='input_37_11' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_37_10' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_10' id='input_37_10' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_37_14' class='gfield mixpanel-id field_sublabel_below field_description_below gfield_visibility_hidden' ><label class='gfield_label' for='input_37_14' >Mixpanel ID</label><div class='ginput_container ginput_container_text'><input name='input_14' id='input_37_14' type='text' value='' class='medium' aria-invalid="false" /></div></li><li id='field_37_15' class='gfield gf-post-slug field_sublabel_below field_description_below gfield_visibility_hidden' ><label class='gfield_label' for='input_37_15' >Post Slug (js)</label><div class='ginput_container ginput_container_text'><input name='input_15' id='input_37_15' type='text' value='' class='medium' aria-invalid="false" /></div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_37' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_37"]){return false;} if( !jQuery("#gform_37")[0].checkValidity || jQuery("#gform_37")[0].checkValidity()){window["gf_submitting_37"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_37"]){return false;} if( !jQuery("#gform_37")[0].checkValidity || jQuery("#gform_37")[0].checkValidity()){window["gf_submitting_37"]=true;} jQuery("#gform_37").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=37&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_37' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='37' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_37' value='WyJbXSIsIjFkZWJiYTQzOTc0NWE5NmY1ODc3NTgwMWVlMTJhNGM1Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_37' id='gform_target_page_number_37' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_37' id='gform_source_page_number_37' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_37' id='gform_ajax_frame_37' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 37, 'https://gravitypayments.com/wp-content/plugins/gravityforms/images/spinner.gif' );jQuery('#gform_ajax_frame_37').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_37');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_37').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_37').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_37').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_37').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_37').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_37').val();gformInitSpinner( 37, 'https://gravitypayments.com/wp-content/plugins/gravityforms/images/spinner.gif' );jQuery(document).trigger('gform_page_loaded', [37, current_page]);window['gf_submitting_37'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_37').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_37').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [37]);window['gf_submitting_37'] = false;}, 50);}else{jQuery('#gform_37').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [37, current_page]);} );} );</script><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 37) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }jQuery('#input_37_9').mask('(999) 999-9999').bind('keypress', function(e){if(e.which == 13){jQuery(this).blur();} } );} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [37, 1]) } ); </script>