Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

PayPal_Shopping_Cart_IPN


devosc

Recommended Posts

I must say, this is a great contribution. this fixed at least 3 bugs for me that were related to paypal processing. but i still need to work out one issue.. with my previous paypal module, I had customized it to make every transaction a subscription payment, for example:

 tep_draw_hidden_field('cmd', '_xclick-subscriptions') .
                              tep_draw_hidden_field('business', MODULE_PAYMENT_PAYPAL_ID) .
                              tep_draw_hidden_field('item_name', STORE_NAME) .
                              tep_draw_hidden_field('a3', number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->currencies['USD']['value'], 2)) .  tep_draw_hidden_field('shipping', number_format($order->info['shipping_cost'] * $currencies->get_value('USD'), 2)) .    tep_draw_hidden_field('currency_code', 'USD') .
                              tep_draw_hidden_field('p3', '1') .     tep_draw_hidden_field('t3', 'M') .          tep_draw_hidden_field('src', '1') .    tep_draw_hidden_field('sra', '1');

I was wondering if anyone has been sucessful in turning this ipn modification to allow for subscription payments?

 

this is a serious inquiry.. thank you.

Link to comment
Share on other sites

  • Replies 1.1k
  • Created
  • Last Reply

Top Posters In This Topic

In this situation, it is best to match "ipn.business" to "button.business".

This is already being done.

 

Deborah, I'm not entirely clear as to what you mean by sensitive info especially in comparison in to emails sent vi check/money order, at first I though you meant you might need to masquerade the server user name / email address.

Have a look in catalog/includes/modules/payment/paypal/checkout_update.php and the bottom you will see the email stuff which is exactly the same as found in the original osC catalog/checkout_process.php script.

Actually I've noticed that for example when a customer joins the site that the initial welcoming msg seems to end up in the bulk mail folder, whereas an order confirmation email goes directly to the inbox, which is weird, this contribution has not made any changes in regard to email processing.

 

DigitalTwilight, you'll need to have ago at includes/payment/paypal.php (which I assume you knew already). If it is just those particular fields needed, try getting it going assuming that Method 1 Aggregate is being used and make the changes in those particular areas. BTW I bookmarked your site, saw a tpl that I liked but ideally I'm looking for some free webspace.

Actually, it looks as if you might need to start by changing

$paypal_fields = tep_draw_hidden_field('cmd', '_ext-enter') . //allows the customer addr details to be passed

in the exisiting file.

 

Jack_mcs, try this post, there is another similar one around that page number.

 

Beeonline,

Do you have a Download Controller contrib installed? Why not upgrade to v2.0 whch better handles the availability of Downloads compared to v1.7 (which follows the osC methodology) - for v1.7 if you have made any changes to the original checkout_process.php script then you ould also need to make these changes in catalog/ipn.php, for v2.0 it is a little more complex - see paypal/checkout_process.php and checkout_update.php, the latter handles the downloads avaialability.

Also if you require a specific Order status for a download to occur then somextra stuff might need to happen, I haven't had time to fully look into that.

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

Link to comment
Share on other sites

Jack_mcs, try this post, there is another similar one around that page number.

Thanks for the link. I started to try it but when I clicked on view in account history I got the following error:

1054 - Unknown column 'products_options_id' in 'field list'

 

select products_options_id, products_options, products_options_values_id, products_options_values, options_values_price, price_prefix from orders_products_attributes where orders_id = '14' and orders_products_id = '16'

I doubledchecked my installation. The changes are in the DB (I can see products_options_id in it). I re-uploaded the .sql file as well as the ipn.php file. Any ideas what might be wrong here or what to try next?

 

Jack

Support Links:

For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc.

Get the latest versions of my addons

Recommended SEO Addons

Link to comment
Share on other sites

Jeff, login as a customer start checking out and confirm the order and get transferred to the PayPal site, now open up another browser and go to your store, look at your account history, that order that you just initiated will show in your account history as pending payment, likewise so too in the admin. Now open another browser and enter the order# into the ipn.html test file and submit the form, this should now update the order from 'Pending Payment' to whatever your default status is. In admin->payment->paypal your Primarty Email address should be (snuff@) and your business ID should be (order@), your PayPal account should be a premier or business account both will work, this is why I suspect you have had problems in the live mode, you need to look back and check those Email config emails, this is how I suspect they should look:

I am trying to figure out how to test this contribution. This is the best decription I've come across yet but it still isn't working for me. When you say to "enter the order# into the ipn.html test file," where exactly do I enter it? There is no order # field. I've tried just entering it in various fields that aren't filled in but when I hit submit I get an error page saying "cannot find server." Does it matter where the ipn_html file is located? Has anyone been able to test this contribution? I would appreciate any suggestions.

 

