Author - Robert Popovic

I launched Magebase in April, 2010 and am its editor and contributor. My main topics of interest are Magento development, customization and how to get the most out of Magento with the least amount of headache.

More Info » Follow me on Twitter »

Reader Comments (131)

  1. Daniel
    June 30, 2010 at 8:31 am /

    A quick inspection of the code suggests online refund support. If true, this is a major enhancement over the Fontis one!

    1. Kristof
      June 30, 2010 at 5:43 pm /

      Hi Daniel, I am the developer behind the extension and I can confirm that online refunds work for PxPost and Magento 1.4.1. I still need to do some further testing on previous versions before advertising this feature.

      1. Robert
        August 23, 2010 at 3:39 pm /

        Refunds look like they need to be enabled specially, but I can’t see how, could you point me in the right direction please? Thanks!

  2. Fran
    July 14, 2010 at 10:56 am /

    Hey Robert,
    Thanks for the extension. I just installed it and I lost access to the frontend. One of these errors:

    Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 60: parser error : Opening and ending tag mismatch: default line 45 and reference in /home/velcoff/public_html/shop/app/code/core/Mage/Core/Model/Layout/Update.php on line 294
    #0 [internal function]: mageCoreErrorHandler(2, ‘simplexml_load_…’, ‘/home/velcoff/p…’, 294, Array)
    #1 /home/velcoff/public_html/shop/app/code/core/Mage/Core/Model/Layout/Update.php(294): simplexml_load_string(‘fetchFileLayoutUpdates()
    #3 /home/velcoff/public_html/shop/app/code/core/Mage/Core/Model/Layout/Update.php(246): Mage_Core_Model_Layout_Update->fetchPackageLayoutUpdates(‘default’)
    #4 /home/velcoff/public_html/shop/app/code/core/Mage/Core/Model/Layout/Update.php(224): Mage_Core_Model_Layout_Update->merge(‘default’)
    #5 /home/velcoff/public_html/shop/app/code/core/Mage/Core/Controller/Varien/Action.php(265): Mage_Core_Model_Layout_Update->load()
    #6 /home/velcoff/public_html/shop/app/code/core/Mage/Cms/Helper/Page.php(83): Mage_Core_Controller_Varien_Action->loadLayoutUpdates()
    #7 /home/velcoff/public_html/shop/app/code/core/Mage/Cms/controllers/IndexController.php(45): Mage_Cms_Helper_Page->renderPage(Object(Mage_Cms_IndexController), ‘home’)
    #8 /home/velcoff/public_html/shop/app/code/core/Mage/Core/Controller/Varien/Action.php(376): Mage_Cms_IndexController->indexAction()
    #9 /home/velcoff/public_html/shop/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(248): Mage_Core_Controller_Varien_Action->dispatch(‘index’)
    #10 /home/velcoff/public_html/shop/app/code/core/Mage/Core/Controller/Varien/Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
    #11 /home/velcoff/public_html/shop/app/Mage.php(459): Mage_Core_Controller_Varien_Front->dispatch()
    #12 /home/velcoff/public_html/shop/index.php(65): Mage::run()
    #13 {main}

    I think its something to do with the update.php but I’m hopeless at .php right now. Any suggestions?

    1. Fran
      July 14, 2010 at 11:15 am /

      Fixed it.
      Using this kids method.
      See below

      Resolved. but not fixed.

      What I did to resolve?

      First of all I’m using the default template, just editing the files.

      I made a backup of this directory: /app/design/frontend/default/default

      – layout
      – locate
      – template

      Then I unzip the directory /app/design/frontend/default/default who comes with the ZIP file, in the case: ‘’ and send the uncompressed directory to my server, after all transfer done, worked as default template.

      After that, I was sending file by file that was changed to find out what caused the error. But to my surprise, it returned to work perfectly.

      Weird, but can be an solution for somebody else.

  3. Fran
    July 14, 2010 at 8:10 pm /

    Hey Robert,
    Just reread my first post and it reads like I was being critical of the extension. Just to clarify I wasnt. I think its great.
    I am using the proper version I just had a bit of debugging to do.
    Thanks Again

  4. Fran
    July 20, 2010 at 1:16 pm /

    Have you ever seen a problem with this working with the one step checkout extension? I thought it was going fine but I just ran one last test and I have the NK error again which is usually related to a wrong user ID or PXpaykey. Any thoughts? Thanks

  5. Fran
    July 29, 2010 at 10:50 am /

    Cool Ill have to give that a try at some point. If you get a chance I’d be grateful to know exactly what you did. I meant to come to the meet-up last night but my 1 yr old is sick. Next time.

  6. Fran
    August 17, 2010 at 5:11 pm /

    Have you guys had any issues with Guest checkout not sending confirmation emails to either Guest or “Send Order Email Copy To” contact? I notice that inside sales/order/order number where DPS usually sends a response text saying approved that it isn’t showing up there either. Not sure where to start here.

  7. Fran
    August 18, 2010 at 2:40 pm /

    Its on
    Yeah its live but still in an unfinished phase.
    Another thing worth mentioning is that you cant do 0.00 dollar transactions without DPS throwing and error. So if someone has a coupon that makes their entire order free it freaks out a bit. Ill try the logging and debugging thing and let you know. Thanks

  8. Fran
    August 18, 2010 at 4:58 pm /

    Ok so here it is:
    Note: I do the transaction for shipping only so DPS charges me the $2.50 then when it sends me back to Magento magento shows the transaction as being $0 dollars because it doesn’t factor the shipping dollar in for some reason.

    Here are the logs FYI.
    DPS PxPay Log
    2010-08-18T04:44:01+00:00 DEBUG (7): DPS result from url: v5i2PdhUMzjBHUHcrouiUmP7t58hAB5f0qEOPvzPC-BJ4moFMCr2Qa8DHFoLezf3pZWGu1JDe27l5u7-Lx2gpkxbtTZ4-CnIYvkUHr9Sm-pqzthajG_tmpCiO98EM6YjmcYRbkCh78YqiaGCJdfJQvsmMNKnRZRDcdrc3Fo-RZQGCe-e0q7TxcHisSE0103OS_PzIgiVHRFWWllpCzW56D66CK6ykI5-O0h6vbGX6DVqNYcNduuBVEL3goS-MUJHzrFhjuV8TUMT3Fk2YOBV0Hsw3JM2e9VeJbC54gObPgMtfe7IOWkC5rPZivYJuHI7V4a2b6ozJC0KkowiR93Hc6vomDK8ZqSjB5Mehrg-ljXe5Fow8-n9yAltzQwzIBRcYoOG3zr8wO1oo_1HOifHyyawSa9wY8MlOu1Ij9rLQmj5c8oLGvJr34mV5fG1L5WFy1abaV211I1Jq-PFFWUgMbubdSknIzvbchrme8W9S5K-vOQ6m2QOe7PjyjECYdliKCFIpP4u6rSAQ1Tr6V_Fp5RAlqeGawIJrg
    2010-08-18T04:44:02+00:00 DEBUG (7): 500000011 Error in DPS Response Validation: Mismatched totals
    2010-08-18T04:44:02+00:00 DEBUG (7): MageBaseDps failed with exception - see exception.log
    2010-08-18T04:44:10+00:00 DEBUG (7): 500000011 MageBaseDps User returned to Success Url

    Exception Log:
    2010-08-18T04:44:02+00:00 ERR (3):
    exception 'Varien_Exception' with message 'Invalid method Mage_Sales_Model_Order::registerCancellation(Array
    [0] => There has been an error processing your payment. Please try later or contact us for help.
    [1] =>
    )' in /home/velcoff/public_html/shop/lib/Varien/Object.php:549
    Stack trace:
    #0 [internal function]: Varien_Object->__call('registerCancell...', Array)
    #1 /home/velcoff/public_html/shop/app/code/community/MageBase/DpsPaymentExpress/Model/Method/Pxpay.php(508): Mage_Sales_Model_Order->registerCancellation('There has been ...', false)
    #2 /home/velcoff/public_html/shop/app/code/community/MageBase/DpsPaymentExpress/Model/Method/Pxpay.php(198): MageBase_DpsPaymentExpress_Model_Method_Pxpay->_cancelOrderAfterFailure(Object(SimpleXMLElement))
    #3 /home/velcoff/public_html/shop/app/code/community/MageBase/DpsPaymentExpress/controllers/PxpayController.php(132): MageBase_DpsPaymentExpress_Model_Method_Pxpay->processSuccessResponse('v5i2PdhUMzjBHUH...')
    #4 /home/velcoff/public_html/shop/app/code/community/MageBase/DpsPaymentExpress/controllers/PxpayController.php(80): MageBase_DpsPaymentExpress_PxpayController->_processSuccessResponse('v5i2PdhUMzjBHUH...')
    #5 /home/velcoff/public_html/shop/app/code/core/Mage/Core/Controller/Varien/Action.php(376): MageBase_DpsPaymentExpress_PxpayController->successAction()
    #6 /home/velcoff/public_html/shop/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(248): Mage_Core_Controller_Varien_Action->dispatch('success')
    #7 /home/velcoff/public_html/shop/app/code/core/Mage/Core/Controller/Varien/Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
    #8 /home/velcoff/public_html/shop/app/Mage.php(459): Mage_Core_Controller_Varien_Front->dispatch()
    #9 /home/velcoff/public_html/shop/index.php(65): Mage::run('home')
    #10 {main}


  9. Fran
    August 19, 2010 at 12:27 pm /

    Regarding the zero total – yeah exactly.
    I think that if I could make magento acknowledge the shipping amount as part of the total price then that could fix that problem. Its weird because right now it sends the total to DPS with the shipping included and when DPS sends back the total it has charged magento doesnt accept it as legit because it discounts the validity of shipping amount making up part of the total – if that makes sense.

  10. Graham
    August 26, 2010 at 11:29 pm /

    Has anyone noticed that with this extension – orders are automatically invoiced? To double check I just reverted back to the original Fontis DPS payment method (orders no longer automatically invoiced).

  11. Graham
    August 27, 2010 at 10:15 am /

    Haha. Looks like I’m confusing bugs with features then lol.

    Thanks Robert.

  12. Fran
    September 18, 2010 at 1:26 pm /

    Hey Guys. Any interest in making this work with the Aheadworks Subscriptions and Recurring Payments ext. I see that dps now has the recurring payment option available ( I have a copy of the aheadworks extension if you want to play with it. If its not a high priority could someone develop it specifically for me for a reasonable price? Its a bit more than I can do for sure.

  13. Kristof, Fooman
    Kristof, Fooman
    September 20, 2010 at 3:42 pm /

    @Fran Magento added the option for recurring payments and profiles as beta in I believe it is comparable feature-wise with the aheadworks extension. I am currently waiting on the sidelines to see what options will be possible by this development and what the differences for on-site payments (PxPost) and third-party payments (PxPay) will be. I noticed you rsvped to the meetup this week so we can talk about it in detail on Wednesday.

  14. Graham
    November 1, 2010 at 10:16 am /

    Just tried to upgrade due to noticing an error this morning with the correct status not being returned after a successful transaction (pending instead of processing).

    Tried upgrading to magento-community/MageBase_DpsPaymentExpress-1.1.8 as I’m on

    I get the error (in Connect) ‘Ignoring installed package magento-community/MageBase_DpsPaymentExpress’

    Just wanted to check am I installing the correct version?


  15. Tim Oliver
    Tim Oliver
    April 1, 2011 at 1:51 pm /

    I’ve been trying this out with the intention to use auth/complete purchasing via pxPay – it looks like the auth works perfectly, but I can’t see any interface to do completion from within Magento. Is the idea that you do auth via the extension and then go do the completion transactions within the DPS administration interface?

  16. Kristof Ringleff
    April 1, 2011 at 1:54 pm /

    @Tim this is the expected behaviour. You can’t complete a previously auth purchase without a PxPost account. So yes you would need to log into the dps admin area complete the transaction there and then invoice/capture offline in Magento.

    1. Tim Oliver
      Tim Oliver
      April 1, 2011 at 2:58 pm /

      Thanks, I’ll do some investigation with PxPost (we’ve got both accounts), hopefully we can extend the extension to perform PXPay completion payments using PxPost from the admin.

  17. chris
    April 5, 2011 at 9:04 am /

    Thanks for a great extension.
    I have gone right in a installed it on Magento (may be a bit naive) and all going well until I get a declined card. On clicking “next” the follow fatal error is kicked back.
    Fatal error: Call to a member function getLastRealOrderId() on a non-object in /httpdocs/app/code/community/MageBase/DpsPaymentExpress/controllers/PxpayController.php on line 138
    Is this something that is related to that way I have setup my sever or DPS.

  18. Kristof Ringleff
    April 6, 2011 at 9:07 am /

    @chris the extension should now work on – please let me know if you are still seeing the issue via the bug tracker.

    1. chris
      April 6, 2011 at 9:10 am /

      Kirstof I will do. Thanks for the looking into it and will makes sure I track all errors I encounter. Not that I am expecting to.

      1. chris
        April 6, 2011 at 9:17 am /

        Just checked it and it is working perfectly. Thank you again for putting together such a great extension.

  19. Sam Evans
    Sam Evans
    May 25, 2011 at 4:37 pm /

    I’ve noticed this module doesn’t dispatch any events on payment success. Core events like ‘sales_order_payment_pay’ often come at weird times (that one triggers before redirect to the payment gateway, every time). Have you considered adding some events to the Model/Method/PxMETHOD.php files?

    We’re considering doing this for a site where we’ll need to trigger some code on payment success/failure, just wondering if I’m missing a core event that would work well.

    1. Kristof Ringleff
      May 25, 2011 at 6:06 pm /

      Hi Sam,

      thanks for the feedback. Can you please add a feature request to the bug tracker. Please also include against which payment method you are currently comparing.

  20. Kevin Dallas
    Kevin Dallas
    June 8, 2011 at 11:59 am /

    Does the current version of the module with PxPay support the new requirements for DPS’s upcoming migration on 30th September?

    1. Kristof Ringleff
      June 9, 2011 at 4:33 pm /

      Thanks for the heads up. An update will be available before the deadline. You can track it here:

      1. Bob Brown
        June 17, 2011 at 9:22 am /

        If you want to follow this issue, use to follow the RSS for the ticket,

        Or use a RSS reader or something …

  21. Danny
    June 9, 2011 at 4:39 pm /

    Wicked Extension ………………

  22. Kristof Ringleff
    July 24, 2011 at 10:49 am /

    Just a quick note that versions 1.2.0 and 1.2.1 have been released as a beta with the updated urls. Please leave any feedback here.

    1. Mitchell
      August 11, 2011 at 10:55 am /

      Thanks Kristof – to update for the DPS migration do we just update the module as normal in Magento Connect?

  23. JP
    August 22, 2011 at 11:35 am /

    Hi Kristof,

    Will this beta release be upgraded to Stable this week, or will we need to apply the Beta to make the end of August deadline?


  24. Darren
    August 22, 2011 at 11:59 am /

    Trying to update it using Magento Connect.
    It’s saying this:
    downloading MageBase_DpsPaymentExpress-1.1.17.tgz …

    Doesn’t that mean it’s still on 1.1.17, whereas it should be downloading 1.2.1 (I’m on Magento 1.4.1, so am using the V1.0 Magento Connect key)

    I also have a problem with it not being able to create a directory.
    ERROR: failed to mkdir [hidden]/shop/httpdocs/app/design/adminhtml/default/default/template/magebase/dps/pxpay/pdf

  25. Darren
    August 22, 2011 at 1:33 pm /

    OK, one issue solved: you have to go to ‘releases’ to get the right version – not that intuitive seeing as it only says that next to the v1.3 info, not v1.4

    I still have the issue of not being able to create a directory. Is this because it already exists?
    Do I have to uninstall the existing extension first? (Don’t want to do this because it would mean I can’t take orders if I then can’t either install the new version or reinstall the old one).

  26. Kristof Ringleff
    August 22, 2011 at 2:31 pm /

    @JP – was planning to release as stable before then. So far I had no reports on the beta (good or bad) so am assuming that no issues were encountered.

    @Darren – if you use the key without version it will automatically find the last version within your preferred stability. Since you’ll likely have it as “stable” it installs the 1.1.17 version. For the mkdir error see Robert’s response above.

  27. Mitchell
    August 24, 2011 at 3:58 pm /

    Hi guys, presumably I can change to inside\Model\Method ?

    Is is it a little more complicated/more places to update than that?



  28. Kristof Ringleff
    August 30, 2011 at 2:14 am /

    I have added new releases, marked as stable, with the new urls. Get them here:

  29. Tony
    October 17, 2011 at 6:02 pm /

    Hi there, this extension looks really neat. Just wondering if it is tested under 1.6? Cheers, Tony

  30. adam
    November 26, 2011 at 12:37 am /

    Hey just like tony i am curious to know if this works with 1.6 cheerz, adam

  31. Darren
    November 26, 2011 at 10:20 am /

    I’m using it fine on which is running the very latest stable version.

  32. MikeD
    December 2, 2011 at 4:14 pm /

    I know that the MageBase payment express extension (PxPay) is not set up for handling a multiple address checkout in Magento, right?

    But before I look into this any further I was wondering if it was developed this way because it would not work with DPS, or if it would be possible, if we had a PHP developer familiar with DPS, to add the functionality to process multiple address orders to DPS?


    1. Kristof Ringleff
      December 2, 2011 at 4:26 pm /

      While I am not saying it would not work all Magento 3rd party payment methods that I have come across don’t work with the Multi-Address Checkout. Happy to be proven wrong though – so please do submit a patch if you implement it.

  33. Darren
    December 20, 2011 at 12:46 pm /

    All my credit card orders are coming through as ‘cancelled’ even though DPS has taken the money and put it in our account. Anyone know why this would be happening?
    I’m using with v1.2.3 of this plugin.
    I don’t think we’ve changed anything recently.

  34. Darren
    December 20, 2011 at 2:15 pm /

    That worked – we implemented the rounding error fix for prices and that’s what had happened.
    Shipping costs are already set to 2 digits, so I implemented your fix above and it’s now fine again. Thanks heaps for that. I hope you and Leanne have a great Xmas.

  35. Darren
    December 20, 2011 at 2:23 pm /

    99% fixed. I now can’t cancel orders, but I’ll look into that later! 🙂

  36. Darren
    December 20, 2011 at 2:34 pm /

    Ah, of course – the orders that failed weren’t invoiced. That makes sense. All sorted now.

  37. Dan
    December 23, 2011 at 9:35 am /

    Hi Robert,
    Can you please advise if this DPS extension runs on Magento 1.6?

    Just that the MagentoConnect site says only up to 1.5.


  38. Darren
    December 23, 2011 at 9:54 am /

    I’m running it on and and it’s fine.

  39. Dan
    December 23, 2011 at 9:58 am /

    Thanks Darren, I’ll give it a shot since I am looking to setup a new store.

  40. Richard
    January 25, 2012 at 4:07 pm /

    After a succesful payment using the PXPay method, the Order Status is set as ‘Pending Payment’ and never changes. Looking at the config page in Maneto Admin it looks like it is supposed to change to ‘Processing’ upon receiving a successful payment confirmation but this never seems to happen. Any ideas anyone?

  41. Kristof Ringleff
    January 25, 2012 at 4:29 pm /

    @Richard yes this should update. You need to make sure that DPS can reach your site. Additionally things like php suhosin can prevent the response to be read. Check the troubleshooting guide to work out what is happening or not happening.

  42. Richard
    January 25, 2012 at 5:03 pm /

    Robert, thank you, yes that was the problem. There was what appeared to a valid reponse from DPS in the debugging table which I guess indicated to me communication with DPS was OK even when it wasn’t. Thanks again guys!

  43. Matt
    February 22, 2012 at 1:41 pm /

    Hi All,

    Great extension,works well in 1.4x, 1.5x and 1.6x for me

    If a customer on PxPay goes through to the DPS hosted page and for whatever reasons bails out at that point, the transaction is marked as “Pending Payment – DPS”

    Q1. In this scenario, from my tests, inventory has been reduced until the transaction is cancelled, am I correct ?
    Q2. How would one after a timeout period of say 10 minutes automatically change order status from “Pending Payment (DPS)” to “cancelled” and thereby returning stock to inventory etc ?
    I’m thinking a little code based on a cron job unless there are better suggestions ?

    Help appreciated,


  44. Lance
    February 29, 2012 at 7:18 pm /

    Hi, thanks for the extension. I’m having a strange problem.

    When a payment fails and the user is redirected (from DPS hosted) back to the website an order has been created in the backend with a cancelled status. If the user then decides to try the payment again and the payment is successful the order status isn’t updated, no invoice is created or email sent.

    Anyone else having this problem or know why an order is created for a failed transaction?


  45. Murray
    March 13, 2012 at 11:56 am /


    Looking at converting our Web cart to Magento go due to functionality etc. Have configured the shipping system but currently use DPS to handle our credit cards. Is there an option to use DPS on Magento Go

  46. Raf
    April 20, 2012 at 10:02 am /


    I have problem with this extension. Was working perfect (works on my other sites) but couple days ago problem have appear: Clicking “Place order” (after checking DPS payment) – gets back to shopping cart. other payments methods works fine. I now it is no extension problem – but maybe you have any suggestions. I havent install anything new, no changes what so ever. Reinstallation haven’t helped.

    Can you help?


  47. Chris
    May 3, 2012 at 1:35 pm /

    Wonderful extension thanks for all the hard work.

    I see in the comments dated 2010 there was mention of intergrating the DPS extension to the recuring payments model offered in 1.4 and supported by DPS. Does the extension support recuring payments and subscriptions? I seem to be getting more and more clients asking for subscription based payments. Here is hoping.

    Cheers Chris

  48. Richard
    May 14, 2012 at 4:44 pm /

    I have this extension and have noticed when manually creating an order in the admin window and selecting DPS as the payment method, that I cannot get the order status to move from ‘Pending Payment’ even after I choose to invoice the order. It appears to be waiting for some recognition from DPS that the payment has been made but obviously I can’t do this for manual orders.

    Any ideas?



    1. Daniel
      May 14, 2012 at 7:05 pm /

      We have the same problem.
      We created an observer that listen for the sales_order_invoice_pay event.

         /* method that changes the sate of manually invoiced orders */
          function manualInvoiceAction(Varien_Event_Observer $event) {
              $order = $event->getEvent()->getInvoice()->getOrder();// get the order
              $payment = $order->getPayment()->getMethodInstance();// retrieve method instance
             // Check to make sure we are only changing the state on orders that use the magebase pxpay payment method and that the state is pending. 
              if($payment instanceof MageBase_DpsPaymentExpress_Model_Method_Pxpay && $order->getState() == Mage_Sales_Model_Order::STATE_PENDING_PAYMENT){
                   $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, Mage::getStoreConfig('payment/magebasedpspxpay/order_status'), '');
                  // Optional. sends the customer a notification email uncomment below if you want to use. Should make this check the confi 
                  // $order->sendNewOrderEmail();
                  // $order->setEmailSent(true);
                   // $order->save();

      We haven’t rolled this live yet as it hasn’t been full tested.

      1. Daniel
        May 14, 2012 at 7:12 pm /

        *Sorry I submitted before i’d finished and proofed
        *fully tested

        @Robert and @Kristoff
        Do you guys think this is a robust solution ??

        If not any ideas ?


  49. Richard
    May 21, 2012 at 10:38 am /

    This scenario happens quite often for us. If a customer has placed an order through our site via dps, and for some reason we have shipped the incorrect product or the customer wants to change their order, we credit their old order and create a new order in the admin panel. Currently we have to select either finance or direct credit as a payment type (the two other payment methods we have) for the new amended order which is confusing for our customer given that it appears on their new order confirmation and invoice. On occasion, we also get a customer who prefers to make an order over the phone and give us their credit card number which means we have to select either direct credit or finance as the payment type even though we manually process their payment via dps. I will get out developer to look at the above observer method but it may be worth looking at this issue more closely and seeing if there is a more permanent solution for the users of this extension…

Comments are closed, but trackbacks and pingbacks are open.