Apple iOS mac 決済 開発インフラ

開発中のWebシステム上でApple Pay決済を有効化する為のApple Developer Program設定 

投稿日:2020年2月8日

WebシステムでApple Pay決済を有効にするにはApple側にその旨を認証して貰う必要が有ります。

前回、Web上でApple Payテスト課金をする為のサンドボックステスターを作成しました。

この過程で銀行口座設定はしてあるので、今回は自分が開発中のWeb上でApple Pay決済を使えるよう、Apple Developer Programを設定してみます。

Webブラウザ操作ばかりで単調な作業・・・でもこれをやらないとiphone上で課金シートが出てくれないので、諦めて公式ドキュメントを参考にしながら設定して行きます。

設定の流れ

Apple Payの課金シートをブラウザ上で表示するには、販売主としてのIDの発行、ドメイン登録、暗号化通信の為の証明書発行、などの設定をApple側サーバに対して行います。(公式ドキュメント参照)

Apple PayセッションをApple Payサーバとの間で正常に確立するには、Apple Pay用にApple Developerアカウントを設定する必要があります。これには、マーチャントIDの登録、証明書の作成、Web上にApple Payを実装する場合にはWebサイトのドメインの確認が含まれます。Apple PayサーバでApple Payの実装をテストする前に、必ず以下のステップを実行してください。
環境の設定についてさらに詳しく(英語)

・デベロッパアカウントにマーチャントIDを登録します。
・ペイメントプロセッシング証明書を作成するか、PSPが提供するCSRを入手します。
・マーチャントID証明書を作成します(Web上のApple Payのみ)。
・マーチャントドメインを登録し、検証します(Web上のApple Payのみ)。
・Apple PayボタンをホストしているすべてのWebページがHTTPSであり、WebサーバがTLS 1.2をサポートしていることを確認します。

ということで、Apple Developer Programにログインして以下の4つを行います。

1.Merchant IDを登録
ApplePayを使うサービス提供者を一意に識別する為のIDをAppleに登録。

2.Payment Processing Certificateを取得
Apple Payサーバと暗号化通信を行う為の証明書を発行して貰う。

3.Merchant Domainを設定
Apple Payを使用するWebサーバのドメインを設定。

4.Merchant Identifier Certificateを取得
Merchant IDに紐づく証明書を発行して貰う。

作業環境、必要なもの

  • MacBook Pro(Mojave)
  • Safari
  • Apple登録できる、自由に使えるドメイン

キーチェーンアクセスAppを使用する為、MacOS Xで作業を行う必要があります。

設定開始

1.Merchant IDを取得

ApplePayを使うサービス提供者を識別する為のIDをAppleに登録します 。

1MerchantIDにつき、複数のドメインを登録することが出来、既にMerchantIDに登録されているドメインは、他のMerchantIDで登録することが出来ません。

Apple Developer Programへログイン

https://developer.apple.com/jp/programs/

「Account」をクリックしてApple ID、パスワードを入力、ログイン。

証明書、ID作成ページを開く

左メニューから「Certicates、IDs & Profiles」をクリック。

新規MerchantIDを追加

  1. 左メニューから「Identifiers」をクリック。
  2. 右コンボボックスから「Merchant IDs」を選択。
  3. 「+」ボタンをクリックします。

Merchant IDsを選択

  1. 「Register a New Identifier」でMerchant IDsを選択。(デフォルト選択済み)
  2. 「Continue」をクリック。

Merchant IDを登録

  1. 「Description」 にはIDの説明を入力。
  2. 「Identifier」は企業ドメインを反対から記述するのが推奨されているようです。 (例:jp.co.hoge)

設定後、merchant.jp.co.hogeのように先頭にmerchantが付きます。

Merchant IDを登録

内容を確認して「Register」ボタンをクリック

以上でMerchant IDが作成されました。

続いてこのIDに対して「Payment Processing Certificate」「対象ドメイン」「Merchant Identifier Certificate」の作成と紐づけを行っていきます。

2.Payment Processing Certificateの取得

Apple Payサーバと暗号化通信を行う為の 証明書を発行して貰います。

Appleに証明書発行して貰う為にCSRを作成

  1. MacOS Xで「キーチェーンアクセス」Appを起動。
  2. 「証明書アシスタント」→「認証局に証明書を要求…」をクリック。

CSRの内容を設定

  1. [メールアドレス]:任意のメールアドレスを指定。
  2. [通称]:任意の名前を指定。
  3. [CAのメールアドレス]:空。
  4. 「ディスクに保存」を選択。
  5. 「続ける」をクリック。

CSRをディスクに保存しておく

  1. 名前:任意の名前を指定。(後に他にもCSRを作成する為、デフォルトから変更はしておく)
  2. 「保存」をクリック。

保存後、ブラウザ上のApple Developer Programに戻る

作成したMerchant IDを選択

作成したMerchant IDをクリック。

Payment Processing Certificateを新規作成

「Apple Pay Payment Processing Certificate」の項で「Create Certificate」ボタンをクリック。

