Jump to content

SazB

Members
  • Content count

    5
  • Joined

  • Last visited

Profile Information

  • Real Name
    Saz Benedi
  1. SazB

    PAYPAL IPN DUMMIES GUIDE

    I finally got my sandbox set-up to work. First I had to work through an additional error from Paypal, something about "email address for the business is not present in the encrypted blob. " Here's some of the changes I had to make to get oscommerce IPN to work with Paypal: 1. Certificate generation exactly according to PayPal instruction - either API certificate, or openssl ->Private key: genrsa -out privkey.pem 1024 (I believe there is still a way to get the instructions at the top of this thread to work, but for me it will take a little more digging) ->Public key: req -new -key privkey.pem -509 -days 365 -out cacert.pem - I believe the customer service email address specified in your paypal account needs to be used in the certificate generation *IMPORTANT* To protect your private key you will need to store it in a non-browser accessible area of your server. You can actually put all the certs as well as the temp folder in a non-browser folder and it will still work. 2. After uploading the Public key make sure to copy your Paypal certificate id. 3. Update references in Oscommerce IPN admin (use the full path to your server/folder) - ensure the same email as in the key is referenced Good luck!
  2. SazB

    PAYPAL IPN DUMMIES GUIDE

    I followed the instructions at the top of this thread and get the same error. The problem appears to be related to the private key and it's also worth noting that the public key so far does not appear cause an issue. I am beginning to think that the underlying problem is with the method of key generation itself. Consider the error: "Warning: openssl_pkcs7_sign(): error getting private key in /home/virtual/sazunlimited.com/webroot/htdocs/secure.sazunlimited.com/catalog/includes/modules/payment/paypal_ipn.php on line 368 And the corresponding code from the Paypal IPN module: LINE 367 if (function_exists('openssl_pkcs7_sign') && function_exists('openssl_pkcs7_encrypt')) { LINE 368 openssl_pkcs7_sign(MODULE_PAYMENT_PAYPAL_IPN_EWP_WORKING_DIRECTORY . '/' . $random_string . 'data.txt', MODULE_PAYMENT_PAYPAL_IPN_EWP_WORKING_DIRECTORY . '/' . $random_string . 'signed.txt', file_get_contents(MODULE_PAYMENT_PAYPAL_IPN_EWP_PUBLIC_KEY), file_get_contents(MODULE_PAYMENT_PAYPAL_IPN_EWP_PRIVATE_KEY), array('From' => MODULE_PAYMENT_PAYPAL_IPN_ID), PKCS7_BINARY); Now, if you generated your key with OPENSSL like I did with the RSA command you were asked to supply a 'pass phrase.' I think this might be the issue. There's no reference in the code to decrypt the private key with the pass phrase you used to have it generated, so perhaps it can't be read? Maybe someone out there has figured this out and can confirm or set it straight...?
×