Credit Card Validation Improvement

For general questions and discussions specific to the AbleCommerce 7.0 Asp.Net product.
User avatar
mfreeze
Commodore (COMO)
Commodore (COMO)
Posts: 421
Joined: Mon Jan 24, 2005 2:07 pm
Location: Washington, NJ
Contact:

Re: Credit Card Validation Improvement

Post by mfreeze » Wed Jul 09, 2008 7:52 pm

copied the receiptpaages to the custom folder and it still doest work do i leave a copy in the conlib root or do i take it
You need to change the content section of the receipt page to point to custom/conlib/ insteadf of simply conlib/.

For example:

Replace [[ConLib:ReceiptPage HandleFailedPayments=”true”]] with [[ConLib:Custom/ReceiptPage HandleFailedPayments=”true”]]

Below are the full instructions from my previous post.
What I had to do was copy receiptpage.ascx and receiptpage.ascx.cs from conlib to conlib/custom.

I then edited both pages did a find on HandleFailedPayments and changed the 'false' to 'true'.

In receiptpage.ascx.cs on line 40 you will find:

private bool _HandleFailedPayments = false;

I changed that to:

private bool _HandleFailedPayments = true;

In receiptpage.ascx on line 6 you'll find:

<param name="HandleFailedPayments" default="false">If true, the customer is redirected to an order payment page if the payment fails at checkout.</param>

I changed that to:

<param name="HandleFailedPayments" default="true">If true, the customer is redirected to an order payment page if the payment fails at checkout.</param>

Then on the receipt page scriptlet, I changed;

[[ConLib:ReceiptPage HandleFailedPayments=”true”]]
to:

[[ConLib:Custom/ReceiptPage HandleFailedPayments=”true”]]

After I made these changes, an error in authorization brought up a payment page with a message that the authorization failed.

The only problem I see with all of this is that if the error is in the billing address, the payment page does not give them an opportunity to change that information. My customers tell me that a large number of authorization failures are due to an error in the address so this does not resolve that issue.
Mary E Freeze

Freeze Frame Graphics
Web Hosting and Design, ASP and CFMX Development

http://www.ffgraphics.com

User avatar
ajasko
Lieutenant (LT)
Lieutenant (LT)
Posts: 53
Joined: Sun Sep 23, 2007 8:04 pm
Contact:

Re: Credit Card Validation Improvement

Post by ajasko » Wed Jul 23, 2008 9:34 am

batmike and others, esp Developers
Did you need to use [[ConLib:Custom/ReceiptPage HandleFailedPayments=”true”]], or did you just use [[ConLib:ReceiptPage HandleFailedPayments=”true”]] to get it to work? Also, getting this set up is very confusing due to different people's conflicting responses. Could you post this patch again with detailed instructions on installation. It would be very helpful. Also, are the developers working on this? Having the ability to change billing address for customers is one of the most important features. We're all going crazy calling up customers to change their data, and it's a pain for the customers too.

User avatar
mazhar
Master Yoda
Master Yoda
Posts: 5084
Joined: Wed Jul 09, 2008 8:21 am
Contact:

Re: Credit Card Validation Improvement

Post by mazhar » Wed Jul 23, 2008 10:11 am

In fact the Custom folder within the ConLib help resolving the application upgrades.
When ever you change some control in the ConLib then you have two options either to move the modified control in the ConLib\Custom folder or just leave it in the ConLib.

The benefit of the first approach is that you don't worry about any loss of your custom work in the ConLib when upgrading the application while with the second one you will have to take care of custom work when upgrading. You can keep the actual control files in the ConLib folder and its modified version in ConLib\Custom folder.

Now when you want to use the Customized version of control as is the your case above you will use it as

Code: Select all

[[ConLib:Custom\ReceiptPage HandleFailedPayments=”true”]]

User avatar
batmike
Commander (CMDR)
Commander (CMDR)
Posts: 123
Joined: Tue Sep 04, 2007 10:46 am
Location: Minneapolis, MN
Contact:

Re: Credit Card Validation Improvement

Post by batmike » Wed Jul 23, 2008 10:40 am

I'll explain what I've done and hopefully that will help to make a little more sense, at least as far as my attached files go.

