3

我已经阅读了 PayFort 支付网关的文档。我已经设置项目并完成了与 android SDK 的交易。交易生成和保存卡工作正常。交易成功后(使用记忆卡)响应为

Success Response: {"amount":"XXXX","response_code":"14000","card_number":"400555******0001","card_holder_name":"Test","payment_option":"VISA","expiry_date":"2105","customer_ip":"xxx.xx.xxx.xx","eci":"ECOMMERCE","language":"en","fort_id":"xxxxxxxxxxxxxxxxxx","command":"PURCHASE","response_message":"Success","sdk_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","authorization_code":"xxxxxx","merchant_reference":"xxxxxxxxxxxxx","customer_email":"xxxxx@gmail.com","token_name":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","currency":"SAR","status":"14"}

交易成功后(不记卡)响应为

Success Response: {"amount":"XXXX","response_code":"14000","card_number":"400555******0001","card_holder_name":"Test","payment_option":"VISA","expiry_date":"2105","customer_ip":"xxx.xx.xxx.xx","eci":"ECOMMERCE","language":"en","fort_id":"xxxxxxxxxxxxxxxxxx","command":"PURCHASE","response_message":"Success","sdk_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","authorization_code":"xxxxxx","merchant_reference":"xxxxxxxxxxxxx","customer_email":"xxxxx@gmail.com","currency":"SAR","status":"14"}

只是token_name参数是保存卡响应中的额外响应。现在我的问题是,如果用户保存了他的卡详细信息并想稍后使用,那么如何列出那些已保存的卡列表?我无法在列出所有卡片的文档页面中获得任何休息 api。还有一件事,如果用户想直接支付而不使用该令牌输入卡详细信息,那么使用的参数是什么以及该交易将使用哪个 API?
注意:我可以在我的 payfort 帐户中查看这些卡的详细信息。

4

1 回答 1

1

您将无法真正“看到”或获取卡片详细信息列表。这对Payfort来说是不安全的。您将得到的只是作为响应的屏蔽卡号“400555******0001”以及令牌名称。

你可以做的是:

  1. 将特定用户的这些详细信息保存在您的数据库中。每次在响应中找到新卡时,您可能必须保存一个新卡条目(当用户将不同卡用于不同交易并保持“记住我”设置时会发生这种情况)。
  2. 然后在您的移动 UI 或 Web UI 中,显示带有这些“蒙面”卡号的下拉列表。对于所选卡,仅在您的付款请求中发送“token_name”。

最大的好处是您不必保存卡详细信息并容易受到攻击。相反,只需保留 token_name 并在重定向到 Payfort 时将其预先填写。

于 2019-09-13T08:13:21.310 回答