[LRUG] Recurring Payments and subscriptions
Daniel Barlow
dan at telent.net
Mon Sep 6 03:09:23 PDT 2010
Lee Irving wrote:
> Hi Marcus,
>
> It was my understanding that if you used the direct method then this
> was classed as storing the creditcard numbers as they pass through
> your systems memory and therefore you got hit by the stricter PCI
> standard. ( having to be hosted on a PCI compliant host etc) You also
> have to be very careful with what goes into your Webserver and
> Application logs.
>
> I find the whole PCI standard is very confusing and different people
> have different takes on it of what you need to do.
Yes, it's a horrible mess. The requirements specify solutions without
actually defining the problems - it's like getting a contributed patch
without the test case or bug report - leaving the implementor to
attempt to guess what particular threat was in the head of the PCI
people when they said you need a DMZ or a virus checker or whatever.
And as different QSAs interpret the rules in different ways, I suspect
the only way to categorically find out what the requirements are is to
get investigated after a cardholder security breach. Which you don't want.
We used to use Sagepay Direct (the API version of Sagepay) until about
12 months ago when our merchant services gave us an immovable deadline
for PCI compliance, and we decided that the easiest and least-hassle
compliance strategy would be to move to SagePay Server. In Server, they
host the payment pages (so card numbers never touch our site) and we
skin them using some really rather ugly XSLT stuff - net effect is that
the customer sees the URL change but the branding remains ours.
Be aware if you have any other routes to accept card payments (e.g. a
call centre or over-the-counter transactions) that they also will fall
within the scope of PCI. You have to consider any computer or device
anywhere in your organisation that cardholder data passes through.
Would I recommend Sagepay? Certainly not strongly, and possibly not at
all, but I haven't yet found an alternative that's sufficiently better
to be worth moving to. They've had a few well-publicised outages, their
support is generally fast for simple questions but not very technically
astute, and the page skinning system involves mailing them a zip file of
the xslt files you want them to apply then waiting 24 hour for them to
install them by hand, which is not exactly "rake install" in its
simplicity. The actual API stuff is just HTTP POSTs - I wouldn't bother
to go looking for libraries because most of the time they are not
well-supported and lag the API version. That said, I was using Perl to
do this work and can't specifically comment on Ruby support
The https://support.sagepay.com/forum/ is a useful resource: have a look
at the Server and Direct subforums for a flavour of the integration work
others have done and/or issues they encountered. There are probably
still a few rants by me in there somewhere ;-)
> From what I could tell if you used Sagepay forms then you were ok as
> you did not take the credit card payments locally, Sage handle that on
> their platform and you never take the card details, and it was this
> scenario that meant that you fell under the less strict version.
>
> I would be glad to be proved wrong on this though.
For Server (which is approximately half API and half forms-based, but
doesnt require you to see cardholder data at any time) my understanding
is that you still need to do the PCI self-assessment questionnaire but
the short version (I think we filled out "C") suffices. It's possibly a
good thing for many businesses as it force them to think about incident
response procedures and data security standards in general.
-dan
More information about the Chat
mailing list