Common Payment Errors
Updated over a week ago

When credit card payments are declined, they can happen for a variety of reasons.

Please confirm with the end-user that their card is valid and has sufficient funds before contacting Uscreen support.

Some debit cards can be processed, while others cannot. This is completely dependent on the card issuer. Some debit cards require a PIN in order for payments to be processed. We recommend that end-users subscribe using a non-debit credit card to avoid issues with collecting future subscription fees. The checkout workflow is not designed to collect payment via direct debit with a PIN.

In addition, Visa prepaid debit cards must be specifically set up to allow international transactions (in the event your user is in another country than the country in which your payment provider is hosted) or online transactions, otherwise, the card will be declined when a collection of payment is attempted. Discover is only available for Stripe accounts based in Canada, the United Kingdom, or the United States.

Sometimes, cards originating in one country will be declined by payment processing accounts in a different country. This is a fraud-preventative measure put into place by banks. Please verify the origin or the end-users card. If it does not match the country in which your payment processing account is located, please have the end-user contact their card issuer to ask about foreign account processing rules on their card.

Before you contact Uscreen support about declined charges, please check all of the above with your end user and then let support know that you have verified all of the previous information.

Why was a charge declined?
When we submit a payment request to the financial institution, they use an automated system to check whether to process the charge or not. Their systems take into consideration various signals such as account balance, the card information provided, spending habits, location of charge vs. location of card origin, etc. Due to these varying factors, a card could be rejected a few minutes after a successful transaction even if all the credit card information provided is correct. We may be unable to pinpoint the exact cause of the issue in this case.

How can I find more information about a specific charge decline?

If you are using Stripe:

Log in to your Stripe account and search by the end-user email address (this must be the same email address associated with their Uscreen account).

Login_-_Search_By_Email.png

Search by the email address of the end-user.

Click on their email address on the result page.

Email_search_result.png

Scroll down until you see “Events and logs”.

Look for an Error on one of the transactions (usually a 402 error, but sometimes another error).

Click on the Error to expand the JSON response.

Logs___Events.png

Look for the decline reason in the Response body section - you will have to read the full JSON response to see what the message may be.

Response_body.png

That is all of the information that we can provide, as this is all of the information that the banks provide. If you have further questions about the reason for the decline, please contact Stripe's support and provide them with the URL to that specific log.

If you're seeing a lot of 'high risk' declines, consider setting up Stripe Radar

Stripe Radar is a suite of modern tools to help you fight fraud. It’s fully integrated into your payments flow and you can start using it without any additional development time however there is an additional cost to it.

The add-on is recommended when a majority of users are located in high-risk card fraud countries or when you notice that a large number of transactions are being blocked and marked as high-risk.

More details about how to set it up can be found here: https://stripe.com/radar

Why do I see "Cannot charge a customer that has no active card" even though there is a Credit Card on file?
This may happen if a customer tries to update their credit card information but fails to provide the complete Card information or tries to submit an empty Credit Card field. Our system will try to submit the request to Stripe, however, because the information is inaccurate, a new Stripe instance is created for the customer using the old card details which may either be invalid or expired.

This may lead to errors as seen in the screenshot below. This can be resolved by carefully entering the correct Credit card information again and clicking the submit button just once.

Card_Error.png

Other common payment errors

The bank returned the decline code do_not_honor.

Screen_Shot_2020-07-15_at_12.31.11_PM.png

This means that the card has been declined for an unknown reason. The customer needs to contact their card issuer for more information. Uscreen support will not have any further information on this matter. The end-user should contact a "decline specialist" with their card issuer.

The bank returned the decline code insufficient_funds.

Screen_Shot_2020-07-15_at_12.32.51_PM.png

In this scenario, the card has insufficient funds to complete the purchase. The customer should use an alternative payment method.

The bank returned the decline code expired_card.

Screen_Shot_2020-07-15_at_12.33.39_PM.png

This means that the card has expired. The customer should use another card.

The bank returned the decline code transaction_not_allowed.

Screen_Shot_2020-07-15_at_12.34.53_PM.png

In this case, the card has been declined for an unknown reason. The customer needs to contact their card issuer for more information. Uscreen support will not have any additional information to provide.

The bank returned the decline code pickup_card.

Screen_Shot_2020-07-15_at_12.35.58_PM.png

The card cannot be used to make this payment (it is possible it has been reported lost or stolen). The customer needs to contact their card issuer for more information. Uscreen support will not have any additional information to provide.

Card brand not supported

Screen_Shot_2020-07-15_at_12.36.52_PM.png

This means your account cannot charge this card brand. Please contact Stripe's support directly as this is outside the scope of Uscreen's support.

The bank returned the decline code lost_card.

Screen_Shot_2020-07-15_at_12.37.56_PM.png

The payment has been declined because the card is reported lost. The specific reason for the decline should not be reported to the customer. Instead, it needs to be presented as a generic decline. Uscreen support cannot provide any additional information. The end-user must contact their card issuer.

The bank returned the decline code processing_error.

Screen_Shot_2020-07-15_at_12.39.16_PM.png

An error occurred while processing the card. The payment should be attempted again. If it still cannot be processed, try again later. This is an issue with the bank's system; Uscreen support cannot assist. Please have the end user try again in an hour or two. If the problem persists, please have them contact a "processing specialist" with their card issuer.

A customer paid via the App store but they do not have access to the videos
The customer may need to update the app and restore the purchase - view this article for detailed instructions on what the customer needs to do to resolve this issue.

A note about Incomplete Payment Intents in Stripe:

You may see a number of "Incomplete" Payment Intents in Stripe. This is expected behavior.

This is nothing to worry about. We recently added the Google Pay button, which sends a Payment Intent ("pi_" in the image above) to Stripe as a security measure and in preparation for use.

If the customer pays with a credit card or PayPal, for example, the status will remain "Incomplete." That just means the Google Pay button wasn't used for the purchase.

On the other hand, if the customer completes checkout using Google Pay, the Payment Intent will be switched to a status of "Succeeded:"


SEPA Payment Processing Delays

If you're using SEPA as a payment method for Stripe, there are known delays in payment processing. This delay can take up to 14 days and in the meantime, your customer will not be able to access your content.

Did this answer your question?