PayPal iOS SDKを使用すると、モバイルアプリにPayPalおよびクレジットカード決済の機能を簡単に追加できます。
SDKは、支払いについて1件の支払いと今後の支払いの2つのユースケースを、お客さまに関する情報取得について個人設定の共有のユースケースをサポートしています。
お客さまのPayPalアカウントまたは(card.ioでスキャンされた)決済カードから1回のみ支払いを受け取ります。これは、(1)サーバーがその後に認証する必要がある即時支払い、または(2)サーバーがその後に回収する必要がある支払いの認証、または(3)サーバーがその後に認証および回収する必要がある注文の支払いのいずれかです。
お客さまは、一度だけPayPalにログインして今後の支払いに同意します。
- お客さまの同意を得て承認コードを受け取ります。2. ご使用のサーバーで、この承認コードを使用してOAuth2トークンを取得します。
この後、お客さまが支払いを開始すると以下のプロセスに進みます。
- サーバーに渡すアプリケーション相関IDを取得します。
- ご使用のサーバーで、OAuth2トークン、アプリケーション相関ID、およびPayPalのAPIを使用して支払いを作成します。
###個人設定の共有
お客さまは、PayPalにログインして、PayPalが貴社と情報を共有することに同意します。
- お客さまの同意を得て承認コードを取得します。2. ご使用のサーバーで、この承認コードを使用してOAuth2トークンを取得します。3. ご使用のサーバーで、OAuth2トークンとPayPalのAPIを使用して、顧客情報を検索します。
- Xcode 5およびiOS SDK 7
- iOS 6.0+
- armv7、armv7s、arm64端末、およびシミュレータ(armv6以外)
- すべてのサイズおよび解像度のiPhoneおよびiPad
- SDKをコピーまたはダウンロードします。SDKは、ヘッダーファイル、ライセンス許諾書、リリースノート、およびスタティックライブラリで構成されています。サンプルアプリも含まれています。* バージョン2.4.0以降の場合、Xcode 6およびiOS 8 SDKが必要です。Xcode 5を使用している場合は、このSDKのバージョン2.3.2を使用してください。
PayPalMobile
ディレクトリ(複数の.hファイルおよびlibPayPalMobile.aを含む)を自分のXcodeプロジェクトに追加します。[Copy items...(項目をコピー...)]にチェックを入れて[Create groups...(グループを作成...)]を選択することをおすすめします。3. プロジェクトのビルドの設定 (PROJECTS
セクションではなくTARGETS
セクション)で以下を行います。
-lc++ -ObjC
をOther Linker Flags
に追加するEnable Modules (C and Objective-C)
を有効にするLink Frameworks Automatically
を有効にする
- プロジェクトのビルドフェーズで、プロジェクトとそれらのライブラリをリンクします。iOSのバージョン6.0へのWeak Linkがサポートされています。*
AudioToolbox.framework
AVFoundation.framework
CoreLocation.framework
CoreMedia.framework
MessageUI.framework
MobileCoreServices.framework
SystemConfiguration.framework
- acknowledgments.mdから、オープンソースライセンス許諾書を自分のアプリの許諾書に追加します。
モバイル統合では、本番用とテスト用(Sandbox)にそれぞれ異なるclient_id
値が必要です。
支払いを認証または作成するためのサーバー統合では、各client_id
に対応するclient_secret
も必要です。
PayPal API認証情報は、PayPalデベロッパーサイトのアプリケーションページを開いて、ご自分のPayPalアカウントでログインすると入手できます。
このアプリケーションページにログインすると、テスト用認証情報が割り当てられます。これには、PayPal SandboxへのiOSの統合をテストするためのクライアントIDが含まれています。
アプリのテスト中にSDKのUIでPayPalにログインする場合は、パーソナルSandboxアカウントのメールアドレスとパスワードを使用する必要があります。Sandbox用ビジネスアカウントの認証情報は使いません。
Sandboxアカウントページで、Sandbox用のビジネスアカウントとパーソナルアカウントを作成できます。
本番用認証情報を入手するには、ビジネスアカウントが必要です。ビジネスアカウントをまだお持ちでない場合は、同じアプリケーションページの下部にリンクがあり、ここからアカウントを開設できます。
SDKには、多数の言語およびロケールの翻訳が組み込まれています。完全なリストは、ヘッダーファイルで参照できます。
SDKでは複数の通貨に対応しています。完全な最新リストは、REST APIの国と通貨に関するドキュメントを参照してください。
決済カードとPayPal支払いでは対応通貨が異なりますのでご注意ください。PayPalConfiguration.acceptCreditCards
プロパティを使用して決済カードの受付けを無効にしない限り、取引を、両方の支払いタイプで対応している通貨に限定することをおすすめします。 現在両方で対応している通貨は、USD、GBP、CAD、EUR、JPYです。
ユーザーが選択した支払いタイプで対応していない通貨を使用してアプリが取引を開始した場合、SDKはユーザーにエラーを表示し、コンソールログにメッセージを出力します。
開発およびテスト中は、環境をSandboxまたはNoNetwork/Mockモードに設定して、実際の資金移動が行われないようにしてください。詳細は、ヘッダーファイルを参照してください。
- 使用方法の概要、統合手順をステップごとに記載した説明書、サンプルコードを含むドキュメントがSDKに用意されています。* このSDKにはサンプルアプリが含まれています。* ヘッダーファイルには詳細な説明が記載されているので、必要に応じて所定のプロパティまたはパラメータの追加の詳細情報を参照してください。
- エラーコードとサーバー側の統合手順が記載されたPayPalデベロッパーのドキュメント。
ユーザーインターフェイスの外観と動作は、ライブラリ内で設定されます。ユーザビリティとユーザーエクスペリエンスの一貫性を保つため、提供されているヘッダーに記載された方法以外で、アプリが外観プロパティを調整したりSDKの動作を変更したりすることはおすすめしません。
特に、アプリのUI要素の外観をUIAppearance
で変更している場合は、viewcontrollerを追加する前に変更を取り消し、viewcontrollerを破棄してから再度設定する必要があります。
メジャーバージョンの変更として、2.0で導入されるAPIは、1.x統合との下位互換性がありません。ただし、SDKは、1件の支払いについて、これまでのすべての機能を引き続きサポートしています。アップグレードは簡単です。
- SDKの初期化は、新しい
PayPalMobile
クラスのメソッドで実行されます。*PayPalPaymentViewController
のプロパティの多くはPayPalConfiguration
に移動しています。またPayPalPaymentViewController
イニシャライザはそのような構成オブジェクトを取得するよう変更されています。*PayPalPaymentDelegate
プロトコルメソッドも、パラメータとしてPayPalPaymentViewController
を含むよう変更されています。
PayPalは、これまでの「Mobile Payments Libraries」(MPL)から新しいPayPal AndroidおよびiOS SDKに移行中です。 新しいモバイルSDKはPayPal REST APIに基づいています。これまでのMPLはアダプティブペイメントAPIを使用しています。
第三者、並行型、チェーン型の支払いなどの機能が使えるようになるまでは、必要に応じてMPLを使用できます。
MPLに関する問題は、sdk-packages repoに提出してください。
既存のエクスプレス チェックアウトを統合しているデベロッパーまたは追加機能が必要なデベロッパーは、WebViewでモバイルエクスプレス チェックアウトの使用を検討することができます。
ユースケースに応じて、以下が可能です:
- 1件の支払いを受ける
- 今後の支払いを作成するためにユーザーの同意を得る
- 顧客情報を検索するためにユーザーの同意を得る