CSRを使用して証明書を入手する

  1. 「Choose File」をクリック
  2. ディスクに保存した「ppc.certSigningRequest」ファイルを指定
  3. 「Continue」ボタンをクリック。

Payment Processing Certificateをダウンロード

「Download」をクリック。

Payment Processing CertificateをMacにインストール

ダウンロードされたapple_pay.cerをダブルクリックしてキーチェーンアクセスにインストールしておく。 

以上で「Payment Processing Certificate」の取得は完了です。

3.Merchant Domainを設定

Apple Payで決済が行えるWebサーバドメインを設定。

作成したMerchant IDを選択

作成したMerchant IDをクリック。

Merchant Domainを追加

「Merchant Domains」の項で「Add Domain」ボタンをクリック。

Apple Pay(Web)を使用するWebサーバドメインを入力

service.hoge.co.jpなど実際にApple Pay課金シートを表示させるドメインを指定。

サーバ確認用ファイルをダウンロード、配備、確認

登録したサーバの本人性をAppleに確認して貰います。

「Download」ボタンをクリックして「apple-developer-merchantid-domain-association.txt」を保存。

  1. 登録したドメイン(service.hoge.co.jp)にSSHなりでログイン。
  2. ダウンロードした確認ファイルをapacheなら/var/www/html/.wel-known/に配備。
  3. 配置後、「verify」ボタンをクリック。

以上でMerchant Domainの登録は完了です。

4.Merchant Identifier Certificateを取得

Merchant IDを証明する証明書を取得します。

Appleに証明書発行して貰う為にCSRを作成

Appleとの鍵ペアを作成する為、Certification Signing Requestファイルを作成します。

  1. MacOS Xで「キーチェーンアクセス」Appを起動。
  2. 「証明書アシスタント」→「認証局に証明書を要求…」をクリック。

CSRの内容を設定

  1. [メールアドレス]:任意のメールアドレスを指定。
  2. [通称]:任意の名前を指定。
  3. [CAのメールアドレス]:空。
  4. 「ディスクに保存」を選択。
  5. 「続ける」をクリック。

CSRをディスクに保存しておく

  1. 名前:任意の名前を指定。
  2. 「保存」をクリック。

保存後、ブラウザ上のApple Developer Programに戻る。

作成したMerchant IDを選択

作成されたMerchant IDをクリックします。

Merchant Identifier Certificateを新規作成

「Apple Pay Merchant Identity Certificate」の項で「Create Certificate」ボタンをクリック。

Merchant Identifier Certificateを新規作成

  1. 「Choose File」をクリック
  2. ディスクに保存した「mic.certSigningRequest」ファイルを指定
  3. 「Continue」ボタンをクリック。

Merchant Identity Certificateをダウンロード

「Download」をクリック。

Merchant Identity CertificateをMacにインストール

ダウンロードされたmerchant_id.cerをダブルクリックしてキーチェーンアクセスにインストールしておく。

以上で「Merchant Identity Certificate」の取得は完了です。

設定完了

Appleサーバ側にApple Payを使えるドメインとして登録出来ました。

ただ実際にiPhoneでアクセスしてみて課金シートが出せるかどうかはプログラムを書いて登録したドメイン上で動かす必要があります。

次回はサンドボックステスターを設定したiPhoneを使い、StripeとJavaでApple Payテスト決済をするプログラムを書いてみたいと思います。

-Apple, iOS, mac, 決済, 開発インフラ
-,

執筆者:

関連記事

podman + docker-comopseでwordpressを起動

前回podmanをdockerとして使えるようになりました。 One IT Thing  1 Pocketpodmanをdockerとして使うhttps://one-it-thing.com …

Apple PayのWeb決済を開発する為にSandboxテスターを作ってiPhoneに設定

Web上でApple Pay支払いが出来るサービスが増えていますね。 決済にApple Payが使えるシステムにしておけば、PayPalよりもエンゲージ率は高くなるはずです。 自分が開発しているWeb …

StripeとJavaで単発Web決済を一通り流してみる

会社仕事でも個人ビジネスでも、商品やサービスの対価として利用者に課金方法を提供したい時があるかと思います。 最もメジャーな決済方法であるクレジットカードで課金してもらう仕組みを導入したいところですが、 …

PWAストアの実現性についての考察

(*)この記事内では「Google Play」、「App Store」、「Microsoft Store」で公開されているアプリを「ストアアプリ」と呼んでいます。 先日B2Bアプリはストアアプリにする …

Stripe + Javaでオーソリ(与信の確保)を実装する

Stripeでチャリンチャリン、サービスを開発するエンジニアにとっては夢がありますよね。 例え自分で個人的に売るものが無かったとしても、Web決済システムを構築できるノウハウを持っておけば、公的な仕事 …

 

shingo.nakanishi
 

東京在勤、1977年生まれ、IT職歴2n年、生涯技術者として楽しく生きることを目指しています。デスマに負けず健康第一。