News:

Looking for documentation? Take a look on our wiki

Main Menu

Eway Payment Module Fixed | Now Working Very Nicely

Started by Brendpn, February 16, 2011, 07:42:00 AM

Previous topic - Next topic

Brendpn

Hi everyone.

Recently had some issues with the eway payment gateway not receiving name details from the shopping cart and also not sending back confirmation of payment and updating the order status automatically.

After a bit of development work on behalf of eway and some testing from myself, I'm happy to announce that the eway gateway is talking very nicely with VM.

I've tested this several times today and can confirm that the following is happening.


  • order is placed in checkout
  • when payment processes successfully on eway, order confirmation shows in VM cart
  • on the order list the order status is set to "Confirmed" instead of leaving the order as "Pending"

All of the information you need to see is there. The VM order number doesn't pull across, but that's OK for me as there is enough information there to reference an order. In fact, with the way eway have got this working, I wouldn't even need to log in to their account management page as the "Confirmed" status shows that the payment is clean.

Good going eway!

They have informed me that they will be sending through their updated php to the Virtuemart team for updating the core, but in the interim I've attached the php file for you to download.

You will need to replace the ps_eway.php file in the following location.

/administrator/components/com_virtuemart/classes/payment

As always, please back up your site prior to making any changes so that should anything go wrong during the file replacement, you can easily roll back.

Cheers  ;D

[attachment cleanup by admin]

lrawling

That is brilliant! Thank you so much for sharing that Brendpn, I have been trying to work out that solution for some time. I too spoke to eWay but they said they couldn't fix it (this was only the other day). How did you get them to work with you on this solution (it would be good to know for future requirements).

Thanks again,


Liz

Brendpn

Heya Liz

Not sure if there was a magic formula, but I found emailing them, calling them AND when I didn't get any action, tweeting some discontent to their CEO worked.

All in all, at the time before this was fixed I was pretty unhappy about their product, but after dealing with them, then having them spend time with me on the phone, even whilst I tested, showed me that no matter what, they were 150% committed to providing excellent customer service to the people who use their product.

Simple as that. Plus the fact that it just works really really well now makes them a top level product for Virtuemart.

Cheers

maclean_cherry

Good morning lrawling,

My name is Maclean and I'm the Customer Care Manager here at eWAY. I would be very interested in hearing about your experience with us regarding being advised that we could not fix VirtueMart for you - as you can see, Brendpn listed our corrected module a couple of months ago and we would have been happy to provide you with the same one. If you would like to PM me details I would be very appreciative.

If you have any issues with getting the new module working please feel free to email our helpdesk at support@eway.com.au and attention it to myself.

Brendpn: Glad to hear the module is still working smoothly for you - let me know if we can help with anything else.

Maclean Cherry
Customer Care Manager
eWAY

neilforrester

I used all of the above and it worked fine except the order status return 'pending' whe it should have been 'confirmed'.

This issue is fixed by:
Logging into your VM store, in the left hand panel click:

Store / List Payment Methods
Select eWay
Under the 'Payment Method Form' turn Payment Method type from 'Credit Card' to 'Use Payment Processor' and the order status function works correctly.

First solved in this post by Brendpn:
http://forum.virtuemart.net/index.php?topic=82039.0

Thanks,
Neil.

normdouglas

Just thought I'd add to this in relation to a very similar thing.

An eway support person tells me that the error Payment: Error Code:-1072896760 is a Whitespace error.

Consequently this is normally caused by "dodgy" characters being passed.

In my case it was HYPHENS in the description.  In other words product - description.

I removed these and the script now works as expected.

Hope this helps someone

tez

Why does test mode use default customer ID?
} else {
$eway = new EwayPayment( '87654321', "https://www.eway.com.au/gateway_cvn/xmltest/testpage.asp" );
}

When I disabled Test mode I get other errors.
Error: Failure in Processing the Payment (ps_eway)

How can I see testing transactions in my developer account with my customer testing ID?

maclean_cherry

Hi Tez,

This module was built before we offered the Sandbox so the only test account was 87654321. Just hardcode your Sandbox ID in place of 87654321.

Quote from: tez on December 16, 2013, 01:02:11 AM
Why does test mode use default customer ID?
} else {
$eway = new EwayPayment( '87654321', "https://www.eway.com.au/gateway_cvn/xmltest/testpage.asp" );
}

When I disabled Test mode I get other errors.
Error: Failure in Processing the Payment (ps_eway)

How can I see testing transactions in my developer account with my customer testing ID?

Maclean

tez

thank you, was just making sure.

I use the ID setting, works fine. Just be sure that the purchase amount is .00 at the end to get approved status, otherwise you get weird responses.

} else {
$eway = new EwayPayment( EWAY_CUSTID, "https://www.eway.com.au/gateway_cvn/xmltest/testpage.asp" );
}



maclean_cherry

Hi Tez,

Yes that's a good solution, did it work for you correctly?

Maclean

Quote from: tez on December 16, 2013, 01:32:43 AM
thank you, was just making sure.

I use the ID setting, works fine. Just be sure that the purchase amount is .00 at the end to get approved status, otherwise you get weird responses.

} else {
$eway = new EwayPayment( EWAY_CUSTID, "https://www.eway.com.au/gateway_cvn/xmltest/testpage.asp" );
}




tez

so far yes, once I tested with $20.00 product instead of $20.60

maclean_cherry

Quote from: tez on December 16, 2013, 04:44:43 AM
so far yes, once I tested with $20.00 product instead of $20.60

Great to hear.

By default, the Sandbox will use the cents value as the response code. '60' is a declined transaction. If you want to test amounts other than '00' and get a successful transaction you can log in to the Sandbox and go to Settings > Sandbox. Scroll down to 'Default sandbox behaviour' and change it to 'Always Approve'. Now, all transactions will receive a successful response.

Maclean