1. I made a backup of PayMyOrderPage.ascx and PayMyOrderPage.ascx.cs from the ConLib folder.
2. Then replace those files with the two from the attached zip file. (At this point, if you wanted to place the files in the ConLib/Custom folder, you could, but then there would be additional changes to make - to what extent those go, I'm not sure)
3. Modify the scriptlets Receipt Page.htm and My Order Page.htm and add HandleFailedPayments = "true" after the path to the ConLib file. The path to the file stays the same because those files were not actually modified, so all you need to add is the HandleFailedPayments parameter.
4. Test it out. Place an order with bad credit card validation information, and then make sure the form is available and try to change your address. Verify the change through the order Admin.

That's all I can think of. Hopefully that'll help. The only file being replaced is the PayMyOrderPage file and codebehind, so the ReceiptPage scriptlet paths are still identical to what they were when they were default. The reason I copied PayMyOrderPage into the base ConLib folder is so that this patch wouldn't require going into any more files to point the PayMyOrderPage into the custom folder.

Let me know if I can help any other way.

________________________EDIT___________________________
With the release of SR1, this feature has been added by AbleCommerce.
Mine is now taken off because I'm sure their's is better. To download, see viewtopic.php?f=42&t=7897
Last edited by batmike on Mon Aug 11, 2008 1:39 pm, edited 1 time in total.

User avatar
ajasko
Lieutenant (LT)
Lieutenant (LT)
Posts: 53
Joined: Sun Sep 23, 2007 8:04 pm
Contact:

Re: Credit Card Validation Improvement

Post by ajasko » Wed Jul 23, 2008 5:44 pm

batmike,
I have your billing-edit pages working fine, but there is a big problem I found. Whenever a customer's order is rejected because of an invalid billing address and are redirected to your page, they still cannot resubmit their order because the credit card amount and transaction are still the same, and the merchant gateway rejects the order as a duplicate transaction. See my error below:

7/23/2008 11:01:21 PM MasterCard x0615 $165.35 VOID This transaction has been declined.
7/23/2008 11:03:29 PM MasterCard x0615 $165.35 VOID A duplicate transaction has been submitted.

So now customers cannot change their billing address AND then resubmit the order with the same price and credit card because the merchant gateway rejects it as a duplicate. My merchant gateway is Authorize.net.

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5170
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Re: Credit Card Validation Improvement

Post by AbleMods » Wed Jul 23, 2008 7:11 pm

Authorize.Net has a 45-second time limit on re-submitted transactions. Any sooner and you'll get the oh-so-enjoyable duplicate-transaction error response. It's a gateway issue, so some sort of timer will have to be added to prevent the customer from spamming their own credit card account.
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

User avatar
ajasko
Lieutenant (LT)
Lieutenant (LT)
Posts: 53
Joined: Sun Sep 23, 2007 8:04 pm
Contact:

Re: Credit Card Validation Improvement

Post by ajasko » Thu Jul 24, 2008 9:12 am

Is there a way to prevent this error? It's a really big deal, and is definitely going to happen a lot. How do other shopping carts deal with it? I'm sure they do - because Authorize.net is so commonly used, and in many carts I've redone orders quickly and not gotten the duplicate transaction problem. This error will definitely happen every time my customers try to fix a rejected credit card where info was entered incorrectly, so it pretty much defeats the purpose of having the ability to correct your wrong info.

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5170
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Re: Credit Card Validation Improvement

Post by AbleMods » Thu Jul 24, 2008 9:31 am

This is from the Authorize.Net support site. Able needs to change the payment gateway and supply a configuration option on the Gateway setup page so admins can control the timeout value.
The error message "Duplicate Transaction" indicates that a transaction request with the same information has been submitted within two minutes of a previous attempt. Authorize.Net looks for transactions which are likely to be duplicates by matching the data provided with the transaction.

The fields that are validated are:

MerchantID - x_login
Credit Card Number - x_card_num
Expiration Date - x_exp_date
Transaction Type - x_type
Bank Account number - x_bank_acct_num
Routing Number - x_bank_aba_code
Purchase Order Number - x_po_num
Amount - x_amount
Invoice - x_invoice_num
CustomerID - x_cust_id
First Name - x_first_name
Last Name - x_last_name
Company - x_company
Address - x_address
City - x_city
State - x_state
Postal Code - x_zip
Country - x_country
Duplicate Window - x_duplicate_window

If any of the fields change from one transaction to the next, Authorize.Net will not view the transactions as duplicates and the "two minute" rule will not apply. The "two minute" rule is applicable to ALL transactions submitted through the Virtual Terminal.

If you wish to adjust the Duplicate Window applied to transactions submitted from an external location, such as a website or shopping cart, you may do so by adding the variable value pair "x_duplicate_window" to your website script.

If you are unable to adjust or add this variable to your shopping cart settings, please contact your shopping cart support team for additional assistance in this regard. The variable x_duplicate_window indicates in seconds the window of time after a transaction is submitted during which the payment gateway will check for a duplicate transaction.

The maximum time allowed is 8 hours (28800 seconds). If a value less than 0 is sent, the payment gateway will default to 0 seconds. If a value greater than 28000 sent, the payment gateway will default to 28000. If no value is sent, the payment gateway will default to 2 minutes (120 seconds).
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

User avatar
ajasko
Lieutenant (LT)
Lieutenant (LT)
Posts: 53
Joined: Sun Sep 23, 2007 8:04 pm
Contact:

Re: Credit Card Validation Improvement

Post by ajasko » Thu Jul 24, 2008 9:34 am

Do you know if Able is doing any work on fixing this, and adding the feature for customers changing billing addresses?

User avatar
batmike
Commander (CMDR)
Commander (CMDR)
Posts: 123
Joined: Tue Sep 04, 2007 10:46 am
Location: Minneapolis, MN
Contact:

Re: Credit Card Validation Improvement

Post by batmike » Thu Jul 24, 2008 9:36 am

I'm not sure ... what I'm wondering if there was anything in place that would have prevented this in the standard files that were included with the Final version (just to make sure that I didn't remove something that would help prevent this from my modifications). Did you ever test those and find this same issue?

I would think a timer would be the best option as well. Something like a rapidshare countdown comes to mind, but maybe using a parameter or something that could be turned on and off so those who need it could make use of it, but those who don't, would turn it off. I'm using Skipjack and I haven't had any issues with resubmitting orders.

User avatar
ajasko
Lieutenant (LT)
Lieutenant (LT)
Posts: 53
Joined: Sun Sep 23, 2007 8:04 pm
Contact:

Re: Credit Card Validation Improvement

Post by ajasko » Tue Jul 29, 2008 10:21 am

So... anyone know if the developers are working on this one?

User avatar
Logan Rhodehamel
Developer
Developer
Posts: 4116
Joined: Wed Dec 10, 2003 5:26 pm

Re: Credit Card Validation Improvement

Post by Logan Rhodehamel » Tue Jul 29, 2008 1:45 pm

I have logged a bug 7042 so this will be corrected. It has been classified as a 7.0 bug, meaning a patch will be made available when it is corrected and verified.
Cheers,
Logan
Image.com

If I do not respond to an unsolicited private message, it's not because I'm ignoring you. It's because the answer to your question is valuable to others. Try the new topic button.

User avatar
compunerdy
Admiral (ADM)
Admiral (ADM)
Posts: 1283
Joined: Sun Nov 18, 2007 3:55 pm

Re: Credit Card Validation Improvement

Post by compunerdy » Thu Sep 11, 2008 11:07 am

What is the current status to implement this? I am starting to get more customers with card issues at checkout and they have no idea.

gturner00
Ensign (ENS)
Ensign (ENS)
Posts: 4
Joined: Tue Nov 27, 2007 1:12 pm

Re: Credit Card Validation Improvement

Post by gturner00 » Thu Oct 02, 2008 12:39 pm

We were very disappointed to find out how declined credit card transaction are handled, even with the patch for RC3.

We've implemented several B2B sites that do not use online payment and our experience with AC has been great. So when we found out that an order is created regardless of the response we were left scratching our heads about how this feature could be so far off from the standard.

The workaround is only a stop-gap for us at this point and hopefully there is a future release planned wich will provide the option to do payment processing before the order is created. Then if the transaction fails, stop the user from moving forward.

I can't say enough good things about AC7, but this is a big issue for us.

User avatar
Shopping Cart Admin
AbleCommerce Admin
AbleCommerce Admin
Posts: 3055
Joined: Mon Dec 01, 2003 8:41 pm
Location: Vancouver, WA
Contact:

Re: Credit Card Validation Improvement

Post by Shopping Cart Admin » Thu Oct 02, 2008 12:42 pm

Hello,

It's a feature some like, some don't. Please let us know step by step how we can improve it further?
Thanks for your support

Shopping Cart Guru
AbleCommerce.com
Follow us on Facebook

Post Reply