Как мобильное приложение, как FoodPanda хранит информацию о карте? [закрытый]
Я изучаю доступные варианты хранения информации о картах и думаю, что мобильные приложения, такие как FoodPanda, на самом деле не хранят полную информацию о картах в своей базе данных. Используют ли они сторонние сервисы для хранения информации о карте и осуществления платежей?
Делает Authorized.net например, предоставлять такие услуги для хранения информации о карте и совершать транзакции, когда идентификатор карты предоставляется для совершения платежа?
2 ответа:
Большинство приложений/веб-сайтов не могут хранить информацию о картах из-заограничений соответствия PCI , которые требуютсоответствия QSA SAQ для хранения полных номеров кредитных карт.
Большинство платежных шлюзов предоставляют альтернативу хранению информации о карте, которая называется Карточный свод. Card Vaulting позволяет приложению / веб-сайту отправлять зашифрованные данные кредитной карты, которые хранятся в базе данных платежного шлюза.
Autorize.net звонки эта функция профили клиентов.
Обычно, когда возвращающийся покупатель хочет сделать заказ, приложение / веб-сайт запрашивает список всех кредитных карт, связанных с этим покупателем. Полученные данные не содержат полной информации о кредитной карте, но содержат только последние четыре цифры карты и марку карты. Autorize.net API позволяет извлекать эти профили платежей клиентов, возвращая только разрешенные данные в ответе (Get Customer Документация API платежного профиля):<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>
Обратите внимание, как возвращаются данные кредитной карты:
<creditCard> <cardNumber>XXXX1111</cardNumber> <expirationDate>XXXX</expirationDate> </creditCard>
Вам придется спросить FoodPanda, что они делают, так как мы не будем знать. Многие компании хранят данные кредитных карт, несмотря на риски и количество усилий, необходимых для их защиты.
Authorize.Net предлагает услугу под названием Customer Information Manager, которая позволяет компаниям хранить данные кредитных карт на своих серверах в качестве платежного профиля (они также предлагают сохранение платежных и почтовых адресов). Затем вам предоставляется идентификатор платежного профиля, на который вы можете ссылаться в будущем операции. Поэтому, когда вы хотите произвести оплату по этой кредитной карте, вы просто предоставляете Authorize.Net с идентификатором платежного профиля, и они будут взимать эту кредитную карту.