Payment for Stripe Guide

Creating Charges with Payment for Stripe

The easiest and most secure way to collect point of sale payments with a Stripe account.

scan-card Created with Sketch.
Several ways to collect payments

Swipe, manually type, scan, dip, chip — there are endless ways to collect payments. With support for Apple Pay and Google Pay, you're ready to go with the latest payment methods. No setup required.

card-reader Created with Sketch.
Card reader ready

With support for the Stripe Terminal's BBPOS Chipper 2X BT card reader, you can have fully PCI-compliant payments for your customers immediately. No more hacking together a solution.

play
email Created with Sketch.
As a bonus, you have the ability to email a receipt to every single customer you collect a charge from. This doesn't take any additional setup (or technical knowledge), just turn it on and go!
Related from the Blog

Offline Payments with Stripe

Offline payments pose an elevated risk when it comes to fraud due to the lack of verification in real time. We recommend never taking an offline payment.

Although some of the advantages of offline payments are easy to see, there are several reasons why Stripe, and subsequently the Payment app, do not allow for offline payments. Obviously, when wifi or cellular signal is weak or non-existent in remote places, offline payments make sense. If your signal is uncontrollable, you may not want to miss out on a sale. Missing out on a sale means missed revenue, and that's not a desired outcome.

Because payment information must be verified in real time, with several pieces of information, it's imperative that wifi or cellular connectivity is operational so credit cards can be validated. Without these safeguards in place, it is impossible to know if a credit card is fraudulent, stolen or lacks sufficient funds to process the transaction successfully.

Disadvantages of offline payments

There are several reasons that offline payments are not supported by Stripe. First, the risk of fraud, decline and disputed payments increases dramatically. Imagine the following scenario:

A customer approaches your booth, and attempts to pay for several pieces of merchandise with a known stolen credit card. Because the card cannot be verified in real time by the Payment app or Stripe, this customer would be allowed to walk off with the merchandise with the assumption of success in the future.

Without real-time validation of whether the transaction will succeed, it's ultimately too risky to provide offline payments. Lastly, because PCI Compliance and encryption happens after transmission of cardholder information to Stripe, there may be instances where collecting offline payments may be outside the PCI compliance scope. For example, if your phone was stolen at the event without internet connectivity, you may be liable for any credit cards that were stored locally in an app if they were not encrypted.

Will offline payments be added in the future?

It's possible, however doubtful. The risks outweigh the rewards, for both payment gateways and merchants. It's true, fraud may be a very small percentage of these transactions, but at the moment, there are no plans to add this functionality.

Learn more about how to collect payments with Stripe: Payment for Stripe Guides

disabled

Understanding why Stripe Payments are Disabled

Stripe payments can be disabled for several reasons, but can also be easy to remedy with a few simple Stripe Account verification steps.

Stripe is the payment gateway that processes credit card charges in the Payment for Stripe app. There are several similar payment gateways like Clover, Square, Authorize.net, 2Checkout, etc. However, Stripe is a leader in e-commerce, and powers some of the most popular platforms on the web including Instacart, Google, Shopify, Amazon, Lyft and Zoom.

At any given moment, Stripe may require additional information about your Stripe account. Stripe will collect, verify and regularly review information about your Stripe account to protect against fraud and stay up to date domestic and international regulations. In addition your Stripe account may be lacking “capabilities”, which can be requested via Stripe Support.

Unverified Accounts

If you are finding that your payments are disabled when using the Payment app, the best place to start is by logging in to your Stripe Dashboard account. At the top, you will see a message that will inform you if further verification is required for your Stripe account.

Stripe may request several documents to verify your business to ultimately unlock payments for your account. These documents may include, but are not limited to:

  • Scans of Government Identification, including business numbers or EINs.
  • Bank Accounts
  • Information about the business and/or person
  • Non-profit status and documentation

If you're unsure of what verification requirements you may be up against, Stripe has built a tool to help you get your items in order: https://stripe.com/docs/connect/required-verification-information

Disabled accounts due to non-compliance

Your payments may become disabled for other reasons besides your account being unverified. For instance, if you are experiencing a high percentage of credit card declines, blocks or disputes, Stripe may disable your payments to further investigate. In some cases, this may be happening due to no fault of your own. However, the signal this sends to Stripe is that your business is operating in a risky category, and the benefits may not outweigh the risk that Stripe assumes.

Why are some business types not allowed?

Unfortunately, there are several industries that Stripe does not operate in, and thus does not allow payments to be collected. Amongst these are Medical Marijuana companies (illegal at the federal level), and other illegal businesses. Stripe categorizes the businesses they accept by 6 different types:

  • Illegal businesses (e.g. illegal drugs, counterfeiting)
  • Regulated businesses (e.g. alcohol, online pharmacies, marketplaces)
  • Shady businesses (e.g. get-rich quick schemes)
  • Financially-risky businesses (e.g. airline/concern tickets, pre-order campaigns)
  • Businesses that attract money-laundering or fraud (e.g. cell phones, gift cards)
  • Businesses that pose a brand risk (e.g. pornography)

In some special circumstances, businesses in the aforementioned “Regulated Businesses” category can receive special approval, but this verification requires additional time and capital.

Many of the unsupported business categories listed above may be unsupported due to the underlying credit card brands, and not Stripe (or the Payment app) in particular. Each category comes with its own set of unique rules and regulations.

For a full list of restricted businesses, please visit: https://stripe.com/restricted-businesses

