2

我正在为支付实现新的 Balanced API,并开始考虑将其放在我们的移动(本机)应用程序上。

我看到他们有一个 javascript 库,用于将信用卡信息直接发送到他们的服务器。我显然不希望支付信息通过我们的服务器 (PCI),并且我不想在应用程序中包含我的 API 密钥/秘密。

那么在我们的移动应用程序上处理信用卡信息的最佳方式是什么?

4

1 回答 1

2

更新


由于您正在为智能手机编写代码,因此您应该能够直接对 Balanced 进行 RESTful API 调用以对卡进行标记,而无需使用 balance.js。

卡和银行账户端点不需要身份验证来标记这些资源,因此您无需担心在应用程序中包含任何 API 密钥。该文档解释了如何标记卡,但让我更详细地解释它:

TL;博士

直接从您的移动应用程序向与您的 Marketplace 关联的card_urior进行 POST bank_account_uri,它将返回包含标记化资源的 URI 的响应。

例子

如果您的 Marketplace 的 URI 是,/v1/marketplaces/M123-456-7890那么流程将如下所示:

在客户端

您通过的有效负载应如下所示:

{
    "card_number": "5105105105105100",
    "expiration_month": "01",
    "expiration_year": "2020",
    "security_code": "123"
}

然后应该像这样提交

POST /v1/marketplaces/M123-456-7890/cards

响应将类似于:

{
  "brand": "visa",
  "name": null, 
  "expiration_year": 2020, 
  "uri": "/v1/marketplaces/TEST-MP991-204-5261/cards/CCfc1596189e0911e18ba9024f5cb9b783", 
  "expiration_month": 12, 
  "state": "new", 
  "last_four": 5100, 
  "address": null
}

然后客户端只需要将uri响应返回到您的服务器,在服务器上您可以将卡与用户的帐户相关联。

在服务器上

要将卡的 URI 与现有帐户相关联,您可以使用PUT作为参数传递的卡的 URI 向帐户的 URI 发出请求,称为card_uri. 如果您要创建一个新帐户,请使用用户的电子邮件地址访问POST市场。accounts_uri

您要注意的是,您不要在设备上记录用户card_numbersecurity_code任何调试日志,因为这会将设备带入 PCI 范围,并且如果他们的手机受到损害,可能会很糟糕。

于 2012-05-22T01:51:09.447 回答