I've followed the steps to enable sagepay in the documentation how ever i'm not sure at what point redirection to payment is supposed to take place (or where this is implemented). Right now it ends with 'pipeline executed successfully' and the order appears in the backend, but at no point is any payment page shown... any idea what could be missing
You need to issue a call to CommerLibrary:RequestPayments() at some point before checkout. That will take the customer to the payment gateway pages for creditcard processing.
Also in this model you don't want to use CommerceLibrary:Checkout() as that should happen once the "OK" callback is received from the payment gateway. You can configure your payment method to automatically execute the checkout pipeline for you.
Another note: It's important to ensure that SagePay can access your site from the outside as the "OK" callback is an actual web request executed from their server to your's.
It wasn't being created properly (the payment) but I have corrected this now and it all works fine.
Once the sagepay server OK's the transaction is there a recommended way to automatically mark an order as paid? I'm not sure on what is the best/recommended practise for handling this.
The simplest way is to set up the checkout pipeline for the payment method. (There's a screenshot of it in this thread). uCommerce will executed the configured pipeline and complete the order for you when the callback is received from SagePay.
I have set the checkout pipeline as in the screenshot.
The order is correctly labelled as paid however it still appears under the 'New Order' folder in the ecommerce section, is this what should be happening?
I notice there are different folders labeled 'Invoiced' 'Paid' etc... I thought that once an order was paid for it would automatically be moved to the 'Paid' folder.
Baskets should be moved to "New Orders" automatically when the checkout pipeline is completed by the ConvertBasketToPurchaseOrder task so your example sounds about right. If you're working with the default provider it should leave the payment in the "Authorized" state.
Orders will never be moved automatically between states from that point on.
I'm having the same problem with SagePay in Umbraco 4.7.2 using uCommerce 2.0.5.0, it doesn't seem to take me to the SagePay portal site, it just says successful.
I was hoping that you could tell me where to place 'CommerceLibrary:RequestPayments()' as you've stated above.
You'll want the call after you display the order overview to the customer and they click to proceed to payment.
The reference XSLT store has an example of it. Also double-check that you configured the SagePay provider on your payment method in the "Service" drop down list.
Sagepay integration
I've followed the steps to enable sagepay in the documentation how ever i'm not sure at what point redirection to payment is supposed to take place (or where this is implemented). Right now it ends with 'pipeline executed successfully' and the order appears in the backend, but at no point is any payment page shown... any idea what could be missing
Hi Colin,
You need to issue a call to CommerLibrary:RequestPayments() at some point before checkout. That will take the customer to the payment gateway pages for creditcard processing.
Also in this model you don't want to use CommerceLibrary:Checkout() as that should happen once the "OK" callback is received from the payment gateway. You can configure your payment method to automatically execute the checkout pipeline for you.
Another note: It's important to ensure that SagePay can access your site from the outside as the "OK" callback is an actual web request executed from their server to your's.
When I call RequestPayments it says 'The payment has been updated', but I still don't get taken to a payment gateway unfortunately.
Was the payment created with the SagePay payment method (and by extension the configured SagePay provider)?
It wasn't being created properly (the payment) but I have corrected this now and it all works fine.
Once the sagepay server OK's the transaction is there a recommended way to automatically mark an order as paid? I'm not sure on what is the best/recommended practise for handling this.
The simplest way is to set up the checkout pipeline for the payment method. (There's a screenshot of it in this thread). uCommerce will executed the configured pipeline and complete the order for you when the callback is received from SagePay.
I have set the checkout pipeline as in the screenshot.
The order is correctly labelled as paid however it still appears under the 'New Order' folder in the ecommerce section, is this what should be happening?
I notice there are different folders labeled 'Invoiced' 'Paid' etc... I thought that once an order was paid for it would automatically be moved to the 'Paid' folder.
Baskets should be moved to "New Orders" automatically when the checkout pipeline is completed by the ConvertBasketToPurchaseOrder task so your example sounds about right. If you're working with the default provider it should leave the payment in the "Authorized" state.
Orders will never be moved automatically between states from that point on.
Hi,
I'm having the same problem with SagePay in Umbraco 4.7.2 using uCommerce 2.0.5.0, it doesn't seem to take me to the SagePay portal site, it just says successful.
I was hoping that you could tell me where to place 'CommerceLibrary:RequestPayments()' as you've stated above.
Thanks in advance!
You'll want the call after you display the order overview to the customer and they click to proceed to payment.
The reference XSLT store has an example of it. Also double-check that you configured the SagePay provider on your payment method in the "Service" drop down list.
is working on a reply...