2010-07-25 2 views
35

Desidero consentire agli utenti dei miei clienti di inserire i dati della loro carta di credito in modo da poterli addebitare ogni mese.Salvataggio delle informazioni della carta di credito nel database MySQL?

Mi chiedo come si dovrebbe salvare questa informazione?

Dovrebbe essere salvato nel database MySQL (tabella "utente") o questo tipo di informazioni è troppo sensibile e deve essere memorizzato in un altro luogo?

Non ho esperienza di questo e sarei felice se qualcuno potesse darmi dei consigli su come farlo.

Grazie.

+18

A seconda delle leggi applicabili al luogo in cui si gestisce la propria attività, potrebbe essere * illegale * memorizzare i numeri delle carte di credito in questo modo. Stai attento, parla con la tua banca e/o con la rappresentanza legale. –

+0

è legale? nella maggior parte dei casi utilizziamo Paypal e Ccavte per la transazione online. se hai memorizzato le informazioni della carta di credito, hai bisogno di maggiore sicurezza su di esse. –

+1

no. (La mia opinione come programmatore e come acquirente.) –

risposta

73

Come accennato in precedenza, non conservare le informazioni della carta di credito in un database. È una ricetta per problemi. Questo ti renderà un obiettivo molto attraente per gli hacker e, se riusciranno a recuperarli, finirà la tua attività e potenzialmente rovinerà la tua vita così come quella di coloro a cui vengono rubati i numeri delle carte di credito.

Detto questo qui ci sono tre cose da considerare:

1) La cosa migliore è quella di utilizzare un gateway processore di pagamento/pagamento che offre la fatturazione ricorrenti. Un esempio di questo è il servizio Authorize.Net's Automated Recurring Billing. Una volta impostato l'abbonamento, verranno automaticamente fatturati all'utente automaticamente ogni mese per te e ti verranno comunicati i risultati della transazione. Ti fa risparmiare un sacco di lavoro e ti solleva dalla responsabilità di memorizzare le informazioni della carta di credito.

2) Se si memorizzano i numeri di carta di credito del negozio, è necessario seguire PCI guidelines. Queste linee guida sono stabilite dal settore delle carte di pagamento e definiscono ciò che puoi o non puoi fare. Definisce inoltre come devono essere archiviate le informazioni della carta di credito. Dovrai crittografare i numeri delle carte di credito e dovresti, ma non sei obbligato a, criptare le informazioni correlate (data di scadenza, ecc.). Ti sarà inoltre richiesto di garantire che il tuo server web e la tua rete siano sicuri. Non riuscendo a soddisfare la conformità PCI si rischia di perdere il tuo account commerciante e di essere bannato dall'avere un vero account commerciante per sempre. Ciò ti limitarebbe a utilizzare processori di terze parti meno flessibili. Tieni presente che le linee guida PCI sono un buon inizio ma difficilmente un "come" quando si tratta di sicurezza online. Il tuo obiettivo sarebbe superare la raccomandazione (di molto).

3) Le leggi degli Stati sostituiscono la conformità PCI. Se subisci una violazione e vengono rubati i numeri delle carte di credito rischi di essere perseguito penalmente. Le leggi variano da stato a stato e sono costantemente in divenire mentre i legislatori stanno appena iniziando a rendersi conto di quanto sia seria la questione.

Per quanto riguarda la crittografia, assicuratevi di aver letto su quali algoritmi di crittografia sono sicuri e non sono ancora stati interrotti. Blowfish è un buon inizio e se si utilizza PHP è consigliato il mcrypt library (example).

+0

Dov'è il posto migliore per trovare le leggi locali? –

+0

Informazioni molto utili John. –

+1

Square.com ha un'API pulita. Memorizzeranno le informazioni della carta in un modo conforme allo standard PCI. – AjaxLeung

15

Il modo più sicuro è quello di NON memorizzare le informazioni della carta di credito sul proprio sistema, ma lasciare che un 3 ° provider di pagamento partito lo faccia per voi.

+0

come? quale? potrei darmi qualche altra informazione –

+0

In questo modo tutti i problemi legali saranno con la terza parte. –

+1

+1 - a meno che il client non sia conforme PCI, www.pcicomplianceguide.org/pcifaqs.php, quindi non farlo. Potresti portare te e il tuo cliente in un mondo di ferite. Utilizza un processore di pagamenti come PayPal (ma le loro tariffe sono oltraggiose), GoogleCart, Authorize.net – gnome

6

Non è necessario utilizzare un fornitore di servizi di pagamento di terze parti come PayPal, ecc., Ma è necessario essere PCI compliant se si desidera memorizzare le informazioni della carta di pagamento. Leggi questo articolo su BC Ferries, who face substantial fines for not keeping up to date with PCI compliance per capire quanto sia serio essere compatibile con PCI.

Il mio attuale datore di lavoro sta seguendo la conformità PCI - non è un processo banale e richiede personale per l'auditing. L'applicazione dipende dalle leggi nazionali e statali/provinciali - Il Canada IIRC richiede che tu sia certificato PCI da un comitato impiegato PCI, mentre alcuni stati negli Stati Uniti consentono alle società di revisione della conformità PCI di servire al posto del comitato PCI.