Apple trouble shooting 決済

Apple PayのMerchant Doamin設定がPendingになり、Verifiedにならなかった原因

投稿日:2020年5月31日

開発しているWebシステム上でApple Payによるクレジットカード選択が出来るようにするには「Apple Developer Program」で「Merchant Domain」を設定します。

この作業は基本的にAppleサーバ主導で行われる為、ハマると何が原因か分かり辛いです。

事象

ドメインがAppleに認証される流れは以下です。

  1. Apple Developer Programでドメインを入力
  2. apple-developer-merchantid-domain-association.txtをWebサーバに配備
  3. Apple Developer ProgramでVefifyボタンをクリック
  4. Appleサーバから上記ファイルへのGET通信が来る
  5. ドメインがVerifiedになる。

今回はApple Developer ProgramでVefiryボタンを押しても、4の確認通信が来ず、ステータスがPendingになってしまう事象でした。

Webサーバに配備したapple-developer-merchantid-domain-association.txt にブラウザでアクセスしても普通にアクセス出来てしまいます。

なのになぜAppleサーバはアクセス出来ないのか・・・クラウド側が国外IPを遮断している?AppleサーバのIPをホワイトリストに入れなきゃダメ?などと迷宮入りしそうになりました。

原因

Webサーバ(というかクラウド上のロードバランサ)にサーバ証明書しか設定されておらず、中間CA証明書が設定されていなかった為でした。

4の確認通信の前に、ドメインのSSL証明書が正しく設定されているか証明書チェーンも含めて厳密にチェックされるようです。

今回はSSL設定に不備があり、Apple Developer Program側のVerify処理が止まり、ステータスがPendingになる機序でした。

対処

「SSL Server Test」などのツールを使って登録しようとしているドメインのSSL証明書の正常性を確認。不備があれば対処します。

もし同様の事象に遭遇したら、SSL関連設定を疑ってみるのも一手かと思います。

-Apple, trouble shooting, 決済
-

執筆者:

関連記事

ローカルネットワーク内のHTTP通信が2回に1回交互にタイムアウトするようになった原因

目次1 事象2 調査3 解決4 その後 事象 ある日突然、オフィスのローカル開発環境でHTTP通信が異常なほど遅くなり、タイムアウトするようになりました。 その後F5でリロードすると普通にレスポンスが …

ERROR: Several keys given – pgcrypto does not handle keyring、またはERROR: Corrupt ascii-armor

gpgキーストアに同じUIDで複数の鍵ペアを登録してしまうと、ファイルにexportした際に1ファイルに複数の鍵情報が入ってしまい、1ファイル1鍵を期待しているpgcryptoに怒られます。 目次1 …

キャッシュされているはずのServiceWorker資源にオフラインアクセス出来ない(Workbox + ionicons)

そのHTTPリクエストしたファイル資源、ひょっとしてURLパラメータついてたりしませんか? 目次1 事象2 原因3 対処 事象 ionic3(SPA)でWorkboxを使ったServiceWorker …

org.apache.poi.ooxml.POIXMLException: Strict OOXML isn’t currently supported, please see bug #57699

目次1 事象2 原因3 対処4 まとめ 事象 以下のExcelファイルをApache POIで読み込んだ際に発生。 mojikiban.ipa.go.jp  5 Tweets 4 Users …

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

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

 

shingo.nakanishi
 

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