Michael, judging from the post earlier in this thread it hands off the connection to Barclays. I am not sure how relevant it is whether or not this is implemented as a 'service contract' (which incidentally is OpenACS wide not just restricted to ecommerce) because if the connection is handed off, the bulk of the services provided by the service contract will be irrelevant. I suspect that the Barclays site will just return a 'PAID' message to this kind of request, which avoids the need for error handling code within the service contract and within ecommerce.
Although handing off the connection to someone else to do the payment is easy and reduces the complexity of the implementation, it is a bad idea because:
1) Your site is now dependent on their site uptime and reliability (greater load than other systems and requires them to support customisable webserver pages for you).
2) Your user's browser is redirected away from your site and you have no direct control over its return.
3) It is clear to your customer that the payment system is not fully integrated with your site.
4) It is slow.
The beauty of the original idea behind OpenACS payments is that you hold the connection to your user, talk to the payment authorising system behind the scenes. The effect is a seamless payment, fully integrated with your site that takes 1 to 2 seconds to do.
That said, this is the only option available to you without you writing something yourself.
Regards
Richard