News:

Support the VirtueMart project and become a member

Main Menu

Issue with Paypal Standard payments

Started by sagaranvekar, September 11, 2018, 10:14:37 AM

Previous topic - Next topic

sagaranvekar

Hi,

I have a website with
Joomla 3.8.10
Virtuemart 3.2.14 (latest)
OPC by rupostel 2.0.367 (latest)

The paypal was working like this before:
When user place order on website with Paypal, both user & vendor was receiving order email with 'Pending' status and just few moments later, another email with 'Confirmed' status.  Also, the order status was getting changed to 'Confirmed' on successful payment.

But since 9th Sept 18 the order status for all the orders placed with Paypal are stuck with Pending status even after successful payment.

No changes are made on website. It suddenly started since 9th Sept. Anyone else with same problem?

Can you please suggest a fix?

Thanks.

GJC Web Design

check your IPN history at Paypal and see if they are being accepted with the correct response (200)

switch on the paypal logging and do a transaction .. check the logs
GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

GJC Web Design

#2
Jumbo from Virtueplanet has found the problem

the url for ipn posts has been changed by VM

needs in Modified file - plugins/vmpayment/paypal/paypal/helpers/paypal.php

Need to use https://ipnpb.paypal.com/cgi-bin/webscr instead of https://www.paypal.com/cgi-bin/webscr

e.g. line 274
from
$url = ($this->_method->sandbox) ? $protocol . 'www.sandbox.paypal.com' : $protocol . 'www.paypal.com';
to
$url = ($this->_method->sandbox) ? $protocol . 'ipnpb.sandbox.paypal.com' : $protocol . 'ipnpb.paypal.com';

there will be an update shortly
GJC Web Design
VirtueMart and Joomla Developers - php developers https://www.gjcwebdesign.com
VM4 AusPost Shipping Plugin - e-go Shipping Plugin - VM4 Postcode Shipping Plugin - Radius Shipping Plugin - VM4 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
https://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

sagaranvekar

Thank you very much for the quick reply.

Here are some test cases,
1. I turned on sandbox environment and then tried making payment without making any changes & here is what i have in log:
(ignore *** in place of email & domain)
---------------------------------------------------------------------------
#
#<?php die("Forbidden."); ?>

2018-09-11 13:43:42 DEBUG plgVmConfirmedOrder: order number: 8NP602647
2018-09-11 13:43:42 MESSAGE plgVmConfirmedOrder: Amount/Currency stored 69.11 paymentcurrency 9 orderusercurrency9
2018-09-11 13:43:42 DEBUG PayPal request:: Array
(
    [cmd] =&gt; _ext-enter
    [redirect_cmd] =&gt; _xclick
    [paymentaction] =&gt; sale
    [upload] =&gt; 1
    [business] =&gt; ***@***.com.au
    [receiver_email] =&gt; ***@***.com.au
    [order_number] =&gt; 8NP602647
    [invoice] =&gt; 8NP602647
    [custom] =&gt; eea72887edb0fee7b4981881bf2d5a79
    [currency_code] =&gt; AUD
    [address_override] =&gt; 0
    [first_name] =&gt; James
    [last_name] =&gt; Dainton
    [address1] =&gt; 59 Stubbs Street
    [address2] =&gt;
    [zip] =&gt; 3032
    [city] =&gt; Kensington
    [state] =&gt; MH
    [country] =&gt; IN
    [email] =&gt; ***@gmail.com
    [night_phone_b] =&gt; 1300 334 741
    [return] =&gt; https://www.***.com.au/index.php?option=com_virtuemart&amp;view=vmplg&amp;task=pluginresponsereceived&amp;on=8NP602647&amp;pm=4&amp;Itemid=0&amp;lang=en
    [notify_url] =&gt; https://www.***.com.au/index.php?option=com_virtuemart&amp;view=vmplg&amp;task=notify&amp;tmpl=component&amp;lang=en
    [cancel_return] =&gt; https://www.***.com.au/index.php?option=com_virtuemart&amp;view=vmplg&amp;task=pluginUserPaymentCancel&amp;on=8NP602647&amp;pm=4&amp;Itemid=0&amp;lang=en
    [rm] =&gt; 2
    [bn] =&gt; VirtueMart_Cart_PPA
    [no_shipping] =&gt; 0
    [no_note] =&gt; 1
    [image_url] =&gt; https://www.***.com.au/images/stories/virtuemart/vendor/logo.png
    [item_name] =&gt; Order Number: 8NP602647
    [amount] =&gt; 69.11
)

