PayPal Android SDKを使用すると、モバイルアプリにPayPalおよびクレジットカード支払いの機能を簡単に追加できます。
- ユースケース
- PayPalウォレットアプリとの統合
- 要件
- プロジェクトにSDKを追加する
- 認証情報
- 海外サポート
- card.ioカードスキャンの無効化
- テスト
- ドキュメント
- ユーザビリティ
- PayPal Android SDK 2.0への移行
- 次のステップ
お客さまのPayPalアカウントまたは(card.ioでスキャンされた)決済カードから即時支払いを受け取ります。
お客さまは、一度だけPayPalにログインして今後の支払いに同意します。
- お客さまの同意を得て承認コードを受け取ります。2. ご使用のサーバーで、この承認コードを使用してOAuth2トークンを取得します。
この後、お客さまが支払いを開始すると以下のプロセスに進みます。
- サーバーに渡すアプリケーション相関IDを取得します。
- お使いのサーバーで、OAuth2トークン、アプリケーション相関ID、およびPayPalのAPIを使用して支払いを作成します。
###個人設定の共有
お客さまは、PayPalにログインして、PayPalが貴社と情報を共有することに同意します。
- お客さまの同意を得て承認コードを取得します。2. ご使用のサーバーで、この承認コードを使用してOAuth2トークンを取得します。3. ご使用のサーバーで、OAuth2トークンとPayPalのAPIを使用して、顧客情報を検索します。
SDKは、デバイスにPayPalウォレットアプリの最新バージョン(Samsung App Storeでのみ入手可能)がインストールされている場合はそれを使用して、お客さまのアカウントにログインするようになります。この機能を有効にするため、追加構成を行う必要はありません。この統合により、Galaxy S5の指紋認証ログインを含む端末固有のPayPal FIDOとの統合が有効になります。さらに、PayPalウォレットアプリにログインして[ログインしたままにする]にチェックを入れたユーザーは、アプリでの支払い時に再度ログインする必要がありません。この機能についての詳細は、PayPalアーキテクトのブログポストを参照してください。
- サポートされるアプリは、Samsung App Storeでのみ入手できます。Google PlayストアのバージョンのPayPalウォレットアプリは、まだこの統合をサポートしていません。* ウォレットアプリはデベロッパーのテスト環境に対応して_いない_ため、統合はテストモードでは無効です。
- Android 2.2またはそれ以降
- card.ioカードスキャニング(armv7デバイスでのみ使用可能)
- 電話またはタブレット
- この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アカウントでログインすると入手できます。
このアプリケーションページにログインすると、テスト用認証情報が割り当てられます。これには、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によるカードスキャンが不要なため、カメラスキャナライブラリを削除しておいたほうが安全です。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の動作を変更することはおすすめしません。
メジャーバージョンの変更として、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でモバイルエクスプレス チェックアウトの使用を検討することができます。
ユースケースに応じて、以下が可能です: