Kreditkarteninformationen speichern

8

Ich weiß also, dass es zahlreiche Beiträge zum Speichern von Kreditkarteninformationen gab. Wir erstellen eine mobile Anwendung und möchten, dass Benutzer ihre Karteninformationen einmal eingeben können, nicht bei jedem Kauf.

Wir haben uns Authorize.net CIM angesehen und es scheint eine ideale Lösung zu sein (wir speichern Sie einfach eine Profil-ID oder ein Token, das die Kreditkartennummer zurückgibt) ... aber es könnte unsere Bedürfnisse nicht erfüllen, da die Kreditkarteninformationen nicht (unbedingt) von authorize.net verarbeitet werden, sondern von jedem Händlerkonto, das wir senden die Zahlung auch. Mit anderen Worten, wir möchten die Kreditkarteninformationen wie eine Brieftasche speichern ... nicht unbedingt jedes Mal mit Authorize.net verarbeiten.

Beim Lesen der CIM-XML-Dokumentation (S.94) sieht es so aus, als ob getCustomerPaymentProfileResponse die Kreditkartenrückgabe maskiert Daten ... also sehe ich nicht, wie das für die Verarbeitung nützlich wäre, wenn die Daten maskiert sind?

Wir haben einige andere Optionen für die Implementierung, aber ich hatte wirklich gehofft, eine webbasierte Möglichkeit für Kunden zu haben, ihre Zahlungskonten zu verwalten. Kennt jemand irgendwelche Möglichkeiten, um Kreditkartendaten zu speichern, die bei Bedarf an den Prozessor eines bestimmten Händlers weitergeleitet werden können?

EDIT 4.28.2011 - Ich stoße damit auf eine Wand. Was, wenn wir die Kreditkartendaten überhaupt nicht speichern, Kunden eingeben und dann weitergeben ... wie machen wir das sicher? Nicht speichern, HTTPS weitergeben, Kartendaten während des Transports verschlüsseln?

    
Nick 27.04.2011, 17:11
quelle

3 Antworten

8

Leider gibt es keinen einfachen Weg, dies zu erreichen.

Wie Sie wissen, werden die Zahlungsdienstanbieter die Kartendetails sicher speichern und eine Token-ID zurückgeben (so dass Sie auf diese Details verweisen können), aber sie können die ursprünglichen Kartendetails niemals an Sie zurückgeben.

Dies liegt daran, dass das PSP die PCI-DSS-Compliance durchlaufen hat. Ein Teil dieser Konformität besteht darin sicherzustellen, dass überall, wo die Kartendetails weitergegeben werden (z. B. an Dritte), auch PCI-DSS-konform ist. Wenn sie die Rückgabe von Kartendetails vom Tresor an den Client erlauben würden, müssten sie sicherstellen, dass der Client auch PCI-DSS-konform ist (was den Punkt des Clients ziemlich besiegen würde) mit einem Payment Service Provider!).

Ihre Optionen sind daher:
 - Führen Sie die PCI-DSS-Konformität durch, damit Sie die Kartendetails sicher speichern können.
 - Speichern Sie die Kartendetails bei jedem Zahlungsdienstanbieter, mit dem Sie zusammenarbeiten, und speichern Sie die zurückgegebenen Token von jedem.

    
PaulG 28.04.2011, 10:20
quelle
3

Streifen macht so etwas. Sie verarbeiten die Kartendetails, ohne sie jemals speichern zu müssen, und geben Ihnen ein Token zurück, das die Kreditkarte darstellt. Sie können dann:

  • macht entweder eine einmalige Gebühr, ODER
  • speichere als "Kunde" und rechne dann in der Zukunft, entweder nach Bedarf oder auf automatisch wiederkehrende Weise

Es gibt einen guten RailsCast für die Abrechnung mit Stripe, der sich lohnt. Sehr entwicklungsfreundlich.

    
joseph.hainline 31.01.2013 04:08
quelle
1

Bearbeiten
Ich habe gerade festgestellt, Authorize.Net CIM ist eine Art Tokenization-Service. Das meiste weißt du wahrscheinlich. Ich werde die Post hier aber verlassen - es ist vielleicht nützlich für jemand anderen.

Wenn diese Händler / Anbieter bereit sind, ihre API zu ändern, würde ich in die Tokenisierung von Karten schauen. Diese Funktion wird von einigen Prozessoren angeboten, mit denen Sie Zahlungen ohne Kartennummer tätigen können. Die Funktionsweise ist bei der ersten Transaktion, die der Benutzer seine Karteninformation an den Prozessor übergibt, die ein Token an den Händler zurückgibt, der die Karteninhaberdaten für diesen Benutzer & amp; Händler, und die Kartendaten des Benutzers werden intern vom Prozessor gespeichert.

Sie könnten diese Token dann speichern und an die Zahlungsanwendungen des Anbieters übergeben, die sie wiederum zur Verarbeitung der Transaktionen verwenden würden. Ich nehme an, dass diese Token für einen bestimmten Händler einzigartig sind, also müssten Sie wahrscheinlich einen Token pro Anbieter / Händler für einen bestimmten Benutzer speichern.

Es gibt vielleicht eine Regel darüber, wo der Verkäufer / Händler keine Token vervielfältigen oder sie auf andere Weise von Dritten erhalten kann. Wenn dies der Fall ist, könnten Ihre Lieferanten ein neues Token / Guid bereitstellen, das dem intern gespeicherten Token zur Verwendung mit ihrem Kartenprozessor zugeordnet wird ...

Google - Kreditkarten-Tokenisierung

PCI-Standards

PCI-DSS ist kein Witz, und während diese Händler / Verkäufer technisch nicht ihrem Prozessor mitteilen müssen, dass Ihre Anwendung Kartennummern speichert, aber wenn sie offen legen, könnte es chaotisch werden. Eines von zwei Dingen könnte passieren:

  • Der Anbieter könnte gezwungen sein zu verhindern, dass Ihre Anwendung die API verwendet
  • Ihre Anwendung müsste eine PCI-Zertifizierung durchlaufen
HAL9000 27.04.2011 19:03
quelle