Skip to content

feat: Apple Pay を Checkout Session の payment_method_types に追加 - #3

Open
laiso wants to merge 1 commit into
mainfrom
feat/apple-pay
Open

feat: Apple Pay を Checkout Session の payment_method_types に追加#3
laiso wants to merge 1 commit into
mainfrom
feat/apple-pay

Conversation

@laiso

@laiso laiso commented May 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • server/index.jspayment_method_types'apple_pay' を追加し、PAY.JP がホストする Checkout V2 (外部リンク型) で Apple Pay 決済を選択可能にした
  • README に「対応支払い方法 × プラットフォーム」マトリクスと、payment_method_types 配列の編集だけで画面の支払い方法が増減する旨を明記
  • Apple Pay の動作確認に必要な前提条件 (実機 + Apple Developer Program + Sandbox tester) を README に追記

設計上のポイント

  • Apple Pay は Checkout V2 (外部リンク型) では加盟店側のドメイン登録不要、test mode から追加申請なしに利用可能 (docs.pay.jp 引用)
  • サンプルアプリ側に PassKit / Capabilities / merchant ID 設定などの追加実装は一切不要
  • 非対応端末 (Android, ApplePaySession 非対応ブラウザ) では Checkout ページが端末判定で自動的にボタンを非表示にするため、'apple_pay' を含めても他端末への副作用なし

React Native サンプルの注意

現状 expo-web-browser.openAuthSessionAsync (= ASWebAuthenticationSession) を使用しているため、対応端末でも Apple Pay ボタンが表示されない場合があります。Apple Pay 動作確認は当面 iOS native / Flutter サンプルで行ってください。後続 PR で openBrowserAsync (SFSafariVC) + Linking 構成への切替を予定。

検証スコープ

  • ✅ サーバ API: apple_pay 識別子で /create-checkout-sessioncs_test_... を返すこと確認済 (curl)
  • ✅ iOS Simulator (iPhone 17 / iOS 26.1): Checkout ページで Apple Pay 選択肢が描画されること確認済
  • ⏸ Apple Pay sheet → token 生成 → PAY.JP test 処理: 本サンプル利用者側で実機 Sandbox 環境にて行う想定 (Apple Developer Program 加入が前提)

Test plan

  • react-native の jest テストが pass する (parseRedirect 4/4)
  • サーバが起動し /products, /create-checkout-session が正常応答
  • Simulator で Checkout 画面に Apple Pay 選択肢表示
  • CI (GitHub Actions) all green ← この PR で確認
  • (後日, 利用者側) 実機 Sandbox で Apple Pay sheet → token 生成

🤖 Generated with Claude Code

@laiso
laiso force-pushed the feat/apple-pay branch 2 times, most recently from 017777d to 6b75ba6 Compare May 2, 2026 13:27
@laiso
laiso force-pushed the feat/apple-pay branch from 6b75ba6 to 8bc7e60 Compare May 21, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant