Why did I get result code 12?

Most often result code 12 will be returned due to a decline by a card-issuing bank. In some instances, transaction factors will lead us to decline. Additional reasons include: 

  • Invalid amount
  • The amount exceeds available funds
  • Decline by the customer's card-issuing bank
  • Newly activated account
  • Invalid expiration date format
  • Expired or non-matching expiration dates
  • Real credit card numbers on test servers
  • Pointing to test server
  • Payflow Link - transaction process mode
  • Payflow Pro - level 2 or level 3 cards
  • The zip code contains all zeroes
  • Trying to perform a voice authorization using the wrong transaction type
  • Card Security Code (CSC) doesn't match
  • Address Verification (AVS) doesn't match

Invalid amount
Some processors can handle only transaction amounts of $99999.99 or less, while other processors can handle transaction amounts up to $999999.99. If the transaction exceeds the processor's maximum amount, resubmit the transaction in smaller amounts. For example, process six transactions of $200000 each instead of a single transaction of $1200000.

The amount exceeds available funds
To obtain approval, contact your merchant bank (Visa or Mastercard) or the appropriate bank (American Express, Discover, etc.) for voice authorization. Have the credit card number, expiration date, and amount available ready before you contact the bank. If the credit card number isn't available, contact the cardholder for information.

Declined by the customer's card-issuing bank
Ask the customer for a different credit card, or use another form of payment. You can also contact your merchant bank and try to obtain a voice authorization.

Newly activated account
If you've recently activated your account, wait at least one hour after activation to process any transactions. If the transaction is otherwise valid, wait one hour and retry the transaction.

Invalid expiration date format
We require the expiration date to be in MMYY format. Using a four-digit year (MMYYYY) will cause some banks to decline transactions because the expiration date is considered invalid. For example, 072025 will be interpreted as 0720 instead of 0725.

Expired or non-matching expiration date
Some card-issuing banks will decline the transaction if the expiration date doesn't match or is expired. However, as a goodwill gesture to their merchants, other banks will process a transaction even with an expired or incorrect expiration date.

Real credit card numbers on test servers
The Payflow Pro test servers decline all real credit card numbers to prevent acceptance, authorization, and settlement of live transactions. Ensure to use Payflow test credit cards if submitting to the test environment. To post transactions to the live servers, change the endpoint in the API, application, or shopping cart.

Pointing to test server
The test servers generate certain results for testing purposes, including a credit card being declined. You can generate specific result codes by adding $1000 to that result code. For example, for result 13 (Referral), submit the amount of $1013. If the amount is in the range $1000 to $1999.99 but doesn't correspond to a supported result code, a result 12 (Decline) is returned instead. Any amount of $2000.00 or more also generates a result code 12 (Decline). Live servers don't have this limitation and can process transactions of up to $99999.99.

Payflow Link - transaction process mode

Here's how to change the Payflow Link configuration to point to the Live servers: 

  1. Log in to your PayPal Manager account
  2. Select Service Settings > Set-Up under Hosted Checkout Pages
  3. Select Transaction Process Mode > Live.
  4. Click Save Changes

Payflow Pro - level 2 or level 3 cards
Payflow Pro supports only level 1 credit card processing. Obtain an alternate form of payment. If you need to process level 2 or level 3 cards, you must confirm with your merchant bank that level 2 and level 3 purchase cards are supported and upgrade your account.

The ZIP code contains all zeroes
Ensure that the ZIP code you're sending doesn't contain all zeroes, then resubmit for processing.

Trying to perform a voice authorization using the wrong transaction type
You must process a transaction with a voice authorization manually, using the Voice Authorization transaction type. If you use either the Sale or Authorization types, the transaction will fail because it has already been authorized.

Card Security Code (CSC/CVV2) doesn't match
Some processors or card-issuing banks will decline a transaction if the Card Security Code (CSC / CVV2) is sent but doesn't match.

Address Verification Service (AVS) doesn't match
Some processors or card-issuing banks will decline a transaction if the Billing Address (BILLTOSTREET/BILLTOZIP) is sent but doesn't match.

More ways we can help

If you accept cookies, we'll use them to improve and customise your experience and enable our partners to show you personalised PayPal ads when you visit other sites. Manage cookies and learn more