Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

E-Commerce Modules

Discuss about the various e-commerce modules available:
Ecommerce, SS Shop, SilverCart and SwipeStripe
Alternatively, have a look the shared mailinglist.

Moderators: martimiz, Nicolaas, Sean, frankmullenger, biapar, Willr, Ingo, Jedateach, swaiba, simon_w

PaymatePayment_Handler Paid function - issues accessing response data


Go to End
Reply

9 Posts   1466 Views

Avatar
mschiefmaker

22 November 2009 at 5:29pm (Last edited: 23 November 2009 8:02am), Community Member, 187 Posts

Hi

I have got the as far as sending the order information to Paymate, completing the order and then returning to the website. I get stuck when I try to retreive the information that Paymate has reutrned.

I have the code class PaymatePayment_Handler extends Controller {
   /**
    * Get the Order object to modify, check security that it's the object you want to modify based
    * off Paymate confirmation, update the Order object to show complete and Payment object to show
    * that it was received. Finally, send a receipt to the buyer to show these details.
    */      
   function paid() {
      global $project;
         $orderID = $_POST['ref'];
         $order = $order = DataObject::get_by_id("Order", $orderID);
         if($order) ....

but it appears I am not successfully retreiving ref which is the Paymate name for the Silverstripe OrderID. When I do an isDev it is the $orderID = $_POST['ref']; line that is highlighted with the errors

* PaymatePayment_Handler->paid(HTTPRequest)
Line 162 of Controller.php
* Controller->handleAction(HTTPRequest)
Line 107 of RequestHandler.php
* RequestHandler->handleRequest(HTTPRequest)
Line 122 of Controller.php
* Controller->handleRequest(HTTPRequest)
Line 277 of Director.php
* Director::handleRequest(HTTPRequest,Session)
Line 121 of Director.php
* Director::direct(/PaymatePayment_Handler/paid/72/)
Line 115 of main.php

So am I right in understanding that this means I am not accessing the Paymate info? Any suggestion on what I am doing wrong (any other work I have seen on accessing a Pamate response uses this)?

Thanks

MM

Avatar
mschiefmaker

24 November 2009 at 4:00am Community Member, 187 Posts

Found the issue. Te returned value was being prefix with Order #.

function paid() {
      global $project;
         $orderID = $_POST[ref];
         $orderID = str_replace("Order #","",$orderID);
         $order = DataObject::get_by_id("Order",$orderID );
Fixed this.

Very happy :-)

Catherine

Avatar
lanks

24 November 2009 at 2:00pm Community Member, 61 Posts

Hey would you be able to post the working code for Paymate. Really keen to use it with my site.

Thanks
Liam

Avatar
mschiefmaker

24 November 2009 at 5:19pm Community Member, 187 Posts

Hi Liam

Will do, but it'll be the weekend before I post. Am travelling and don't have access to the code, sorry

C

Avatar
lanks

24 November 2009 at 5:57pm Community Member, 61 Posts

Ok that's cool. Thanks.

Avatar
mschiefmaker

29 November 2009 at 9:54pm Community Member, 187 Posts

Hey Liam

Attached as promised. There are a couple of issues still to iron out see [url]http://www.silverstripe.org/e-commerce-module-forum/show/274386#post274386#post274386[/url] for details

Send me any feedback/improvements

Catherine

Avatar
lanks

2 December 2009 at 9:31am Community Member, 61 Posts

Thanks for this, havent been able to get to work so far but will keep trying.

Avatar
mschiefmaker

6 December 2009 at 9:49am Community Member, 187 Posts

Hey Liam

Where is it failing?

Cheers

Catherine

Go to Top