Jack

Support Links:

For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc.

Get the latest versions of my addons

Recommended SEO Addons

Link to comment
Share on other sites

Hi Jack, the order # is the custom field.

From the docs the table orders_products_attributes should be altered to now also contain products_options_id and products_options_values_id.

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

Link to comment
Share on other sites

Hi Jack, the order # is the custom field.

From the docs the table orders_products_attributes should be altered to now also contain products_options_id and products_options_values_id.

The custom field was one of the ones I tried. I think the problem might be that I am not starting ipn_html from the right place. Do you know if it needs to be in a certain directory? How does it know where to submit its data to?

 

Jack

Support Links:

For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc.

Get the latest versions of my addons

Recommended SEO Addons

Link to comment
Share on other sites

Great. Thanks Gregory. That seems to have done it. I followed the instructions per the earlier post you gave me and my pending payment order is changed to pending. So it is at least finding it. Thanks for the help. :)

 

Jack

Support Links:

For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc.

Get the latest versions of my addons

Recommended SEO Addons

Link to comment
Share on other sites

Greg,

 

Can you remind me again where in the contribution for eBay Auction Manager I need to put the $cart->reset($insert_id) call where $insert_id is the order ID? I recall you said it was in 2 places in 1.7, but not sure with 2.0

 

Thanks,

AM

Edited by auctionblox
Link to comment
Share on other sites

Hi Anthony,

If I can recall, there should now be only one occurance which is in includes/modules/payment/paypal/checkout_process.php

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

Link to comment
Share on other sites

Hi,

 

I asked about the requiring billing via paypal ipn in this thread

 

according to

https://www.paypal.com/en_US/pdf/subscriptions.pdf :page 36

its possible.

 

Unfortunaly I am a php rooky.

 

Is there some coder here familiar with the ipn that want to incorporate requiring billing?

 

regards and thanks again for your greeeeeeeeaaaaaaaaaaaaat work!

 

kj

Keesjan

Link to comment
Share on other sites

I installed this contribution, but have not done so well I think. I tried to test a transaction (live) and did not receive the IPN. I verified PayPal is configured to return the IPN and no URL.

 

Under admin in my store, Under customers, I see the last subcategory as BOX_CUSTOMER_PAYPAL, so I think I failed to edit something properly?

 

I have the ability to see orders with the new fields.

 

I also leave the cart properly and go to paypal and I receive the money from paypal (emails, the payment is there in paypay summary). So everything works perfect except for the Information under orders does not appear, and the information under where IPN stuff should appear is not there.

 

Any ideas how I installed wrongly?

Link to comment
Share on other sites

I have this contribution (v1.7) installed and everything seemed to be hunky-dory in testing. We went live on 6th April and two days later received our first order. The payment confirmation e-mail came through ok from Paypal, but we had no order and no IPN, because doofus here had left "Test Mode" set to "off".

 

Changed this to "on" yesterday. Since then we have two new orders showing in admin, but both are completely blank. We have two IPNs showing the customer has paid, but no payment confirmation from Paypal and no payments showing up on our Paypal account either. So we've had purchases for around ?60, but no way of knowing what the customer has bought unless we e-mail him and ask nicely - or even whether the customer bought anything at all!

 

What on earth have I done wrong? :(

 

Cheers,

Ellie

Link to comment
Share on other sites

As an addendum to my previous post (above):

 

We've just run a trial purchase through the store and everything's worked fine. The order has complete details, the IPN looks fine and the stock levels have updated correctly too. However, my partner noticed that on the IPNs for the blank orders in question, there was no customer name and the transaction type was "web_accept". On the test transaction we just did, the IPN has the customer name and the transaction type is "cart".

 

Don't know how significant this additional info is, but I thought it was worth adding.

 

Cheers,

Ellie

Link to comment
Share on other sites

Stand down action stations - problem is actually not a problem at all...

 

Doofus No. 2 (a.k.a the love of my life) has auctions running on eBay and has received two payments via Paypal for the amounts in question... the same Paypal account is used for the store, just via a different e-mail address. The store is simply trying to make sense of the instant payments. :D

 

Cheers,

Ellie

Link to comment
Share on other sites

Hey Greg,

Thanks for the idea.. using Ag 1 that is, I was trying, and really hoping to use Ago 2, but till i can figure that one out, 1 will do.. I was able to set that up with no problem tonite.. just incase anyone is interested, heres the code from line 170 thru 181

 } else {

       $paypal_fields .= tep_draw_hidden_field('item_name', STORE_NAME) .
       tep_draw_hidden_field('redirect_cmd', '_xclick-subscriptions') .
       tep_draw_hidden_field('a3', 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('p3', '1') .
         tep_draw_hidden_field('t3', 'M') .
         tep_draw_hidden_field('src', '1') .
         tep_draw_hidden_field('sra', '1');

     }

btw, glad ya did the site.. osc the way it was meant to be.

Link to comment
Share on other sites

hi,

 

started using PayPal_Shopping_Cart_IPN with some trouble at first cause in the installation i wasnt told to put ipn.php into catalog dir. also ipn.php need to be edited somehow to go to www.paypal.com/cgi-bin/webscr instead of the default www.paypal.com. is my installation of the contribution correct?

 

the contribution is now working fine, actually i think it is really great!!

 

however, during my test, if i refund a payment, for testing purpose i will get these two emails:

 

"Szenses PayPal IPN: Unknown Verfication" containing:

 

 

Connection Type

------------------------------------------------------

curl= , socket= tcp://, domain= www.paypal.com/cgi-bin/webscr, port= 80

 

PayPal Response

------------------------------------------------------

 

and "Szenses PayPal IPN: Unknown Transaction Type" containing:

 

 

An unknown transaction () occurred from 64.4.241.140

Are you running any tests?

 

 

Am i doing somethign wrong? or is this a known defect. also after i refund a payment, i did not see an ipn in admin stating i have refunded the paymet.

Link to comment
Share on other sites

Hi

As I mentioned before When the client is returned back to the store from Paypal IPN after purchase the download button is not available.... I have just noticed the following message at the download link../

Link expires:

Tuesday 07 December, 1999

 

This is probably why there is no download it expired 5 years before the client made his /her purchase :D

 

This is not happening with my other payment gateways :blink:

 

Help Pleaseeeeeeeee

Haaaaaaaaaaaaaaaaaaa tension breaker

 

Cheers Malc

Link to comment
Share on other sites

Hello,

 

I have two questions:

 

1. When someone completes a purchase, I want to change the status of each product that was bought to 0. They can only make payment through PayPal, so I know I have to put it in the checkout_process.php or ipn.php, just not sure where.

 

2. I am now using v.2.0, and I noticed that when a customer is directed to PayPal to pay, but immediately returns by using the back button (before completing their purchase), that their order is set to pending and their shopping cart is emptied. From that point, there is no way to complete the order, it just stays pending. Is this on purpose? Is it the lesser to two evils? If someone could explain that would be great.

 

Thank you,

Chris S.

Link to comment
Share on other sites

Hi

I am now using v.2.0 or trying and am getting the following error..

 

1146 - Table 'beeonline.table_orders_session_info' doesn't exist

 

insert into TABLE_ORDERS_SESSION_INFO (orders_id, sendto, billto, language, currency, content_type) values ('46', '138', '138', 'english', 'GBP', 'physical')

 

[TEP STOP]

 

I though I would upgrade to get try and resolve the download issues I am having

 

Cheers Malc

Link to comment
Share on other sites

Hi all,

 

Just a quickie for v1.7b (was it b?) - I'm using IPN with Auctionblox's Auction Manager, and I believe I need to find out where to place a reference to the super_shipping which EAM calls.

 

Currently, this is my problem:

 

EAM uses a shipping module (super_shipping) which is entered in checkout_shipping and checkout_process (I believe - need to check). This super_shipping adds ORDERS_ID to the AUCTION_BASKET table which EAM uses.

 

 

When a paypal payment is made, it bypasses this (in 1.7), and I think a change needs to be made in ipn.php or paypal.php somewhere that allows the new super_shipping to be used because ORDERS_ID is always null in AUCTION_BASKET for ipn payments, but not for cheque/other payment modules.

 

 

Can someone who uses both EAM and IPN tell me where in the IPN contrib I need to make this change? I know where it needs to be done in 2.0, but I haven't had the time to migrate and test yet...

 

 

 

Thanks in advance =)

Link to comment
Share on other sites

hi

 

ive installed the contribution but keep getting this error

 

1146 - Table 'ipodskins.TABLE_ORDERS_SESSION_INFO' doesn't exist

 

insert into TABLE_ORDERS_SESSION_INFO (orders_id, sendto, billto, language, currency, content_type) values ('93', '3', '3', 'english', 'GBP', 'physical')

 

[TEP STOP]

 

 

i checked in mysql and the table orders_session_info is alrady there

this error is displayed after the checkout confromation page in the title bar it displays ....../checkout_process.php

 

any ideas???

Link to comment
Share on other sites

you probably missed a step. this contribution works almost perfectly right out of the box.

 

if you have multiple databases make sure the table is created in the right database. also make sure all the fields got created within the tables.

 

If i remember the install correctly, not only do you have a .sql file to execute to create new tables, there are 2-3 or other fields that need to be created in existing tables.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...