Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


These support forums are now closed for new topics and comments.
Please head on over to http://eureka.ucommerce.net/ for support.

  • Simon Osborne 108 posts 150 karma points
    Oct 04, 2011 @ 11:17
    Simon Osborne
    0

    SagePay not updating order status

    Somewhat related to the my previous post but despite SagePay successfully contacting PaymentProcessor.axd to get the RedirectionUrl the status of the order does not get updated in the uCommerce Orders table to Paid.

    Sagepay indicated that they provide the order success status to my callback url when requesting the redirectionUrl, which is strange because SagePay is recieving the redirectionUrl and redirecting the customer correctly.

    There also seems to be no errors in the UmbracoLog.

    Thanks in advance for any help.

  • Søren Spelling Lund 1797 posts 2786 karma points
    Oct 04, 2011 @ 20:58
    Søren Spelling Lund
    0

    Make sure that you've got the Checkout pipeline configured as part of your SagePay payment method. If it's not only the status of the payment in question gets updated (To "Authorized"). You can verify that this happens by taking a look at field PaymentStatusId in the table uCommerce_Payment. It should read 10000002 once payment is accepted by SagePay.

  • Simon Osborne 108 posts 150 karma points
    Oct 05, 2011 @ 09:17
    Simon Osborne
    0

    It look like the Checkout Pipeline is configured correctly in the SagePay settings:

    In the uCommerce_Payment table the status of all test transactions is 10000003:

    58 SecurityKey=GWTGCXE9CG,VPSTxId={C8F9A119-E024-CC8B-545D-F42671AD0ECC},TxAuthNo=1758063 SagePay 04/10/2011 14:19:22 10 0.0000 0.0000 10000003 23.4000 203 0.0000 Reference-53

     

    Thanks,

    Simon

  • Søren Spelling Lund 1797 posts 2786 karma points
    Oct 06, 2011 @ 15:28
    Søren Spelling Lund
    0

    For some reason my reply did not get posted yesterday.

    I just noticed that you're using instant acquire. By default uCommmerce will only update the payment status (which it does correctly as per your screenshot), but order status will be set to "New Order" regardless of payment status as our default model for payments is a two-phase approach with an initial authorization and a later acquire when the items are shipped to the customer.

    You can set any order status you want in the checkout pipeline by adding a custom task:uCommerce Pipelines Explained. Be sure to add the new task after the "ConvertBasketToOrder" step.

    Changing order status is done by using the IOrderService like so:

    var orderService = ObjectFactory.Instance.Resolve<IOrderService>();
    orderService.ChangeStatus(myPurchaseOrder, OrderStatus.Get((int) OrderStatusCode.Paid); 

    Hope this helps.

  • Simon Osborne 108 posts 150 karma points
    Oct 11, 2011 @ 09:05
    Simon Osborne
    0

    I have implemented a custom pipeline task to change the status and am firing it from xslt on the success page.

    Thanks for the help.

Please Sign in or register to post replies

Write your reply to:

Draft