Author Topic: eWay payments from site not passing customer name  (Read 5525 times)

HulaQueen

  • Jr. Member
  • **
  • Posts: 316
eWay payments from site not passing customer name
« on: July 08, 2009, 14:32:00 pm »
With the eWay payment gateway customers names are not being passed from our site (for automatically processed payments) and do not show on the eWay payment report. When I login to eWay, and go to reports>>standard, the only names there are for payment we process manually.

We need names in the report for accounting purposes.

We've contacted Eway who said it was a matter for our technical staff. They also said they'd never seen a report without all of the names! Perhaps it's the new version of VM. I don't know.

Has anyone seen this, or anyone else on the current version of VM and seeing names passed through? I'm wondering if this is something I configure, or are there changes needed in the eWay payment module?

Thank you!

I will update this as I learn more, but would welcome assistance.

Cheers,
HulaQueen

fredzebu

  • Beginner
  • *
  • Posts: 15
Re: eWay payments from site not passing customer name
« Reply #1 on: July 21, 2009, 03:42:12 am »
I have the same problem with a site I have just set up: joomla 1.5.9, virtuemart 1.1.2 stable. The transaction reports in the Eway Admin Reports do not show customer details or vm order id. I called eway support. They are not aware of the problem, or a solution.

Anyone know a solution?

fredzebu

  • Beginner
  • *
  • Posts: 15
Re: eWay payments from site not passing customer name
« Reply #2 on: July 22, 2009, 14:03:19 pm »
Ok, I've found the problem in administrator/components/com_virtuemart/classes/payment/ps_eway.php:
1. Replace:
$qt = "SELECT * FROM #__users WHERE id='".$auth["user_id"]."' AND address_type='BT'";
with:
$qt = "SELECT * FROM #__vm_user_info WHERE user_id='".$auth["user_id"]."' AND address_type='BT'";

2. Replace:
$eway->setCustomerEmail( $db->f("email") );
with:
$eway->setCustomerEmail( $db->f("user_email") );

This will correctly set the customer details(Firstname, Lastname, Email, Address).

I also added this code to the beginning of function doPayment():
#####################
        $db = new ps_DB;
        $qt = "SELECT * FROM #__vm_orders order by order_id";
        $db->query($qt);
        $rows = $db->loadObjectList();
        foreach($rows as $row)
        {
          $order_id=$row->order_id;
          $order_id+=1;
        }
        $CustomerInvoiceDescription=htmlentities( $this->myCustomerInvoiceDescription );
        $CustomerInvoiceDescription.="$order_id";
####################

and replaced:
"<ewayCustomerInvoiceDescription>".htmlentities( $this->myCustomerInvoiceDescription."</ewayCustomerInvoiceDescription>".
with:
"<ewayCustomerInvoiceDescription>"."$CustomerInvoiceDescription"."</ewayCustomerInvoiceDescription>".


This change includes the VM order_id in the Eway report.




michaelg

  • Beginner
  • *
  • Posts: 6
Re: eWay payments from site not passing customer name
« Reply #3 on: July 30, 2009, 15:51:34 pm »
Hi,

Thanks for your change suggestions. It did make a difference, however 1 field that did not get updated for me was the "Card Holders Name" field. Any suggestions?

Regards
Michael

HulaQueen

  • Jr. Member
  • **
  • Posts: 316
Re: eWay payments from site not passing customer name
« Reply #4 on: August 14, 2009, 19:11:42 pm »
Anyone got a fix for Card Holders Name? The rest worked a charm, but we still have to click through for details on the eWay report.

Gygash

  • Beginner
  • *
  • Posts: 1
Re: eWay payments from site not passing customer name
« Reply #5 on: September 02, 2009, 03:53:53 am »
Fix for card holder's name (at least, it worked for me  ;)):

In file /classes/payment/ps_eway.php:
In function process_payment, replace
Code: [Select]
$eway->setCardHoldersName( $payer_name_is + '' );with
Code: [Select]
$eway->setCardHoldersName( $payer_name_is . '' );
And in function doPayment, replace
Code: [Select]
"<ewayCardHoldersName>".htmlentities( $this->myCardName )."</ewayCardHoldersName>".with
Code: [Select]
"<ewayCardHoldersName>".htmlentities( $this->myCardHoldersName )."</ewayCardHoldersName>".

HulaQueen

  • Jr. Member
  • **
  • Posts: 316
Re: eWay payments from site not passing customer name
« Reply #6 on: September 25, 2009, 13:43:46 pm »
Thank you that is WONDERFUL!!

Szandokan

  • Beginner
  • *
  • Posts: 5
Re: eWay payments from site not passing customer name
« Reply #7 on: November 12, 2009, 13:22:11 pm »
Thanks fredzebu and Gygash! I made the changes you both suggested and now I get the customer details and order number in my eWay transaction report. Much appreciated.

bigtimmyp34

  • Beginner
  • *
  • Posts: 3
Re: eWay payments from site not passing customer name
« Reply #8 on: September 16, 2010, 06:42:13 am »
Anyone have any ideas why the above still leaves Invoice Description Blank in eway? need it to say the order number - which i think the above is supposed to do?

piersster

  • Beginner
  • *
  • Posts: 2
Re: eWay payments from site not passing customer name
« Reply #9 on: November 23, 2010, 11:01:11 am »
I am using Joomla 1.5.9 VirtueMart 1.1.2 stable can anyone else confirm they are having a problem with eway with customer details not getting through? as sometimes customer information on my setup gets through and not other times? so I wondering if it is the same problem? Thanks

lrawling

  • Beginner
  • *
  • Posts: 29
    • Spoonful of Love Website Design
Re: eWay payments from site not passing customer name
« Reply #10 on: April 05, 2011, 04:42:27 am »
Hi,

The above fix didn't work for me (the card holder name did but not the customer details) so I did some more searching and found this fix but brendpn and eWay. It worked seamlessly. Thanks Brendpn.

http://forum.virtuemart.net/index.php?topic=82039.0

Cheers,

Liz