Jump to content
Harald Ponce de Leon

PayPal App for osCommerce Online Merchant

Recommended Posts

6 hours ago, lucsangel said:

Hi!

To correct it you simply need quotes around the offending constant in the original line where (int)OSCOM_APP_PAYPAL_TRANSACTIONS_ORDER_STATUS_ID is, like this

line 37:

      $ppstatus_query = tep_db_query("select comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . (int)$oID . "' and orders_status_id = '" . (int)'OSCOM_APP_PAYPAL_TRANSACTIONS_ORDER_STATUS_ID' . "' and comments like 'Transaction ID:%' order by date_added desc limit 1");

 

Note the 'OSCOM_APP_PAYPAL_TRANSACTIONS_ORDER_STATUS_ID' quotes.

That way the module will still work and you won't have to think about anymore - it is functional should you one day want Paypal but forgot what you did to make the warning disappear.

Hope this helps.

 

Bobbee
 

sorry Bobbee this is wrong and won't help anyone who uses it.

If you do this then it will always use a value of 0 even when the setting is set. So you will get rid of the warning but you won't be able to see any paypal orders in admin because there's no matching status value. If you put quotes round it then it's a string and not a constant (defined or otherwise).

The post you quoted was correct.


For a new install or if your store isn't mobile-friendly, get the community-supported responsive osCommerce (Phoenix).

here: on the official osc download page

Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x

Share this post


Link to post
Share on other sites

Recently I'm seeing a lot of 0.0.0.0 in the PayPal App log for customers ip address. Doesn't seem to be causing any payment problems but I'm curious what changed. Anyone else seeing this?


The water in a vessel is sparkling; the water in the sea is dark. The small truth has words which are clear; the great truth has great silence.

- Rabindranath Tagore

Share this post


Link to post
Share on other sites

Using BS\Gold, lightly modified.

Am getting the " Could not start the procedure to download v5.011"  error message. 

Have changed all the $HTTP_  vars to new $_ vars.   Still have problem.

Share this post


Link to post
Share on other sites

Payment Ok,

I get these errors:

Warning: include(/home/xxxxxx/public_html/xxxxxx/includes/apps/paypal/modules/PS/api/GetTransactionDetails.php): failed to open stream: No such file or directory in /home/xxxxxx/public_html/xxxxxx/includes/apps/paypal/OSCOM_PayPal.php on line 377

Warning: include(): Failed opening '/home/xxxxxx/public_html/xxxxxx/includes/apps/paypal/modules/PS/api/GetTransactionDetails.php' for inclusion (include_path='.:/opt/cpanel/ea-php72/root/usr/share/pear') in /home/xxxxxx/public_html/xxxxxx/includes/apps/paypal/OSCOM_PayPal.php on line 377

Fatal error: Uncaught Error: Call to undefined function OSCOM_PayPal_PS_Api_GetTransactionDetails() in /home/xxxxxx/public_html/xxxxxx/includes/apps/paypal/OSCOM_PayPal.php:381 Stack trace:

#0 /home/xxxxxx/public_html/xxxxxx/includes/modules/payment/paypal_standard.php(605): OSCOM_PayPal->getApiResult('PS', 'GetTransactionD...', Array, 'live')
#1 /home/xxxxxx/public_html/xxxxxx/includes/modules/payment/paypal_standard.php(83): paypal_standard->pre_before_check()
#2 /home/xxxxxx/public_html/xxxxxx/includes/classes/payment.php(40): paypal_standard->__construct()
#3 /home/xxxxxx/public_html/xxxxxx/checkout_process.php(46): payment->__construct('paypal_standard')
#4 {main} thrown in /home/xxxxxx/public_html/xxxxxx/includes/apps/paypal/OSCOM_PayPal.php on line 381

I think there is an error in the file path in file OSCOM_PayPal.php.

Line 377
         

 include(DIR_FS_CATALOG . 'includes/apps/paypal/modules/' . $module . '/api/' . $call . '.php');


Folder "api"  install  patch -  includes/apps/paypal/api/

How can I fix this?


Support forum for osCommerce in russian language - from Ashkelon. Support since 2002.

Best regards,

Fredi

Share this post


Link to post
Share on other sites
57 minutes ago, Fredi said:

Payment Ok,

I get these errors:

Warning: include(/home/xxxxxx/public_html/xxxxxx/includes/apps/paypal/modules/PS/api/GetTransactionDetails.php): failed to open stream: No such file or directory in /home/xxxxxx/public_html/xxxxxx/includes/apps/paypal/OSCOM_PayPal.php on line 377

 

I believe the error message - that file isn't there! This is an honest-to-goodness bug in that the processing that should get executed when an IPN notification has not already arrived is not there.

The workaround is to turn on IPN.

I vaguely remember putting a suitable file together and raising a pull request for this but it was a couple of years and several hard drives ago. I will see if I can dig it out. It was probably a PR to Harald...

Basically, if the customer hits checkout_process.php before an IPN has arrived and validated the transaction, the module is supposed to use the pp API to check if it's dodgy or not.


For a new install or if your store isn't mobile-friendly, get the community-supported responsive osCommerce (Phoenix).

here: on the official osc download page

Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x

Share this post


Link to post
Share on other sites

...actually looking at the code, maybe the fix was a change to line 605 in the payment module... will check


For a new install or if your store isn't mobile-friendly, get the community-supported responsive osCommerce (Phoenix).

here: on the official osc download page

Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x

Share this post


Link to post
Share on other sites
On 2/25/2019 at 4:59 PM, Fredi said:

Line 377
         

On 2/25/2019 at 4:59 PM, Fredi said:

include(DIR_FS_CATALOG . 'includes/apps/paypal/modules/' . $module . '/api/' . $call . '.php');


Folder "api"  install  patch -  includes/apps/paypal/api/

Warning: include(/home/xxxxxx/public_html/xxxxxx/includes/apps/paypal/modules/PS/api/GetTransactionDetails.php😞 failed to open stream: No such file or directory in /home/xxxxxx/public_html/xxxxxx/includes/apps/paypal/OSCOM_PayPal.php on line 377

The actual file path is:   includes/apps/paypal/api/GetTransactionDetails.php

I do not know how to correct this file path correctly. Line 377.  

include(DIR_FS_CATALOG . 'includes/apps/paypal/modules/' . $module . '/api/' . $call . '.php');

The path in the file gives the wrong direction.

Thanks John.


Support forum for osCommerce in russian language - from Ashkelon. Support since 2002.

Best regards,

Fredi

Share this post


Link to post
Share on other sites

Does anyone have any idea how to solve the problem?


Support forum for osCommerce in russian language - from Ashkelon. Support since 2002.

Best regards,

Fredi

Share this post


Link to post
Share on other sites
1 hour ago, Fredi said:

Does anyone have any idea how to solve the problem?

Setting IPN up in the paypal account should make the problem go away but try this fix. In includes/modules/payment/paypal_standard.php change line 605 from

          $details = $this->_app->getApiResult('PS', 'GetTransactionDetails', array('TRANSACTIONID' => stripslashes($HTTP_GET_VARS['tx'])), (OSCOM_APP_PAYPAL_PS_STATUS == '1') ? 'live' : 'sandbox');

to

          $details = $this->_app->getApiResult('APP', 'GetTransactionDetails', array('TRANSACTIONID' => stripslashes($HTTP_GET_VARS['tx'])), (OSCOM_APP_PAYPAL_PS_STATUS == '1') ? 'live' : 'sandbox');

In other words, change the first parameter from 'PS' to 'APP'. I've been unable to find the fix that I tested before so please report back and let us know if this solves it.


For a new install or if your store isn't mobile-friendly, get the community-supported responsive osCommerce (Phoenix).

here: on the official osc download page

Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x

Share this post


Link to post
Share on other sites

Thanks Jhon!
I will try it


Support forum for osCommerce in russian language - from Ashkelon. Support since 2002.

Best regards,

Fredi

Share this post


Link to post
Share on other sites

just switched hosts.

using 2.3.4 bs edge php 5.6

here is how

Paypal standard worked for years. no problems

Problem is --the order goes thru to PayPal but  the order is not recorded by oscommerce, (customer,product, etc.)

the item is still in the cart , returning to the site to check out again. confirmation email sent by paypal-- but no order process email sent to customer or owner.

this is how we sent Paypal standard in admin:

Enable PayPal Payments Standard
True

Seller E-Mail Address
sales@site.com

Primary E-Mail Address
same as above

Page Style


Transaction Method
Sale

Set Preparing Order Status
Preparing [PayPal Standard]

Set PayPal Acknowledged Order Status
Processing

PayPal Transactions Order Status Level
default

Payment Zone
--none--

Gateway Server
Live

Verify SSL Certificate
True
we have SSL
Proxy Server


Debug E-Mail Address
tech@site.com

Enable Encrypted Website Payments
False

Your Private Key


Your Public Certificate


PayPals Public Certificate


Your PayPal Public Certificate ID


Working Directory


OpenSSL Location
/usr/bin/openssl

Sort order of display.
5

also we are getting a paypal debug email with http vars like this:

$HTTP_POST_VARS:

Array
(
[payer_email] => cr@site.com
[payer_id] => XQNHECNCJY3D8
[payer_status] => VERIFIED
[first_name] => cust first
[last_name] => custlast
[address_name] =>name
[address_street] => 123 oakst
[address_city] => chicago
[address_state] => IL
[address_country_code] => US
[address_zip] => 60559
[residence_country] => US
[txn_id] => 448441F7
[mc_currency] => USD
[mc_fee] => 0.65
[mc_gross] => 12.12
[protection_eligibility] => ELIGIBLE
[payment_fee] => 0.65
[payment_gross] => 12.12
[payment_status] => Completed
[payment_type] => instant
[handling_amount] => 0.00
[shipping] => 11.12
[tax] => 0.00
[item_name1] => Test
[quantity1] => 1
[mc_gross_1] => 1.00
[tax1] => 0.00
[num_cart_items] => 1
[txn_type] => cart
[payment_date] => 2019-04-30T08:34:23Z
[business] => sales@site.com
[receiver_id] =>8YBNLF
[notify_version] => UNVERSIONED
[custom] => 788
[invoice] => 15
[verify_sign] => kM4qAoaIYLUEAtYEiXc6KoPbLyIXyLN9

 

Any suggestions how to fix?

 

z

Share this post


Link to post
Share on other sites
1 hour ago, zpupster said:

Any suggestions how to fix?

Do you actually have the APP installed?  I don't see the PDT Identity Token field in your configuration information.

Dan

Share this post


Link to post
Share on other sites

@zpupster Hmm, this suggests your customer is getting back to the site and it's putting the order back into the cart before the IPN gets there.

I think this is a problem that's been raised before and it's avoidable with the right app settings (PDT on, encrypted payments off).

 


For a new install or if your store isn't mobile-friendly, get the community-supported responsive osCommerce (Phoenix).

here: on the official osc download page

Working on generalising bespoke solutions for Quickbooks integration, Easify integration and pay4later (DEKO) integration at 2.3.x

Share this post


Link to post
Share on other sites

The order is in the database --orders table

 

Dan-- no i do not see a transaction id in the config

but it is here in the order:[txn_id] and it is available on paypals website ..Instant Payment Notification (IPN) history page.
so they are getting transactions id

 

BroJohn--

 PDT on,  ??? --- I do not see this option--is this suppose to be in the paypal standard module??

encrypted payments off).--Enable Encrypted Website Payments
False

Share this post


Link to post
Share on other sites
15 minutes ago, zpupster said:

PDT on,  ???

It should be a setting in your APP configuration which is why I was asking if you're sure that you  have the APP installed.  Based on what you  have posted it doesn't look like it is?   It is as option in the APP for PayPal Standard...at least it is in mine.

Dan

Share this post


Link to post
Share on other sites

We also have Virtual merchant-converge as a payment module.

ran a test it was processed and emptied shopping cart.

both order process and notification from them was received.

 

 

Share this post


Link to post
Share on other sites
18 minutes ago, Dan Cole said:

the PayPal App v4.039

In case you are not aware of it, the latest version is 5.018. There should be an View Updates button in the configure section.

Share this post


Link to post
Share on other sites

 

11 minutes ago, Jack_mcs said:

In case you are not aware of it, the latest version is 5.018. There should be an View Updates button in the configure section. 

Thanks Jack...I knew that.  I'm just always scared to update this stuff particularly when it's working.

Dan

Share this post


Link to post
Share on other sites

@Dan ColeI figured you knew but thought I would mention it in case others didn't. From what I've seen, the  update script is well-behaved. If it can't update it doesn't cause any problems. However, I seen to recall that the first version had problems with the update. I can't say for sure and may be wrong. But if you decide to try it, be sure to backup the files first just to be safe.

Share this post


Link to post
Share on other sites

The Login with PayPal function no longer works. It currently returns an Invalid authorization code error when a customer attempts to login using their PayPal credentials. On the developer site it states:

Quote
Important: Before going Live, your app will need to be reviewed in order to approve sharing customer data. Full name is enabled by default, but all other scopes will require PayPal's approval through the app review process. The app review process typically takes 7-10 days, so please account for enough time to review before going Live. Please send your app review request to help-loginappreview@paypal.com. The request must include the following:
  1. Client ID of your live app
  2. Description of your app/site - please include screen shots or site URL and a short explanation of what the app/site is about
  3. Detailed description of how your app will use the Connect with PayPal (formerly Log In with PayPal) feature
  4. List of the scope attributes you’d like to enable
  5. Description of how you will use each scope attribute, how it will benefit your users and why it's necessary for app's functionality

Requests with partial information cannot be reviewed, and approval will be delayed until the full information is obtained.

It's called "connect with paypal" now and I notice the login button looks different.


The water in a vessel is sparkling; the water in the sea is dark. The small truth has words which are clear; the great truth has great silence.

- Rabindranath Tagore

Share this post


Link to post
Share on other sites
2 hours ago, Smoky Barnable said:

The Login with PayPal function no longer works. It currently returns an Invalid authorization code error when a customer attempts to login using their PayPal credentials. On the developer site it states:

It's called "connect with paypal" now and I notice the login button looks different.

I concur... it’s not working 

Share this post


Link to post
Share on other sites

Seeing error for too few arguments to function OSCOM_PayPal::log(), 5 passed in ext/modules/payment/paypal/express.php on line 281 and at least 6 expected in includes/apps/paypal/OSCOM_PayPal.php line 23

ext/modules/payment/paypal/express.php on line 281 5 arguments

$paypal_express->_app->log('EC', 'CallbackResponse', 1, $log_sane, $params);

includes/apps/paypal/OSCOM_PayPal.php line 23 6 arguments. Argument 6 would be $server

function log($module, $action, $result, $request, $response, $server, $is_ipn = false) {

 


No longer giving free advice. Please place deposit in meter slot provided.  Individual: [=] SME: [==] Corporation: [===]
If deposit does not fit one of the slots provided then you are asking too much! :P


Support The Project
Documentation/Knowledgebase/Discussions
 

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

×