Как мобильное приложение, такое как FoodPanda, хранит информацию о карте?

Я изучаю доступные варианты хранения информации о карте и думаю, что такое мобильное приложение, как FoodPanda, не хранит полную информацию о карте в своей базе данных. Используют ли они сторонние сервисы для хранения информации о карте и оплаты?

Предоставляет ли Authorized.net, например, такие услуги для хранения информации о карте и осуществления транзакции, когда для платежа указан идентификатор карты?

2 ответа

Решение

Большинству приложений / веб-сайтов не разрешается хранить информацию о карте из-за ограничений соответствия PCI, которые требуют соблюдения QSA SAQ для хранения полных номеров кредитных карт.

Большинство платежных шлюзов предоставляют альтернативу хранению информации о карте, которая называется Card Vaulting. Card Vaulting позволяет приложению / веб-сайту отправлять зашифрованные данные кредитной карты, которые хранятся в БД платежного шлюза.

Autorize.net вызывает эту функцию Профили клиентов.

Обычно, когда возвращающийся покупатель хочет разместить заказ, приложение / веб-сайт запрашивает список всех хранилищ кредитных карт, связанных с этим покупателем. Полученные данные не содержат полной информации о кредитной карте, но содержат только последние четыре цифры карты и только марку карты. API Autorize.net позволяет получать эти профили платежей клиентов, возвращая в ответ только разрешенные данные ( Получить документацию 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 идентификатор профиля платежа, и они будут снимать средства с этой кредитной карты.

Другие вопросы по тегам