Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Paypal not showing item number


CVC505

Recommended Posts

:(

 

Greetings all! I have my store set up for paypal payments, everything seems to be working but when a customer enters an order, and goes to paypal for payment the item number is not recorded so my paypal account show a payment but the item orders is my store name. nothing else. Is this the same as some of the other paypal orders problem I am seeing and if so how do I fix it?

Rick Hanzlik

Link to comment
Share on other sites

Hi,

I would suggest that you open up catalog/includes/modules/payment/paypal.php and near the top change: https://secure.paypal.com/cgi-bin/webscr to: https://www.paypal.com/cgi-bin/webscr

PayPal are redirecting you to their correct url so the transaction details are being placed in the url upon their redirect.

In that same file, scroll down a little and find:

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
                        tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID) .
                        tep_draw_hidden_field('item_name', STORE_NAME) .
                        tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('currency_code', $my_currency) .
                        tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
                        tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

and replace with:

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
                        tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID);
for ($i=0; $i<sizeof($order->products); $i++) {
$item_name .= ' '.$order->products[$i]['name'].' ,';
}
$item_name = substr_replace($item_name,'',-1);
$process_button_string .= tep_draw_hidden_field('item_name', $item_name);
$process_button_string .= tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('currency_code', $my_currency) .
                        tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
                        tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

This will insert a list of the items to be purchased into the 'item_name' field instead of the storename. Now goto into admin and delete customer 'root1' :).

"Any fool can know. The point is to understand." -- Albert Einstein

Link to comment
Share on other sites

I have the same problem. I can change the code as gregbaboolal said above and it will pass the item name to Paypal, but I don't know how to pass the quantity and any item attributes.

 

The bigger problem is that when someone uses Paypal, it doesn't create an order in the database. There is no record of the customers purchase and no invoice.

 

This is only for paypal. It creates the order OK when using credit card or money order. Anyone know what the problem is here?

Link to comment
Share on other sites

Apparently there is a contribution called Paypal IPN which fixes that, however I have not figured out how to install it. To get it do a search for Paypal IPN in Contributions.

 

Here's what wizardsandwars said:

There is a 'PayPal IPN' contribution in the 'contributions' section.

 

The problem with the stock paypal payment method on OSC is that customer are redirected to paypal to make payment, but after making payment, they have to 'hit the continue button' in order for paypal to notify OSCommerce that the customer has paid.

 

You'll find that a very high percentage of customer will forget, or not know to, click the continue button. In the event that they do not click the continue button, the store owner will receive the paypal payment, but the order will not show up in OSC, and you will not know what they ordered.

 

The IPN contribution utilizes Paypal's Instant Payment Notification, that when a customer is finished paying, paypal will call a script of your choice to let your software know that the customer has finished paying, even if they forget to click continue. This contribution will also insert the order into the database 'before' the customer is redirected to paypal, so that the order is always captured. Once the customer has paid, the order is updated to pending.

Link to comment
Share on other sites

  • 1 year later...
Apparently there is a contribution called Paypal IPN which fixes that, however I have not figured out how to install it. To get it do a search for Paypal IPN in Contributions.

 

Here's what wizardsandwars said:

There is a 'PayPal IPN' contribution in the 'contributions' section.

 

The problem with the stock paypal payment method on OSC is that customer are redirected to paypal to make payment, but after making payment, they have to 'hit the continue button' in order for paypal to notify OSCommerce that the customer has paid.

 

You'll find that a very high percentage of customer will forget, or not know to, click the continue button. In the event that they do not click the continue button, the store owner will receive the paypal payment, but the order will not show up in OSC, and you will not know what they ordered.

 

The IPN contribution utilizes Paypal's Instant Payment Notification, that when a customer is finished paying, paypal will call a script of your choice to let your software know that the customer has finished paying, even if they forget to click continue. This contribution will also insert the order into the database 'before' the customer is redirected to paypal, so that the order is always captured. Once the customer has paid, the order is updated to pending.

 

I have the same problem with the you have bought STORENAME on the final payment success page. However, I am using ProtX for my payments.

Does anyone know how I can fix this? I have posted before but nobody seems to have an answer.

 

thanks people

Link to comment
Share on other sites

To get your shop to store the order in the database I believe that you need to set a return page in your paypal settings that the user is directed to after they have payed through paypal. It then returns to your shop to confirm payment. This would be done so that the order is only stored once payment has been taken. I haven't tested it yet, but according to what I have read the following needs altering in your paypal settings. ww.paypal.com, Profile > Website Payment Preferences:

 

Set:

Auto Return = ON

 

Return URL = catalog/checkout_success.php

 

 

You can replace the STORE_NAME property in the paypal payment page using the following contribution:

 

http://www.oscommerce.com/community/contributions,3799

Link to comment
Share on other sites

  • 1 year later...

so if i make the changes that devosc said to the file .. when i get my paypal payment email it should include a list of what the person ordered?

 

just making sure i get this right?

Link to comment
Share on other sites

  • 2 weeks later...
Hi,

I would suggest that you open up catalog/includes/modules/payment/paypal.php and near the top change: https://secure.paypal.com/cgi-bin/webscr to: https://www.paypal.com/cgi-bin/webscr

PayPal are redirecting you to their correct url so the transaction details are being placed in the url upon their redirect.

In that same file, scroll down a little and find:

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
                        tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID) .
                        tep_draw_hidden_field('item_name', STORE_NAME) .
                        tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('currency_code', $my_currency) .
                        tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
                        tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

and replace with:

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
                        tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID);
for ($i=0; $i<sizeof($order->products); $i++) {
$item_name .= ' '.$order->products[$i]['name'].' ,';
}
$item_name = substr_replace($item_name,'',-1);
$process_button_string .= tep_draw_hidden_field('item_name', $item_name);
$process_button_string .= tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('currency_code', $my_currency) .
                        tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
                        tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

