PayPal Android SDK
October 21, 2014 · View on GitHub
PayPal Android SDKを使用すると、モバイルアプリにPayPalおよびクレジットカード支払いの機能を簡単に追加できます。
目次
- ユースケース
- PayPalウォレットアプリとの統合
- 要件
- プロジェクトにSDKを追加する
- 認証情報
- 海外サポート
- card.ioカードスキャンの無効化
- テスト
- ドキュメント
- ユーザビリティ
- PayPal Android SDK 2.0への移行
- 次のステップ
1件の支払い(Single Payment)
お客さまのPayPalアカウントまたは(card.ioでスキャンされた)決済カードから即時支払いを受け取ります。
今後の支払い(Future Payments)
お客さまは、一度だけPayPalにログインして今後の支払いに同意します。
- お客さまの同意を得て承認コードを受け取ります。2. ご使用のサーバーで、この承認コードを使用してOAuth2トークンを取得します。
この後、お客さまが支払いを開始すると以下のプロセスに進みます。
- サーバーに渡すアプリケーション相関IDを取得します。
- お使いのサーバーで、OAuth2トークン、アプリケーション相関ID、およびPayPalのAPIを使用して支払いを作成します。
###個人設定の共有
お客さまは、PayPalにログインして、PayPalが貴社と情報を共有することに同意します。
- お客さまの同意を得て承認コードを取得します。2. ご使用のサーバーで、この承認コードを使用してOAuth2トークンを取得します。3. ご使用のサーバーで、OAuth2トークンとPayPalのAPIを使用して、顧客情報を検索します。
PayPalウォレットアプリとの統合
SDKは、デバイスにPayPalウォレットアプリの最新バージョン(Samsung App Storeでのみ入手可能)がインストールされている場合はそれを使用して、お客さまのアカウントにログインするようになります。この機能を有効にするため、追加構成を行う必要はありません。この統合により、Galaxy S5の指紋認証ログインを含む端末固有のPayPal FIDOとの統合が有効になります。さらに、PayPalウォレットアプリにログインして[ログインしたままにする]にチェックを入れたユーザーは、アプリでの支払い時に再度ログインする必要がありません。この機能についての詳細は、PayPalアーキテクトのブログポストを参照してください。
制限
- サポートされるアプリは、Samsung App Storeでのみ入手できます。Google PlayストアのバージョンのPayPalウォレットアプリは、まだこの統合をサポートしていません。* ウォレットアプリはデベロッパーのテスト環境に対応して_いない_ため、統合はテストモードでは無効です。
要件
- Android 2.2またはそれ以降
- card.ioカードスキャニング(armv7デバイスでのみ使用可能)
- 電話またはタブレット
プロジェクトにSDKを追加する
- このrepoをダウンロードまたはコピーします。SDKには、.jar、スタティックライブラリ、リリースノート、ライセンス許諾書が含まれています。サンプルアプリも含まれています。2. SDKの
libsディレクトリのコンテンツを自分のプロジェクトのlibsディレクトリにコピーします。これらのファイルへのパスは重要です。誤りがあるとSDKが機能しません。(注: Gradleを使用している場合は、SDK jarファイルを自分のプロジェクトのlibsディレクトリにコピーして、プロジェクトにライブラリとして追加し、最後に*.soファイルを含むSDKフォルダをsrc/main/jniLibsにコピーしてください)。 acknowledgments.mdから、オープンソースライセンス許諾書を自分のアプリの許諾書に追加します。
認証情報
モバイル統合では、本番用とテスト用(Sandbox)にそれぞれ異なるclient_id値が必要です。
支払いを認証または作成するためのサーバー統合では、各client_idに対応するclient_secretも必要です。
PayPal API認証情報は、PayPalデベロッパーサイトのアプリケーションページを開いて、自分のPayPalアカウントでログインすると入手できます。
Sandbox
このアプリケーションページにログインすると、テスト用認証情報が割り当てられます。これには、PayPal SandboxへのAndroidの統合をテストするためのクライアントIDが含まれています。
アプリのテスト中にSDKのUIでPayPalにログインする場合は、パーソナルSandboxアカウントのメールアドレスとパスワードを使用する必要があります。Sandbox用ビジネスアカウントの認証情報は使いません。
Sandboxアカウントページで、Sandbox用のビジネスアカウントとパーソナルアカウントを作成できます。
本番環境
本番用認証情報を入手するには、ビジネスアカウントが必要です。ビジネスアカウントをまだお持ちでない場合は、同じアプリケーションページの下部にリンクがあり、ここからアカウントを開設できます。
海外サポート
ローカライズ
SDKには、多数の言語およびロケールの翻訳が組み込まれています。完全なリストは、javadocファイルで参照できます。
通貨
SDKでは複数の通貨に対応しています。完全な最新リストは、REST APIの国と通貨に関するドキュメントで参照してください。
クレジットカードとPayPal支払いでは対応通貨が異なりますのでご注意ください。PaymentActivity.EXTRA_SKIP_CREDIT_CARD intent extraを使用してクレジットカード決済の受付けを無効にしない限り、取引を、両方の支払いタイプで対応している通貨に限定することをおすすめします。 現在両方で対応している通貨は、USD、GBP、CAD、EUR、JPYです。
ユーザーが選択した支払いタイプで対応していない通貨を使用してアプリが取引を開始した場合、SDKはユーザーにエラーを表示し、コンソールログにメッセージを出力します。
card.ioによるカードスキャンの無効化
今後の支払いではcard.ioによるカードスキャンが不要なため、カメラスキャナライブラリを削除しておいたほうが安全です。libディレクトリのarmeabi、armeabi-v7a、mips、およびx86の各フォルダを削除します。
1件の支払いは、カードスキャンをせず、手動入力でクレジットカードに対応するよう設定できます。これを行うには、上記と同じライブラリを削除し、AndroidManifest.xmlからandroid.permission.CAMERAとandroid.permission.VIBRATEの許可を削除してください。クレジットカードのサポートを完全に無効にする場合は、上記の手順で許可とSDKのフットプリントを減らし、PayPalConfigurationの初期化に以下を追加してください。
config.acceptCreditCards(false);
テスト
開発中は、PayPalConfigurationオブジェクトでenvironment()を使用して環境を変更してください。実際に資金が移動されないよう、ENVIRONMENT_NO_NETWORKまたはENVIRONMENT_SANDBOXに設定します。
ドキュメント
- 使用方法の概要、統合手順をステップごとに記載した説明書、サンプルコードを含むドキュメントがSDKに用意されています。* このSDKにはサンプルアプリが含まれています。* javadocsが用意されています。* エラーコードとサーバー側の統合手順が記載されたPayPalデベロッパードキュメント。
ユーザビリティ
ユーザーインターフェイスの外観と動作は、ライブラリ内で設定されます。ユーザビリティとユーザーエクスペリエンスの一貫性を保つため、ドキュメントに記載された方法以外でアプリがSDKの動作を変更することはおすすめしません。
PayPal Android SDK 2.0への移行
1.xからのアップグレード
メジャーバージョンの変更として、2.0で導入されるAPIは、1.x統合との下位互換性がありません。ただし、SDKは、1件の支払いについて、これまでのすべての機能を引き続きサポートしています。アップグレードは簡単です。
PayPalPaymentActivityの支払い固有のextra以外のextraの多くはPayPalConfigurationクラスに移動しています。サービススタートアップはそのような構成オブジェクトを取得するよう変更されています。
旧ライブラリ
PayPalは、これまでの「Mobile Payments Libraries」(MPL)から新しいPayPal AndroidおよびiOS SDKに移行中です。 新しいモバイルSDKはPayPal REST APIに基づいています。これまでのMPLはアダプティブペイメントAPIを使用しています。
第三者、並行型、チェーン型の支払いなどの機能が使えるようになるまでは、必要に応じてMPLを使用できます。
MPLに関する問題は、sdk-packages repoに提出してください。
既存のエクスプレス チェックアウトを統合しているデベロッパーまたは追加機能が必要なデベロッパーは、WebViewでモバイルエクスプレス チェックアウトの使用を検討することができます。
次のステップ
ユースケースに応じて、以下が可能です: