Jump to content
Sign in to follow this  
SIRS

Help on Paypal IPN module

Recommended Posts

Hello there,

 

I allready have paypal module working betwen OSc and my Paypal account.

I would like to know the difference betwen Paypal module already isntalled on 2.2MS2 and IPN 1.2V, I allready isntalled IPN 1.2 I still can't see the diffrerence.

 

 

Some body knows if I could use OSc with PayPal Website Payments Pro?

If yes, could some body guide me step b step till suscssful integration?

I am locking for receive Credit cards payment and paypal on my cart, already have a merchant account with them.

 

Please Help!

:'(

 

Thanks in advance

 

Diego

Share this post


Link to post
Share on other sites

The main difference about the ipn contrib and the default one, is that the ipn module also stores the order when the customer leaves your site to go to paypal to complete it.

 

Why, if the customer do not press the return to mechant store button after the payment is completeted at teh paypal site, you still have a copy of his/hers order in your system....

 

Paypal pro is only available for US based merchants, if you are and want to use it you have to sign up and apply for a pro account at paypal.

 

There is already a paypal pro payment module in the contribution section...

Share this post


Link to post
Share on other sites
The main difference about the ipn contrib and the default one, is that the ipn module also stores the order when the customer leaves your site to go to paypal to complete it.

 

Why, if the customer do not press the return to mechant store button after the payment is completeted at teh paypal site, you still have a copy of his/hers order in your system....

 

Paypal pro is only available for US based merchants, if you are and want to use it you have to sign up and apply for a pro account at paypal.

 

There is already a paypal pro payment module in the contribution section...

 

:rolleyes:

 

Great thank for the responce.

Now, I already have a Business account with paypal, and trying to set upt my OSC what should I place in:

 

Your Private Key

The location of your Private Key to use for signing the data. (*.pem)

 

 

Your Public Certificate

The location of your Public Certificate to use for signing the data. (*.pem)

 

 

PayPals Public Certificate

The location of the PayPal Public Certificate for encrypting the data.

 

 

Your PayPal Public Certificate ID

The Certificate ID to use from your PayPal Encrypted Payment Settings Profile.

 

 

Working Directory

The working directory to use for temporary files. (trailing slash needed)

 

 

OpenSSL Location

The location of the openssl binary file.

 

 

 

Thanks!

 

D.

Share this post


Link to post
Share on other sites

 

 

 

Also in the last stage "confirmation" i get following messaje

 

Warning: fread() [function.fread]: Length parameter must be greater than 0. in /www/sirs-e/st/includes/modules/payment/paypal_ipn.php on line 478

 

Please help! :'(

Share this post


Link to post
Share on other sites

Leave them empty unless you're using a secure connection to PayPal, like an SSL connection. If you do use an SSL connection (and I believe Website Payments Pro requires one), then you need to follow the instructions at PayPal to obtain a certificate of your own.

 

:rolleyes:

 

Great thank for the responce.

Now, I already have a Business account with paypal,  and trying to set upt my OSC what should I place in:

 

Your Private Key

Your Public Certificate

PayPals Public Certificate

Your PayPal Public Certificate ID

Working Directory

OpenSSL Location

Thanks!

 

D.

 

There's some interesting stuff in there about shared hosting. Shared hosting is the most common form of website hosting used in today's Internet. If you didn't specifically pay for offsite hosting, dedicated server, or some other such thing, chances are you're using shared hosting. It's difficult to set up SSL in a satisfactory way for shared hosting stores; I think PayPal actually says you can't use some of its options if you're using shared hosting.

 

The OpenSSL location is only used if you don't have the ssl methods installed on your web server.

 

Jude


If this were easy, everybody would do it.

Share this post


Link to post
Share on other sites

Looks like smime isn't working for you.

 

Also in the last stage "confirmation" i get following messaje

 

Warning: fread() [function.fread]: Length parameter must be greater than 0. in /www/sirs-e/st/includes/modules/payment/paypal_ipn.php on line 478

 

Please help! :'(

 

Line 478 is trying to read data from a file on disk:

          $data = fread($fh, filesize(MODULE_PAYMENT_PAYPAL_IPN_EWP_WORKING_DIRECTORY . '/' . $random_string . 'encrypted.txt'));

That file was created earlier using an "exec" call to smime, which does encryption. The PayPal public key and your private key are required for this to work. You must also specify a working directory where temporary files will go; this directory must be writable and readable by osCommerce, and it should be unreadable by anyone else (or they could see your encrypted signature key and do nefarious things with it).

 

This line is only reached if you're using secure connection to PayPal (such as Encrypted Web Payment) and your php implementation can't find openssl_pkcs7_sign() and openssl_pkcs7_encrypt(). It is, essentially, a last-ditch effort to encrypt the cart data. It encrypts an empty data set using smime; it removes the temporary file; it encrypts the cart data using smime; then it reads the encrypted data from the new file.

 

In this case, osCommerce seems to be complaining that the "filesize()" call is returning a 0. COuld be that there's nothing in the file; could be that there is no file.

 

In short, before this chunk of code can work, the following prerequisites must be met:

+ OpenSSL/smime installed and usable on your system (probably *nix systems only)

+ curl installed and usable on your system

+ PayPal public key specified in the module

+ Your private key specified in the module

+ directory to OpenSSL/smime correctly specified in the module, with an ending '/'

+ file redirection ('>' and '<') working on your system (I believe safe_mode needs to be off for this)

+ working directory specified in the module, readable and writable by the paypal_ipn.php script

 

>_< I think that's it. I'm betting one or more of these is your problem; from your previous posts, I'm guessing the keys aren't specified.


If this were easy, everybody would do it.

Share this post


Link to post
Share on other sites
Leave them empty unless you're using a secure connection to PayPal, like an SSL connection.  If you do use an SSL connection (and I believe Website Payments Pro requires one), then you need to follow the instructions at PayPal to obtain a certificate of your own. 

There's some interesting stuff in there about shared hosting.  Shared hosting is the most common form of website hosting used in today's Internet.  If you didn't specifically pay for offsite hosting, dedicated server, or some other such thing, chances are you're using shared hosting.  It's difficult to set up SSL in a satisfactory way for shared hosting stores; I think PayPal actually says you can't use some of its options if you're using shared hosting.

 

The OpenSSL location is only used if you don't have the ssl methods installed on your web server.

 

Jude

 

Jude,

I have a dedicated server that I control by Shell with root access.

Payment pro does requiere SSL.

I allredy downloaded certificate from Paypal.

To be honest with you I do not know what to do with them.

so:

 

I have 2 txt file: cert_key_pem.txt, paypal_cert_pem.txt

 

 

-Your Private Key

Wich one is and or how to isntall them on my server?

Once installed just I tell the route?

 

-Your Public Certificate

wich one is and or how to isntall them on my server?

Once installed just I tell the route?

 

-PayPals Public Certificate

What I should to place here??

-Your PayPal Public Certificate ID

I have prublic certificate ID

 

-Working Directory

Should I create a working directory in my server or just use one already created.

 

-OpenSSL Location

what location ask her my server or paypal?

 

:blush:

 

All the info you can provide about this, to suscesfull complete this configuration, would be very gretefull.

Thanks

 

Diego

Share this post


Link to post
Share on other sites

Diego,

 

I'm not really an expert at any of this; I'm winging it as I go. I've never even done Payment Pro, so parts of this is just speculation.

 

The comments indicate that those key files should be *.pem; I'd rename them to cert_key.pem and paypal_cert.pem. Put the path to paypal_cert.pem in the PayPal public key; I don't know what the other file is.

 

For this module to work, you'll need to input the location of your public key and the location of your private key. I'd be surprised if you didn't already have to tell PayPal at least your public key. Those two fields are also paths to *.pem files.

 

The code indicates that PayPal's public key, your public key, and your private key are all used as files, while the PayPal certificate ID is used as a value. Perhaps that's what the other file is? If so, you'd expect the contents of cert_key.pem to be a single, short identifier, and you'd put that identifier in the PayPal certificate ID field.

 

If not, it could be the public key that PayPal used to generate the public key it gave you. In that case, it corresponds to your public key, and its path should go in the "Your Public Certificate" field. I don't know what it contains, so my usefulness is running quickly to an end.

 

You'll need all four fields to get this to work. I don't know where everything comes from or how to get them.

 

You can use any writeable and readable directory as your temp directory. Since the encrypted files will be very briefly visible to anyone who can read that directory, I recommend moving it somewhere only your software can read it.

 

The OpenSSL location is the path to the directory containing the OpenSSL files, such as smime. It's a path on your server, not at PayPal.

 

Sorry I couldn't help any more.

 

Jude


If this were easy, everybody would do it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×