knifeman Posted June 21, 2005 Share Posted June 21, 2005 Hi, I am using the linkpoint mod 1_4_1_2.zip Everything does ok, except when customers request a different shipping address. Linkpoint receives the shipping address instead of the billing address. Consequently approval codes are messed up because addresses don't match. Does anyone know where to fix this? Thank you, Tim Quote Link to comment Share on other sites More sharing options...
walkman Posted June 23, 2005 Share Posted June 23, 2005 1) I don't have a solution yet, but I'll confirm that I'm having the same problem. I just installed the Linkpoint API contibution #3010. I noticed this problem when I entered the shipping address as the default & then changed the billing address on the CC entry page. It sent the shipping address to Linkpoint. Of course it didn't verify. 2) Another item I wanted to mention. Using FTP Pro I wasn't able to copy the '.htaccess' file to my linux server. I took out the '.', copied the file, and then renamed it on the server to put the '.' back. I get the impression that the .htaccess file is used to prevent people from searching into the LINKPOINT directory and finding the .pem information. I'm not sure I did this right (or if it applies to linux servers), but I made sure that I couldn't type the URL into my browser to go directly to the directory (I get a "403 Forbidden" message). Quote Link to comment Share on other sites More sharing options...
walkman Posted June 23, 2005 Share Posted June 23, 2005 Ok, it looks like the address problem is caused by errors in the linkpointms1.php file. Compared to the authorizenet.php file, it incorrectly refers to orders->customer['xxxxx'] instead of orders->billing['xxxx'] The following changes work for me. Let me know if they solve your problem. --- Look for the following code (near line 182) ----------------------------------- //TN EOF fuzz method tep_draw_hidden_field('x_Billing_Address', $order->customer['street_address']) . tep_draw_hidden_field('x_Billing_Address_Verification', $order->customer['street_address']) . tep_draw_hidden_field('x_Billing_City', $order->customer['city']) . tep_draw_hidden_field('x_Billing_State', $order->customer['state']) . tep_draw_hidden_field('x_Billing_Zip', $order->customer['postcode']) . tep_draw_hidden_field('x_Billing_Country', $order->customer['country']) . --- And change to the following ------------------------------------------------------- //TN EOF fuzz method tep_draw_hidden_field('x_Billing_Address', $order->billing['street_address']) . tep_draw_hidden_field('x_Billing_Address_Verification', $order->billing['street_address']) . tep_draw_hidden_field('x_Billing_City', $order->billing['city']) . tep_draw_hidden_field('x_Billing_State', $order->billing['state']) . tep_draw_hidden_field('x_Billing_Zip', $order->billing['postcode']) . tep_draw_hidden_field('x_Billing_Country', $order->billing['country']) . -------------------------------------------------------------------------------------- Quote Link to comment Share on other sites More sharing options...
knifeman Posted June 23, 2005 Author Share Posted June 23, 2005 Ok, it looks like the address problem is caused by errors in the linkpointms1.php file. Compared to the authorizenet.php file, it incorrectly refers to orders->customer['xxxxx'] instead of orders->billing['xxxx'] The following changes work for me. Let me know if they solve your problem. --- Look for the following code (near line 182) ----------------------------------- //TN EOF fuzz method tep_draw_hidden_field('x_Billing_Address', $order->customer['street_address']) . tep_draw_hidden_field('x_Billing_Address_Verification', $order->customer['street_address']) . tep_draw_hidden_field('x_Billing_City', $order->customer['city']) . tep_draw_hidden_field('x_Billing_State', $order->customer['state']) . tep_draw_hidden_field('x_Billing_Zip', $order->customer['postcode']) . tep_draw_hidden_field('x_Billing_Country', $order->customer['country']) . --- And change to the following ------------------------------------------------------- //TN EOF fuzz method tep_draw_hidden_field('x_Billing_Address', $order->billing['street_address']) . tep_draw_hidden_field('x_Billing_Address_Verification', $order->billing['street_address']) . tep_draw_hidden_field('x_Billing_City', $order->billing['city']) . tep_draw_hidden_field('x_Billing_State', $order->billing['state']) . tep_draw_hidden_field('x_Billing_Zip', $order->billing['postcode']) . tep_draw_hidden_field('x_Billing_Country', $order->billing['country']) . -------------------------------------------------------------------------------------- <{POST_SNAPBACK}> I tried that code change and received this error on the page: There has been an error processing your credit card, please try again : Could not execute curl Thanks for trying. Quote Link to comment Share on other sites More sharing options...
walkman Posted June 24, 2005 Share Posted June 24, 2005 It sounds like you might have gotten a parse error if the line ending and concatenation markds didn't match up properly when you cut and pasted. It might be easier for you to apply the changes by changing "->customer" to "->billing" on the billing address fields. Quote Link to comment Share on other sites More sharing options...
jdfitch Posted June 25, 2005 Share Posted June 25, 2005 It sounds like you might have gotten a parse error if the line ending and concatenation markds didn't match up properly when you cut and pasted. It might be easier for you to apply the changes by changing "->customer" to "->billing" on the billing address fields. <{POST_SNAPBACK}> I changed the Customer Billing Country a while back. but since then it seems that the information is not being passed. My return from linkpoint only shows the Customer Billing country as ARRAY. That is what is displayed in the Gateway Email that LinkPoint sends back. Also, we worked out the curl issue a long time ago but it does not seem to get passed on very often. If your server is returning the Can not Execute Curl Error. Try this: in Catalog/Includes/Linkpoint/lpphp.php Find: $ch = curl_init (); curl_setopt ($ch, CURLOPT_URL,$host); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt ($ch, CURLOPT_SSLCERT, $key); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec ($ch); } Change to: $ch = curl_init (); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ch, CURLOPT_URL,$host); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt ($ch, CURLOPT_SSLCERT, $key); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec ($ch); } This works anytime you get that error with a script. Quote If you choose not to decide you still have made a choice, I will choose a purpose clear, I will choose Free Will. --Neal Peart - Rush Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.