Skip to content
This repository has been archived by the owner on May 5, 2020. It is now read-only.

Latest commit

 

History

History
executable file
·
161 lines (90 loc) · 11.9 KB

README.md

File metadata and controls

executable file
·
161 lines (90 loc) · 11.9 KB

PayPal iOS SDK

PayPal iOS SDKを使用すると、モバイルアプリにPayPalおよびクレジットカード決済の機能を簡単に追加できます。

SDKのスクリーンショット

目次

ユースケース

SDKは、支払いについて1件の支払い今後の支払いの2つのユースケースを、お客さまに関する情報取得について個人設定の共有のユースケースをサポートしています。

1件の支払い(Single Payment)

お客さまのPayPalアカウントまたは(card.ioでスキャンされた)決済カードから1回のみ支払いを受け取ります。これは、(1)サーバーがその後に認証する必要がある即時支払い、または(2)サーバーがその後に回収する必要がある支払いの認証、または(3)サーバーがその後に認証および回収する必要がある注文の支払いのいずれかです。

  1. 1件の支払いを受諾して支払い証明を受け取ります。2. サーバーで、PayPalのAPIを使用して、支払いの認証支払いの回収、または注文の処理 (PayPalデベロッパーサイト)を行います。

今後の支払い(Future Payments)

お客さまは、一度だけPayPalにログインして今後の支払いに同意します。

  1. お客さまの同意を得て承認コードを受け取ります。2. ご使用のサーバーで、この承認コードを使用してOAuth2トークンを取得します。

この後、お客さまが支払いを開始すると以下のプロセスに進みます。

  1. サーバーに渡すアプリケーション相関IDを取得します。
  2. ご使用のサーバーで、OAuth2トークン、アプリケーション相関ID、およびPayPalのAPIを使用して支払いを作成します。

###個人設定の共有

お客さまは、PayPalにログインして、PayPalが貴社と情報を共有することに同意します。

  1. お客さまの同意を得て承認コードを取得します。2. ご使用のサーバーで、この承認コードを使用してOAuth2トークンを取得します。3. ご使用のサーバーで、OAuth2トークンとPayPalのAPIを使用して、顧客情報を検索します。

要件

  • Xcode 5およびiOS SDK 7
  • iOS 6.0+
  • armv7、armv7s、arm64端末、およびシミュレータ(armv6以外)
  • すべてのサイズおよび解像度のiPhoneおよびiPad

プロジェクトにSDKを追加する

  1. SDKをコピーまたはダウンロードします。SDKは、ヘッダーファイル、ライセンス許諾書、リリースノート、およびスタティックライブラリで構成されています。サンプルアプリも含まれています。* バージョン2.4.0以降の場合、Xcode 6およびiOS 8 SDKが必要です。Xcode 5を使用している場合は、このSDKのバージョン2.3.2を使用してください。
  2. PayPalMobileディレクトリ(複数の.hファイルおよびlibPayPalMobile.aを含む)を自分のXcodeプロジェクトに追加します。[Copy items...(項目をコピー...)]にチェックを入れて[Create groups...(グループを作成...)]を選択することをおすすめします。3. プロジェクトのビルドの設定 (PROJECTSセクションではなくTARGETSセクション)で以下を行います。
  • -lc++ -ObjCOther Linker Flagsに追加する
  • Enable Modules (C and Objective-C)を有効にする
  • Link Frameworks Automaticallyを有効にする
  1. プロジェクトのビルドフェーズで、プロジェクトとそれらのライブラリをリンクします。iOSのバージョン6.0へのWeak Linkがサポートされています。* AudioToolbox.framework
  • AVFoundation.framework
  • CoreLocation.framework
  • CoreMedia.framework
  • MessageUI.framework
  • MobileCoreServices.framework
  • SystemConfiguration.framework
  1. acknowledgments.mdから、オープンソースライセンス許諾書を自分のアプリの許諾書に追加します。

認証情報

モバイル統合では、本番用とテスト用(Sandbox)にそれぞれ異なるclient_id値が必要です。

支払いを認証または作成するためのサーバー統合では、各client_idに対応するclient_secretも必要です。

PayPal API認証情報は、PayPalデベロッパーサイトのアプリケーションページを開いて、ご自分のPayPalアカウントでログインすると入手できます。

Sandbox

このアプリケーションページにログインすると、テスト用認証情報が割り当てられます。これには、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を破棄してから再度設定する必要があります。

PayPal iOS SDK 2.0への移行

1.xからのアップグレード

メジャーバージョンの変更として、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でモバイルエクスプレス チェックアウトの使用を検討することができます。

次のステップ

ユースケースに応じて、以下が可能です: