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, 決済, 開発インフラ
-,

執筆者:

関連記事

ngrokで手軽にHTTPS検証環境を構築

目次1 はじめに2 手順2.1 ngrokのアカウントを作成2.2 zipファイルをダウンロードして解凍2.3 認証トークンをPCに登録する2.4 HTTPサーバを起動する2.5 起動した8080ポー …

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

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

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

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

認証付きHTTPプロキシを認証無しで利用する下位プロキシをsquidで構築

目次1 はじめに2 環境3 手順3.1 squidをインストール3.2 /etc/squid/squid.confを設定4 squid起動4.1 3128ポート開放4.2 各種端末で上記プロキシを設定 …

各種OSでのインデックスを使用した高速ファイル名検索と全文検索【MacOSX編】

目次1 目的2 環境3 使用コマンドその1:locate4 使用コマンドその2:mdfind5 ファイル名検索6 全文検索7 インデックス更新8 まとめ 目的 MacOSX上に存在する全ての「~.ja …

 

shingo.nakanishi
 

東京在勤、1977年生まれ、IT職歴2n年、生涯現役技術者を目指しています。健康第一。