2

支払い用に新しい Balanced API を実装しており、モバイル (ネイティブ) アプリに配置することを考え始めています。

クレジット カード情報をサーバーに直接送信するための JavaScript ライブラリがあるようです。明らかに、支払い情報がサーバー (PCI) を通過することは望ましくありません。また、API キー/シークレットをアプリに含めたくありません。

では、モバイル アプリでクレジット カード情報を処理する最善の方法は何でしょうか?

4

1 に答える 1

2

アップデート


スマートフォン用に書いているので、balanced.js を使用せずにカードをトークン化するために直接 Balanced に RESTful API 呼び出しを行うことができるはずです。

カードと銀行口座のエンドポイントは、これらのリソースをトークン化するための認証を必要としないため、アプリに API キーを含めることを心配する必要はありません。ドキュメントには、カードをトークン化する方法が説明されていますが、さらに詳しく説明しましょう。

TL;DR

card_uriモバイル アプリからマーケットプレイスに関連付けられているまたはに直接 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 に答える