2017-05-15 1 views
2

Ich untersuche die verfügbaren Optionen zum Speichern von Karteninformationen und ich denke, dass mobile Apps wie FoodPanda die vollständigen Karteninformationen nicht wirklich in ihrer Datenbank speichern. Verwenden sie Dienste von Drittanbietern, um die Karteninformationen zu speichern und Zahlungen zu tätigen?Wie speichert eine mobile App wie FoodPanda Karteninformationen?

Bietet Authorized.net zum Beispiel solche Dienste an, um Karteninformationen zu speichern und eine Transaktion durchzuführen, wenn die Karten-ID zur Zahlung bereitgestellt wird?

Antwort

1

Die meisten Apps/Websites dürfen aufgrund von PCI compliance restrictions keine Karteninformationen speichern, die eine QSA SAQ compliance erfordern, um die vollständigen Kreditkartennummern zu speichern.

Die meisten Zahlungsgateways ermöglichen eine Alternative zum Speichern von Karteninformationen, die Card Vaulting genannt wird. Mit Card Vaulting kann eine Anwendung/Website verschlüsselte Kreditkartendaten senden, die in der Payment Gateway DB gespeichert sind.

Autorize.net ruft diese Funktion Customer Profiles auf.

Wenn ein zurückkehrender Käufer eine Bestellung aufgeben möchte, fordert die Anwendung/Website normalerweise die Liste aller gewölbten Kreditkarten an, die diesem Käufer zugeordnet sind. Die abgerufenen Daten enthalten keine vollständigen Kreditkarteninformationen, sondern nur die letzten vier Ziffern der Karte und die Kartenmarke. Autorize.net API ermöglicht das Abrufen dieser Kundenzahlungsprofile während der Rückkehr nur die erlaubten Daten in der Antwort (Get Customer Payment Profile API Documentation):

<getCustomerPaymentProfileResponse xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
     <messages> 
      <resultCode>Ok</resultCode> 
      <message> 
      <code>I00001</code> 
      <text>Successful.</text> 
      </message> 
     </messages> 
     <paymentProfile> 
      <customerType>individual</customerType> 
      <billTo> 
      <firstName>John</firstName> 
      <lastName>Smith</lastName> 
      </billTo> 
      <customerProfileId>39598611</customerProfileId> 
      <customerPaymentProfileId>35936989</customerPaymentProfileId> 
      <payment> 
      <creditCard> 
       <cardNumber>XXXX1111</cardNumber> 
       <expirationDate>XXXX</expirationDate> 
      </creditCard> 
      </payment> 
      <subscriptionIds> 
      <subscriptionId>3078153</subscriptionId> 
      <subscriptionId>3078154</subscriptionId> 
      </subscriptionIds> 
     </paymentProfile> 
</getCustomerPaymentProfileResponse> 

Beachten Sie, wie die Kreditkartendaten zurückgegeben:

  <creditCard> 
      <cardNumber>XXXX1111</cardNumber> 
      <expirationDate>XXXX</expirationDate> 
     </creditCard> 
+1

Danke für die detaillierte Erklärung! Es ist wirklich nützlich für mich und ich werde in diese Richtung schauen. – Norman

2

Sie müssten FoodPanda fragen, was sie tun, wie wir nicht wissen werden. Viele Unternehmen speichern Kreditkartendaten trotz der Risiken und des Aufwands, um es zu sichern.

Authorize.Net bietet einen Dienst namens Customer Information Manager, der es Unternehmen ermöglicht, Kreditkartendetails auf ihren Servern als Zahlungsprofil zu speichern (sie bieten auch Rechnungs- und Postanschriften). Sie erhalten dann eine Zahlungsprofil-ID, auf die Sie in zukünftigen Transaktionen verweisen können. Wenn Sie also eine Zahlung mit dieser Kreditkarte tätigen möchten, stellen Sie Authorize.Net einfach eine Zahlungsprofil-ID zur Verfügung und diese Kreditkarte wird belastet.

+0

Vielen Dank für die Informationen und es hat mir wirklich geholfen! – Norman