More information about account verification can be found here: Blog: Stripe Account Verification

failure

Tracking down card declines with Stripe

Credit card decline reasons are not always obvious to you or your customers. Here's a quick guide with what to look for.

There are several reasons why a credit card can be declined using the Payment for Stripe app. The reasons are generally surfaced in the app after a charge with a descriptive label outlining the reasoning. There are two possible reasons why a credit card payment can fail:

  • Payments declined by the card issuer
  • Blocked payments (Stripe Radar, fraud, etc)
Payments declined by card issuers

Card issuers have automated systems that determine whether the charge should be authorized or not. The algorithms look at various signals instantaneously, from spending habits, account balance and credit card information, as well as location of the charge. Unfortunately, not all of the information that led to the decline is shared with Stripe, and subsequently to the Payment app. In rare cases, card issuers may also provide helpful explanations, but generally, card decline reasons can be hard to track down.

In some cases, the type of restrictions on the credit card can also cause certain declines. For example, using an FSA/HSA card to create a charge for a non-medical payment.

In addition, geographic location can also play a role in declined or failed payments. If credit cards are issued in a different country than your Stripe account, you may be at a higher risk of fraud, and thus risk a higher rate of failed payments.

Payments blocked by Stripe Radar

Every Stripe account comes with automated fraud verification for every single charge made on the Stripe network. The reason this is helpful is simple: Stripe processes billions of dollars in transactions every single day, scanning and identifying trends that give your Stripe account real time feedback on fraud across a variety of mediums. In addition, the Radar prevention tool can also be used to scale up and down your protection, ultimately putting you in control of how finicky your payment protection should be.

How can card declines be avoided?

One of the easiest ways is by using a PCI-compliant card reader, such as Stripe Terminal. Not only does using a card reader give you an abundance of new ways to collect payment methods like Apple Pay and Google Pay, but you'll also be able to accept chip-enabled cards; further preventing fraud. Although manually inputting card numbers is supported by the Payment app, they are still treated by payment gateways and issuers like an online purchase would be, as there is no evidence that the card was “present” at the time of the transaction.

In some cases, it may also be helpful to provide additional information with the charge. At the very least, including a billing zip or postal code to be validated with the credit card can help exponentially, but other information including name on the card and billing address can also be validated and checked against known fraudulent transactions. Lastly, providing a billing email address also allows Stripe Radar to check to see if that email address has been used across the Stripe network (globally) for other types of fraud.

What are the bank decline codes?
Decline Code Description
authentication_required The card was declined as the transaction requires authentication.
approve_with_id The payment cannot be authorized.
call_issuer The card has been declined for an unknown reason.
card_not_supported The card does not support this type of purchase.
card_velocity_exceeded The customer has exceeded the balance or credit limit available on their card.
currency_not_supported The card does not support the specified currency.
do_not_honor The card has been declined for an unknown reason.
do_not_try_again The card has been declined for an unknown reason.
duplicate_transaction A transaction with identical amount and credit card information was submitted very recently.
expired_card The card has expired.
fraudulent The payment has been declined as Stripe suspects it is fraudulent.
generic_decline The card has been declined for an unknown reason.
incorrect_number The card number is incorrect.
incorrect_cvc The CVC number is incorrect.
incorrect_pin The PIN entered is incorrect. This decline code only applies to payments made with a card reader.
incorrect_zip The ZIP/postal code is incorrect.
insufficient_funds The card has insufficient funds to complete the purchase.
invalid_account The card, or account the card is connected to, is invalid.
invalid_amount The payment amount is invalid, or exceeds the amount that is allowed.
invalid_cvc The CVC number is incorrect.
invalid_expiry_year The expiration year invalid.
invalid_number The card number is incorrect.
invalid_pin The PIN entered is incorrect. This decline code only applies to payments made with a card reader.
issuer_not_available The card issuer could not be reached, so the payment could not be authorized.
lost_card The payment has been declined because the card is reported lost.
merchant_blacklist The payment has been declined because it matches a value on the Stripe user's block list.
new_account_information_available The card, or account the card is connected to, is invalid.
no_action_taken The card has been declined for an unknown reason.
not_permitted The payment is not permitted.
offline_pin_required The card has been declined as it requires a PIN.
online_or_offline_pin_required The card has been declined as it requires a PIN.
pickup_card The card cannot be used to make this payment (it is possible it has been reported lost or stolen).
pin_try_exceeded The allowable number of PIN tries has been exceeded.
processing_error An error occurred while processing the card.
reenter_transaction The payment could not be processed by the issuer for an unknown reason.
restricted_card The card cannot be used to make this payment (it is possible it has been reported lost or stolen).
revocation_of_all_authorizations The card has been declined for an unknown reason.
revocation_of_authorization The card has been declined for an unknown reason.
security_violation The card has been declined for an unknown reason.
service_not_allowed The card has been declined for an unknown reason.
stolen_card The payment has been declined because the card is reported stolen.
stop_payment_order The card has been declined for an unknown reason.
testmode_decline A Stripe test card number was used.
transaction_not_allowed The card has been declined for an unknown reason.
try_again_later The card has been declined for an unknown reason.
withdrawal_count_limit_exceeded The customer has exceeded the balance or credit limit available on their card.

The list above is directly from Stripe. For a complete list, as well as suggested next steps, please visit: https://stripe.com/docs/declines/codes

Didn't find what you're looking for? Try the knowledge base
Knowledge Base