If you're consistently getting an error when trying to process payments on your site, it's surprisingly each to troubleshoot. You will just need access to your web files via FTP or your control panel's File Manager.


Applies to Version(s): 3.7.X - Current

Complexity Level: Advanced


In this article you will learn


Questions to Ask


DEVMODE


Test the Payment Gateway


Viewing the Log File



Questions to Ask.


A few questions you want to ask yourself when customer's are unable to checkout on your site.


1. Is it affecting everyone?


If it is affecting all of your customers, then there's a good chance the problem is with your gateway or your website. If only one or a few customers are affected, the issue is typically either user error or due to a specific set of circumstances. Try to gather as much information as possible, i.e. browser being used, steps to replicate, etc.


2. How long has the issue been occurring?


Has payment ever worked? Or did it just recently stop working?


What may have changed during that time? Are you on a new server? Have any settings been changed?


3. Are there any error messages after trying to run the payment?


If an error message shows details, what do the details tell you about the error? For example, if the error says Declined, you can pretty much guarantee the problem is with the Card Holder's financial institution. If the problem says something like 'Authorization Error', then the problem is likely with the gateway credentials being used. However, if the error is generic, there are some additional steps we can take to find more information.



DEVMODE


Devmode is used in PinnacleCart's config file for troubleshooting a few things. It's most beneficial for troubleshooting shipping and payment methods.


Using FTP or your server control panel's File Manager, navigate to the following directory:


content/engine


Edit the file named engine_config.php.


By default, this file does not contain a line for DEVMODE. For example, the file would look something like this:

<?php
  define('DB_HOST', 'localhost');
  define('DB_USER', 'desertdessert');
  define('DB_PASSWORD', 'mystrongpassword');
  define('DB_NAME', 'desertdessert_database');
  define('DB_PREFIX', '');
  define('LICENSE_NUMBER', '1234-55555-6-777777777-d88899');
  define('PASSWORD_SALT', '$1234567abcdefgh9987654321');


When we turn on DEVMODE, we need to add a new line to the config file which tells the cart that it's on. This line is define('DEVMODE',true);. The resulting file would look like this:

<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'desertdessert');
define('DB_PASSWORD', 'mystrongpassword');
define('DB_NAME', 'desertdessert_database');
define('DB_PREFIX', '');
define('LICENSE_NUMBER', '1234-55555-6-777777777-d88899');
define('PASSWORD_SALT', '$1234567abcdefgh9987654321');
  define('DEVMODE',true);


After adding that line, save the file.


Test the Payment Gateway


With DEVMODE now enabled, we will want to try to process a payment.


1. Add a test product.


To avoid accidentally charging a large amount to your credit card, you can create a cheap test product to test with.


Go to Products > Add Product.



For Product Name and Product ID, use Test. For Price, use 0.01 (1 cent), and select a random category.


Scroll down to Advanced Settings and click it to expand the section. Turn on Free shipping for this product and make sure that taxes are turned off.


Click Save.



Click View on Storefront.



On the product page, click Add to Cart. Click Proceed to Checkout.


Continue until you're on the Checkout page.


Fill out the form for Billing and Shipping, choose the Gateway we're troubleshooting, and enter a valid credit card number.


Assuming you are getting the same error that was reported, continue to the next step.



Viewing the Log File.


With DEVMODE on, all shipping and payment options, along with some apps as well, will now report errors into a log file.


Using FTP or your File Manager, navigate to the following directory:


content/cache/log


You should see a file for the Gateway you're troubleshooting. For example, PayPal Express will produce a file named paypal.txt, Authorize.net will produce a file named payment-authorizenet_aim_3_1.txt, First Data will be payment-firstdata.txt, so on and so forth. You should also see a timestamp, which should tell you whether the file was updated on your transaction attempt.


Open the file. Your test transaction should be at or near the bottom.


What you will see in the log is typically a Request and a Response. The Request is from the PinnacleCart application and the Response is from the Gateway. We are looking for the Response, because it should explain what the problem is.


Here is an example:


2016/11/23-19:14:19 - firstdata
Request:
gateway_id = xxxxxx
password = XXXXXXXX
transaction_type = 00
amount = 34.99
cc_verification_str1 = 123 E Fake Dr|85282|Tempe|AZ|USA
cvd_presence_ind = 1
zip_code = 85281
tax1_amount = 0.00
customer_ref = 59
client_ip = 68.14.248.237
client_email = xxxx@xxxx.com
currency_code = USD
ecommerce_flag = 7
reference_no = 5
cardholder_name = test test
cc_number = XXXXXXXXXXXXXXXX
cc_verification_str2 = XXX
cc_expiry = 0117


2016/11/23-19:14:19 - firstdata
Response: Unauthorized Request. Bad or missing credentials.


This Response clearly shows that I don't have First Data set up correctly in the admin area. The credentials are not correct. I should contact First Data and confirm with them what the correct credentials should be.


Not all error will be this clear. Some will simply be an error code. A good rule of thumb, is to Google error codes along with the Payment Processor name. 9 times out of 10, this will show you what the exact problem is.



Links to Related Articles.


None at this time.


If you didn't get your question answered, please contact the Pinnacle Cart Support Team. To submit a ticket, go to the My Account drop-down menu at the top right of the admin area and select Support