像FoodPanda这样的移动应用程序如何存储卡信息?



我正在研究存储卡信息的可用选项,我认为像FoodPanda这样的移动应用程序并没有真正将完整的卡信息存储在他们的数据库中。他们是否使用第三方服务来存储卡信息并进行付款?

例如,Authorized.net 是否提供此类服务来存储卡信息并在提供卡ID进行付款时进行交易?

你得问问FoodPanda他们是做什么的,因为我们不知道。许多公司存储信用卡数据,尽管存在风险和努力来保护它。

Authorize.Net 提供一项名为客户信息管理器的服务,该服务允许企业在其服务器上存储信用卡详细信息作为付款资料(他们还提供节省的账单和邮寄地址)。然后,您将获得一个付款配置文件 ID,您可以在将来的交易中参考该 ID。因此,当您想使用该信用卡付款时,您只需向 Authorize.Net 提供付款资料 ID,他们就会从该信用卡中扣款。

由于 PCI 合规性限制,大多数应用程序/网站不允许存储卡信息,这些限制需要符合 QSA SAQ 才能存储完整的信用卡号。

大多数支付网关允许存储卡信息的替代方法,称为卡保险库。卡保险存储允许应用程序/网站发送存储在支付网关数据库中的加密信用卡数据。

Autorize.net 将此功能称为客户配置文件。

通常,当回头客想要下订单时,应用程序/网站会请求与该购物者关联的所有保险卡的列表。检索到的数据不包含完整的信用卡信息,但仅包含卡的最后四位数字和卡品牌。Autorize.net API 允许检索这些客户付款配置文件,同时仅返回响应中允许的数据(获取客户付款配置文件 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>

最新更新