Som nämnts ovan, lagra inte kreditkortsinformation i en databas. Det är ett recept på bråk. Om du gör det kommer du att göra dig till ett mycket attraktivt mål för hackare och, om de lyckas hitta dem, avsluta ditt företag och potentiellt förstöra ditt liv såväl som livet för dem vars kreditkortsnummer är stulna.
Med det sagt, här är tre saker att tänka på:
1) Det bästa är att använda en betalningsprocessor/betalningsgateway som erbjuder återkommande fakturering. Ett exempel på detta är Authorize.Nets automatiska återkommande fakturering service. När du väl har skapat prenumerationen kommer de automatiskt att fakturera användaren varje månad åt dig automatiskt och meddela dig resultatet av transaktionen. Det sparar dig massor av arbete och befriar dig från ansvaret för att lagra kreditkortsinformation.
2) Om du lagrar kreditkortsnummer måste du följa PCI-riktlinjer . Dessa riktlinjer är fastställda av betalkortsbranschen och definierar vad du får och inte får göra. Den definierar också hur kreditkortsinformation ska lagras. Du kommer att behöva kryptera kreditkortsnumren och du bör, men är inte skyldig att, kryptera relaterad information (utgångsdatum, etc). Du kommer också att krävas för att säkerställa att din webbserver och ditt nätverk är säkra. Om du misslyckas med att uppfylla PCI-efterlevnaden kommer du att förlora ditt säljarkonto och förbjudas från att ha ett riktigt handelskonto för alltid. Det skulle begränsa dig till att använda tredjepartsprocessorer som är mindre flexibla. Tänk på att PCI-riktlinjer är en bra början men knappast ett "hur man gör" när det kommer till onlinesäkerhet. Ditt mål skulle vara att överträffa rekommendationen (med mycket).
3) Stats- och landsspecifika lagar ersätter PCI-efterlevnad. Om du råkar ut för ett intrång och kreditkortsnummer stjäls riskerar du åtal. Lagarna varierar från stat till stat och är ständigt i förändring eftersom lagstiftare bara har börjat inse hur allvarligt det här är.
När det gäller kryptering se till att du läser på vilka krypteringsalgoritmer som är säkra och inte har brutits ännu. Blowfish är en bra början och om du använder PHP mcrypt-biblioteket rekommenderas (exempel ).