2010-09-20 12 views
9

Buduję aplikację, która musi akceptować płatności kartą kredytową z czymś takim jak active merchant. Jeśli chodzi o bezpieczeństwo, czy można go używać pod numerem heroku i używać authorize.net (lub podobnej) jako bramy płatności?Czy możliwe jest dokonywanie płatności kartą kredytową z serwera heroku za pomocą funkcji activemerchant?

Co zrobić, jeśli trzeba przechowywać numery kart kredytowych?

Edit

nie byłoby przekazywanie użytkownikom authorize.net.

Odpowiedz

4

Prosta odpowiedź brzmi: tak, tak sądzę, ale poza tym to zależy.

Można ustawić zmienne środowiskowe dla różnych kluczy i innych wartości związanych z usługą strony trzeciej (http://docs.heroku.com/config-vars) lub po prostu je sprawdzić i wdrożyć.

Jeśli korzystasz z hostowanej usługi płatności dla authorize.net i przekazujesz do ich witryny, nie potrzebujesz ssl. Jeśli będziesz hostował formularz, w którym są przesyłane numery kart kredytowych i dane osobowe, a następnie przekazujesz to do authorize.net za pośrednictwem swojego API na serwerze, musisz skonfigurować ssl dla heroku (http://docs.heroku.com/ssl), aby Twój formularz był bezpieczny.

Jedną rzeczą jest akceptowanie płatności kartami kredytowymi i przekazywanie jej, to kolejne, aby zapisać numery kart kredytowych i inne prywatne informacje. Bez wskazywania na różne dokumenty dotyczące standardów bezpieczeństwa (np. Zastosowanie PCI DSS), powiem po prostu, że jeśli absolutnie nie musisz, nie przechowuj numerów CC i powiązanych informacji osobistych, tylko przesyłaj dalej do bramy i upewnij się, że nie jesteś logowanie tych pól (http://guides.rubyonrails.org/security.html#logging). Jeśli chcesz przechowywać dane z karty kredytowej, myślę, że musisz mieć większą kontrolę nad bazą danych i serwerem, aby osiągnąć zgodność z przepisami, i nie znam ogólnego hosta w chmurze takiego jak AWS lub heroku, z którego możesz korzystać i robić to (być może jakiś inny użytkownik SO poprawi mnie). Korzystanie z bramki płatniczej, takiej jak Authorize.net, może cię tam zabrać.

Podkreślę również, że różne stany mają teraz prawa dotyczące przechowywania poufnych danych (np. MA, gdzie mieszkam), a więc kolejny powód, aby tego unikać, chyba że jest to niezbędne dla twojego modelu biznesowego.

Dla nieco przestarzały, ale dobrej dyskusji ogólnej zgodności PCI, spójrz tutaj: http://broadcast.oreilly.com/2009/02/pci-in-the-cloud.html

+0

„Jeśli musisz do przekazania danych karty kredytowej” masz na myśli „przechowywać dane karty kredytowej”? – James

+1

tak, miałem na myśli odpowiedź edytowaną w sklepie. Dzięki. –

+0

Jestem ciekawy - większość bramek płatności wymaga adresów IP dla serwera. Jak to działa w przypadku aplikacji hostowanych przez heroku, ponieważ wszystkie mają ten sam rekord A (proxy.heroku.com). –

Powiązane problemy