This will insert a list of the items to be purchased into the 'item_name' field instead of the storename. Now goto into admin and delete customer 'root1' :).

 

i'm just about to do these changes, just wondering what you mean by 'delete customer root1' ???

 

thanks

 

p.s. did anyone manage to get orders to store into the database too?

Shelton Brown

Web/Graphic Designer

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...
  • 2 months later...

I don't know what PayPal module all of you are using because some of these posts are from a long time ago. But for anyone that might still be interested. I am using: osCommerce PayPal IPN Module v2.2 For 2.2MS2 posted by Terra. This module offers two Transaction Types: Aggregate and Per Item. Aggregate lumps all items the customers puts into their cart on the PayPal screen and only shows your Store Name as what they are buying and the total. Switch it to per item and it will give you a break down of the items and all the attributes selected I believe. I only use two attributes and it worked. But...

 

But now my problem is that I have a coupon code module installed and it won't work in Per Item mode. The discount isn't deducted from the total. But it DOES work in aggregate mode. So I will do some research and figure this one out. Hope this helps some of you...

Link to comment
Share on other sites

Hi Devosc: I installed your Paypal contribution in my site. But I have the following questions:

 

First question:

 

After click confirm order.

in the paypal site

show the following:

=================================================================

Item Unit Price Qty Total

IBM ThinkPad R50P Intel Pentium M 1.7 GHz DVDRW , 5 set Assorted 4 movie / 2 dvd box set , Everex StepNote VA4101M Intel Cele $1,814.11 1 $1,814.11

 

Subtotal: $1,814.11

Shipping and Handling: $230.00

Subtotal With Shipping: $2,044.11 USD

 

===========================================================

i want to know if is possible to put every item in a single line.

 

 

Second Question:

 

What is custom "Root1"

 

Thank for your help and your contribution.

 

bye

Carlos

http://www.cgiftshop.com

 

 

 

:(

 

Greetings all! I have my store set up for paypal payments, everything seems to be working but when a customer enters an order, and goes to paypal for payment the item number is not recorded so my paypal account show a payment but the item orders is my store name. nothing else. Is this the same as some of the other paypal orders problem I am seeing and if so how do I fix it?

Link to comment
Share on other sites

  • 3 months later...
Hi,

I would suggest that you open up catalog/includes/modules/payment/paypal.php and near the top change: https://secure.paypal.com/cgi-bin/webscr to: https://www.paypal.com/cgi-bin/webscr

PayPal are redirecting you to their correct url so the transaction details are being placed in the url upon their redirect.

In that same file, scroll down a little and find:

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
					 tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID) .
					 tep_draw_hidden_field('item_name', STORE_NAME) .
					 tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
					 tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
					 tep_draw_hidden_field('currency_code', $my_currency) .
					 tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
					 tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

and replace with:

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
					 tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID);
for ($i=0; $i<sizeof($order->products); $i++) {
$item_name .= ' '.$order->products[$i]['name'].' ,';
}
$item_name = substr_replace($item_name,'',-1);
$process_button_string .= tep_draw_hidden_field('item_name', $item_name);
$process_button_string .= tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
					 tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
					 tep_draw_hidden_field('currency_code', $my_currency) .
					 tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
					 tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

This will insert a list of the items to be purchased into the 'item_name' field instead of the storename. Now goto into admin and delete customer 'root1' :).

Link to comment
Share on other sites

  • 3 months later...
  • 1 month later...

I have altered the code as shown above but i am now getting this error:

 

Parse error: syntax error, unexpected ';' in /home/josycee/public_html/shop/includes/modules/payment/paypal_standard.php on line 293

 

 

anyone know what i have done wrong?

Link to comment
Share on other sites

If you post the code just before it and through the line that is giving the error.. it would be easier to find out what's wrong! ;)

 

Iceman :thumbsup:

 

I have altered the code as shown above but i am now getting this error:

 

Parse error: syntax error, unexpected ';' in /home/josycee/public_html/shop/includes/modules/payment/paypal_standard.php on line 293

anyone know what i have done wrong?

Link to comment
Share on other sites

  • 1 year later...

Hi,

I would suggest that you open up catalog/includes/modules/payment/paypal.php and near the top change: https://secure.paypal.com/cgi-bin/webscr to: https://www.paypal.com/cgi-bin/webscr

PayPal are redirecting you to their correct url so the transaction details are being placed in the url upon their redirect.

In that same file, scroll down a little and find:

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
                        tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID) .
                        tep_draw_hidden_field('item_name', STORE_NAME) .
                        tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('currency_code', $my_currency) .
                        tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
                        tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

and replace with:

$process_button_string = tep_draw_hidden_field('cmd', '_xclick') .
                        tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID);
for ($i=0; $i<sizeof($order->products); $i++) {
$item_name .= ' '.$order->products[$i]['name'].' ,';
}
$item_name = substr_replace($item_name,'',-1);
$process_button_string .= tep_draw_hidden_field('item_name', $item_name);
$process_button_string .= tep_draw_hidden_field('amount', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency), $currencies->get_decimal_places($my_currency))) .
                        tep_draw_hidden_field('currency_code', $my_currency) .
                        tep_draw_hidden_field('return', tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')) .
                        tep_draw_hidden_field('cancel_return', tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

This will insert a list of the items to be purchased into the 'item_name' field instead of the storename. Now goto into admin and delete customer 'root1' :).

 

 

 

 

I'VE APPLIED ALL OF THIS, BUT I CAN'T FIND THE CUSTOMER 'ROOT 1' ???

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...