VirtueMart Forum

VirtueMart 2 + 3 + 4 => Plugins: Payment, Shipment and others => Topic started by: sagaranvekar on September 11, 2018, 10:14:37 AM

Title: Issue with Paypal Standard payments
Post by: sagaranvekar on September 11, 2018, 10:14:37 AM
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.
Title: Re: Issue with Paypal Standard payments
Post by: GJC Web Design on September 11, 2018, 10:29:11 AM
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
Title: Re: Issue with Paypal Standard payments
Post by: GJC Web Design on September 11, 2018, 14:40:55 PM
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
Title: Re: Issue with Paypal Standard payments
Post by: sagaranvekar on September 11, 2018, 15:56:59 PM
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.
Title: Re: Issue with Paypal Standard payments
Post by: nicoletta on October 10, 2018, 12:17:19 PM
Same problem here.
Have you fix it?
All my transitions are pending even if the payment is completed.