2018-09-11 13:47:04 DEBUG plgVmOnPaymentResponseReceived: stdClass Object
(
    [paypal_method] =&gt; 0
    [paypal_fullresponse] =&gt; 0
    [id] =&gt; 1689
    [virtuemart_order_id] =&gt; 2709
    [order_number] =&gt; 8NP602647
    [virtuemart_paymentmethod_id] =&gt; 4
    [payment_name] =&gt; &lt;span class=&quot;vmpayment_name&quot;&gt;Test Paypal&lt;/span&gt; &lt;span style=&quot;color:red;font-weight:bold&quot;&gt;Sandbox (4)&lt;/span&gt;
    [payment_order_total] =&gt; 69.11000
    [payment_currency] =&gt; 9
    [email_currency] =&gt; 9
    [cost_per_transaction] =&gt; 0.00
    [cost_percent_total] =&gt; 0.00
    [tax_id] =&gt; 0
    [paypal_custom] =&gt; eea72887edb0fee7b4981881bf2d5a79
    [paypal_response_mc_gross] =&gt; 0.00
    [paypal_response_mc_currency] =&gt; 0
    [paypal_response_invoice] =&gt; 0
    [paypal_response_protection_eligibility] =&gt; 0
    [paypal_response_payer_id] =&gt; 0
    [paypal_response_tax] =&gt; 0.00
    [paypal_response_payment_date] =&gt; 0
    [paypal_response_payment_status] =&gt; 0
    [paypal_response_pending_reason] =&gt; 0
    [paypal_response_mc_fee] =&gt; 0.00
    [paypal_response_payer_email] =&gt; 0
    [paypal_response_last_name] =&gt; 0
    [paypal_response_first_name] =&gt; 0
    [paypal_response_business] =&gt; 0
    [paypal_response_receiver_email] =&gt; 0
    [paypal_response_transaction_subject] =&gt; 0
    [paypal_response_residence_country] =&gt; 0
    [paypal_response_txn_id] =&gt; 0
    [paypal_response_txn_type] =&gt; 0
    [paypal_response_parent_txn_id] =&gt; 0
    [paypal_response_case_creation_date] =&gt; 0
    [paypal_response_case_id] =&gt; 0
    [paypal_response_case_type] =&gt; 0
    [paypal_response_reason_code] =&gt; 0
    [paypalresponse_raw] =&gt; 0
    [created_on] =&gt; 2018-09-11 13:43:42
    [created_by] =&gt; 455
    [modified_on] =&gt; 2018-09-11 13:43:42
    [modified_by] =&gt; 455
    [locked_on] =&gt; 0000-00-00 00:00:00
    [locked_by] =&gt; 0
)
---------------------------------------------------------------------------

2. I made change you suggested in plugin file & then tested with sandbox and right after i clicked on pay button on website, it took me to white page on paypal sanbox showing only this instead of login:
encrypted_cross_dispatch=dBj_5OZqrT0ylD0nfxaKBYoUgT6_o5ee6d9boXj5KLs7s2b7aVQ87DYNl9NgTwTAeK3QUMXitgFzepKANIS0vO4UQFU_27mayX1nAW

3. Then i changed to production environment keeping changes made in plugin file & it takes me to paypal login page, but i have not completed payment as i will have to get confirmation from my boss first.

Hope, there will be quick fix available for this issue.

Thanks.

nicoletta

Same problem here.
Have you fix it?
All my transitions are pending even if the payment is completed.