ÿÿ Stripe連æºã‚¬ã‚¤ãƒ‰ | Adapty ドキュメント

Stripeã¨ã®åˆæœŸé€£æº

Adaptyã¯ã€Stripeを通ã˜ãŸã‚¦ã‚§ãƒ–決済・サブスクリプションを追跡ã™ã‚‹ã“ã¨ã§ã€web2appã®ã‚µãƒ–スクリプションフローをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚

ã“ã®é€£æºã¯ã€ã‚¦ã‚§ãƒ–起点ã®è³¼å…¥ï¼ˆStripe Checkoutã€ãƒ›ã‚¹ãƒˆåž‹æ±ºæ¸ˆãƒšãƒ¼ã‚¸ã€ã¾ãŸã¯ã‚«ã‚¹ã‚¿ãƒ ã‚¦ã‚§ãƒ–フロー)ã«å¯¾å¿œã—ã¦ãŠã‚Šã€ãƒ¢ãƒã‚¤ãƒ«ã‚¢ãƒ—リã®ã‚¢ã‚¯ã‚»ã‚¹ã‚„アナリティクスã¨åŒæœŸã—ã¾ã™ã€‚

以下ã®ã‚ˆã†ãªã‚·ãƒŠãƒªã‚ªã§å½¹ç«‹ã¡ã¾ã™ï¼š

  • ウェブã§è³¼å…¥ã—ãŸå¾Œã«ã‚¢ãƒ—リをインストールã—ã¦ãƒ­ã‚°ã‚¤ãƒ³ã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã€æœ‰æ–™æ©Ÿèƒ½ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’自動的ã«ä»˜ä¸Žã™ã‚‹
  • コホートã€äºˆæ¸¬ã€ãã®ä»–ã®ã‚¢ãƒŠãƒªãƒ†ã‚£ã‚¯ã‚¹ãƒ„ールをå«ã‚€ã€ã™ã¹ã¦ã®ã‚µãƒ–スクリプションアナリティクスをAdapty ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ä¸€ã‹æ‰€ã§ç®¡ç†ã™ã‚‹

ウェブ購入ã¯ã‚¢ãƒ—リã«ã¨ã£ã¦ã¾ã™ã¾ã™ä¸€èˆ¬çš„ã«ãªã‚Šã¤ã¤ã‚りã¾ã™ãŒã€Apple App StoreãŒã‚¢ãƒ—リ内課金以外ã®ã‚·ã‚¹ãƒ†ãƒ ã‚’許å¯ã—ã¦ã„ã‚‹ã®ã¯ã‚¢ãƒ¡ãƒªã‚«å›½å†…ã®ãƒ‡ã‚¸ã‚¿ãƒ«ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã«é™ã‚‰ã‚Œã¦ã„ã¾ã™ã€‚ä»–ã®å›½ã§ã‚¦ã‚§ãƒ–サブスクリプションをアプリ内ã§å®£ä¼ã—ãªã„よã†ã«ã—ã¦ãã ã•ã„。é•åã™ã‚‹ã¨ã‚¢ãƒ—リãŒå¯©æŸ»ã§å´ä¸‹ã•れãŸã‚Šã€BANã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚

ä»¥ä¸‹ã®æ‰‹é †ã§Stripe連æºã‚’設定ã—ã¾ã™ã€‚

ã“ã®é€£æºã¯ã€Stripeã®ã‚¦ã‚§ãƒ–購入ã®è¿½è·¡ã¨åŒæœŸã‚’目的ã¨ã—ã¦ã„ã¾ã™ã€‚アプリã‹ã‚‰ã‚¦ã‚§ãƒ–ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’誘導ã™ã‚‹å ´åˆã¯ã€ã‚¦ã‚§ãƒ–ペイウォールをã”覧ãã ã•ã„。

1. Stripeã‚’Adaptyã«æŽ¥ç¶šã™ã‚‹

ã“ã®é€£æºã¯ä¸»ã«ã€AdaptyãŒWebhook経由ã§Stripeã‹ã‚‰ã‚µãƒ–スクリプションデータをå–å¾—ã™ã‚‹ã“ã¨ã§æ©Ÿèƒ½ã—ã¾ã™ã€‚ãã®ãŸã‚ã€APIキーをæä¾›ã—ã€Adaptyã®Webhook URLã‚’Stripeã«è¨­å®šã™ã‚‹ã“ã¨ã§ã€Adaptyアカウントã¨Stripeアカウントを接続ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚Webhookã®ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—ã‚’ã§ãã‚‹ã ã‘ラクã«ã™ã‚‹ãŸã‚ã«ã€Stripeã«Adatyアプリをインストールã—ã¦ãã ã•ã„:

ä»¥ä¸‹ã®æ‰‹é †ã¯Stripeã®Productionモードã¨Testモードã§å…±é€šã§ã™ãŒã€ãれãžã‚Œç•°ãªã‚‹APIキーを使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

  1. テストモードã¨ãƒ©ã‚¤ãƒ–モードã®ã©ã¡ã‚‰ã§Stripeを接続ã™ã‚‹ã‹ã‚’決ã‚ã¾ã™ã€‚最åˆã«ãƒ†ã‚¹ãƒˆãƒ¢ãƒ¼ãƒ‰ã§è¨­å®šã™ã‚‹å ´åˆã¯ã€å¾Œã§ãƒ©ã‚¤ãƒ–モードã§ã‚‚åŒã˜æ‰‹é †ã‚’繰り返ã™å¿…è¦ãŒã‚りã¾ã™ã€‚

  2. Stripe App Marketplaceã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦Adatyアプリをインストールã—ã¾ã™ã€‚サンドボックスモードã§ã¯ã‚¢ãƒ—リã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«å¯¾å¿œã—ã¦ã„ãªã„ãŸã‚ã€æœ¬ç•ªç’°å¢ƒã¾ãŸã¯ãƒ†ã‚¹ãƒˆãƒ¢ãƒ¼ãƒ‰ã§ã®ã¿å®Ÿè¡Œã§ãã¾ã™ã€‚

stripe1.png
  1. アプリã«å¿…è¦ãªæ¨©é™ã‚’付与ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€AdaptyãŒã‚µãƒ–スクリプションデータã¨å±¥æ­´ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ãã®å¾Œã€Continue to app settings をクリックã—ã¦ç¶šè¡Œã—ã¾ã™ã€‚

権é™ãƒãƒƒãƒ—アップã®ä¸‹éƒ¨ã§ã€ãƒ©ã‚¤ãƒ–モードã¾ãŸã¯ãƒ†ã‚¹ãƒˆãƒ¢ãƒ¼ãƒ‰ã®ã©ã¡ã‚‰ã§ã‚¢ãƒ—リをインストールã™ã‚‹ã‹ã‚’é¸æŠžã§ãã¾ã™ã€‚

stripe2.png
  1. ãƒãƒƒãƒ—ã‚¢ãƒƒãƒ—ã§æ–°ã—ã„制é™ä»˜ãキーを生æˆã—ã¾ã™ã€‚メールã€Touch IDã€ã¾ãŸã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚­ãƒ¼ã‚’使ã£ã¦æœ¬äººç¢ºèªãŒå¿…è¦ã§ã™ã€‚キーを生æˆã—ãŸå¾Œã¯å†åº¦ç¢ºèªã§ããªã„ãŸã‚ã€ãƒ‘スワードマãƒãƒ¼ã‚¸ãƒ£ãƒ¼ã‚„秘密管ç†ã‚¹ãƒˆã‚¢ã«å®‰å…¨ã«ä¿å­˜ã—ã¦ãã ã•ã„。
stripe4.png
  1. ãƒãƒƒãƒ—アップã‹ã‚‰ç”Ÿæˆã•れãŸã‚­ãƒ¼ã‚’コピーã—ã€Adaptyã®App Settings → Stripeã«ç§»å‹•ã—ã¾ã™ã€‚モードã«åˆã‚ã›ã¦ Stripe App Restricted API Key セクションã«ã‚­ãƒ¼ã‚’貼り付ã‘ã¾ã™ã€‚テストモードã¨ãƒ©ã‚¤ãƒ–モードã§ã¯ç•°ãªã‚‹ã‚­ãƒ¼ã‚’生æˆã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
Stripe3.png

以上ã§å®Œäº†ã§ã™ï¼æ¬¡ã¯ã€Stripeã§ãƒ—ロダクトを作æˆã—ã¦Adaptyã«è¿½åŠ ã—ã¾ã—ょã†ã€‚

éžæŽ¨å¥¨ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãƒ•ロー
  1. Stripeã®Developers → API Keysã«ç§»å‹•ã—ã¾ã™ï¼š
6549602-CleanShot_2023-12-06_at_17.29.122x.webp
  1. Secret key ã‚¿ã‚¤ãƒˆãƒ«ã®æ¨ªã«ã‚ã‚‹ Reveal live (test) key button をクリックã—ã¦ã‚­ãƒ¼ã‚’コピーã—ã€Adaptyã®App Settings → Stripeã«ç§»å‹•ã—ã¾ã™ã€‚ã“ã“ã«ã‚­ãƒ¼ã‚’貼り付ã‘ã¾ã™ï¼š
2989508-CleanShot_2023-12-07_at_14.59.122x.webp
  1. 次ã«ã€Adaptyã®Stripe設定ページ下部ã‹ã‚‰Webhook URLをコピーã—ã¾ã™ã€‚Stripeã®Developers → Webhooksã«ç§»å‹•ã—ã€Add endpoint ボタンをクリックã—ã¾ã™ï¼š
e7149f5-CleanShot_2023-12-07_at_17.31.392x.webp
  1. Adaptyã®Webhook URLã‚’ Endpoint URL フィールドã«è²¼ã‚Šä»˜ã‘ã¾ã™ã€‚次ã«Webhookã® Version フィールド㧠Latest API version ã‚’é¸æŠžã—ã¾ã™ã€‚ãã®å¾Œã€ä»¥ä¸‹ã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’é¸æŠžã—ã¾ã™ï¼š

    • charge.refunded
    • customer.subscription.created
    • customer.subscription.deleted
    • customer.subscription.paused
    • customer.subscription.resumed
    • customer.subscription.updated
    • invoice.created
    • invoice.updated
    • payment_intent.succeeded
cbc5404-CleanShot_2023-12-07_at_17.36.232x.webp
  1. “Add endpoint†を押ã—ã€â€œSigning secret†ã®ä¸‹ã«ã‚ã‚‹ “Reveal†を押ã—ã¾ã™ã€‚ã“れã¯Adaptyå´ã§Webhookデータを復å·ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れるキーã§ã™ã€‚表示後ã«ã‚³ãƒ”ーã—ã¦ãã ã•ã„:
0460cbb-CleanShot_2023-12-07_at_17.52.582x.webp
  1. 最後ã«ã€ã“ã®ã‚­ãƒ¼ã‚’Adaptyã® App Settings → Stripe 㮠“Stripe Webhook Secret†ã«è²¼ã‚Šä»˜ã‘ã¾ã™ï¼š
055db20-CleanShot_2023-12-07_at_14.56.212x.webp

2. Stripeã§ãƒ—ロダクトを作æˆã™ã‚‹

テストモードã§è¨­å®šã—ã¦ã„ã‚‹å ´åˆã¯ã€ã“ã®æ‰‹é †ã‚’ç¶šã‘ã‚‹å‰ã«Stripeã‚‚Testモードã«åˆ‡ã‚Šæ›¿ãˆã¦ãã ã•ã„。

Stripeã®Product catalogã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã€è²©å£²ã—ãŸã„ãƒ—ãƒ­ãƒ€ã‚¯ãƒˆã¨æ–™é‡‘プランを作æˆã—ã¾ã™ã€‚Stripeã§ã¯1ã¤ã®ãƒ—ロダクトã«è¤‡æ•°ã®æ–™é‡‘プランを設定ã§ãã‚‹ãŸã‚ã€ãƒ—ロダクトを追加作æˆã—ãªãã¦ã‚‚オファーを柔軟ã«èª¿æ•´ã§ãã¾ã™ã€‚

b202e2e-CleanShot_2023-12-06_at_15.06.262x.webp

ç¾æ™‚点ã§AdaptyãŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã®ã¯ã€Flat rate(例:$9.99/月)ã¾ãŸã¯ Package pricing(例:$9.99/10ユニット)ã®ã¿ã§ã™ã€‚ã“れらã¯ã‚¢ãƒ—リストアã¨åŒæ§˜ã®å‹•作をã—ã¾ã™ã€‚Tiered pricingã€Usage-based feeã€Customer chooses price ã®ã‚ªãƒ—ションã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。

3. StripeプロダクトをAdatyã«è¿½åŠ ã™ã‚‹

プロダクトã¯å¿…é ˆã§ã™ï¼Adapty ダッシュボードã§Stripeプロダクトを作æˆã—ã¦ãã ã•ã„。Adaptyã¯ã“れらã®ãƒ—ロダクトã«ç´ã¥ã„ãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚¤ãƒ™ãƒ³ãƒˆã®ã¿è¿½è·¡ã—ã¾ã™ã€‚ã“ã®ã‚¹ãƒ†ãƒƒãƒ—をスキップã™ã‚‹ã¨ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ™ãƒ³ãƒˆãŒä½œæˆã•れã¾ã›ã‚“。

Adaptyã§ã¯Stripeã‚’App Storeã‚„Google Playã¨åŒæ§˜ã«æ‰±ã„ã¾ã™ã€‚ã¤ã¾ã‚Šã€ãƒ‡ã‚¸ã‚¿ãƒ«ãƒ—ロダクトを販売ã™ã‚‹åˆ¥ã®ã‚¹ãƒˆã‚¢ã¨ã—ã¦è¨­å®šã—ã¾ã™ã€‚è¨­å®šæ–¹æ³•ã‚‚åŒæ§˜ã§ã€Stripeプロダクトã®IDを(product_idã¨price_idを)Adaptyã®Productsセクションã«è¿½åŠ ã™ã‚‹ã ã‘ã§ã™ï¼š

stripe-add-product.webp

Stripeã®ãƒ—ロダクトID㯠prod_...ã€ä¾¡æ ¼ID㯠price_... ã®å½¢å¼ã«ãªã£ã¦ã„ã¾ã™ã€‚Stripeã®Product Catalogã§ãƒ—ロダクトを開ã‘ã°ã€ç°¡å˜ã«ç¢ºèªã§ãã¾ã™ï¼š

14a72d7-CleanShot_2023-12-06_at_17.32.512x.webp

å¿…è¦ãªãƒ—ロダクトをã™ã¹ã¦è¿½åŠ ã—ãŸã‚‰ã€æ¬¡ã¯Stripeã«è³¼å…¥è€…ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼IDã‚’ä¼ãˆã‚‹è¨­å®šã‚’ã—ã¾ã—ょã†ã€‚ã“れã«ã‚ˆã‚Šã€AdaptyãŒStripeã‹ã‚‰ã®æƒ…報を正ã—ãå–り込ã‚るよã†ã«ãªã‚Šã¾ã™ã€‚

4. ウェブ購入ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼IDを付加ã™ã‚‹

Adaptyã¯ã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã®ä»˜ä¸Žãƒ»æ›´æ–°ã«ãŠã„ã¦ã€Stripeã‹ã‚‰ã®webhookã‚’å”¯ä¸€ã®æƒ…å ±æºã¨ã—ã¦åˆ©ç”¨ã—ã¦ã„ã¾ã™ã€‚ãŸã ã—ã€ã“ã®é€£æºã‚’æ­£ã—ãæ©Ÿèƒ½ã•ã›ã‚‹ãŸã‚ã«ã¯ã€Stripeé€£æºæ™‚ã«ãŠå®¢æ§˜å´ã‹ã‚‰è¿½åŠ æƒ…å ±ã‚’æä¾›ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

プラットフォーム(ウェブã¾ãŸã¯ãƒ¢ãƒã‚¤ãƒ«ï¼‰ã‚’横断ã—ã¦ä¸€è²«ã—ãŸã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’ç¶­æŒã™ã‚‹ã«ã¯ã€AdaptyãŒWebhookã‹ã‚‰èªè­˜ã§ãã‚‹å˜ä¸€ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼IDã«ä¾å­˜ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ã“れã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã€é›»è©±ç•ªå·ã€ã¾ãŸã¯åˆ©ç”¨ã—ã¦ã„ã‚‹èªè¨¼ã‚·ã‚¹ãƒ†ãƒ ã®ãã®ä»–ã®IDãŒä½¿ãˆã¾ã™ã€‚

ユーザーを識別ã™ã‚‹ãŸã‚ã«ã©ã®IDを使用ã™ã‚‹ã‹ã‚’決ã‚ã¦ãã ã•ã„。次ã«ã€Stripeã§æ±ºæ¸ˆã‚’åˆæœŸåŒ–ã—ã¦ã„るコード部分ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã€ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼IDã‚’Stripe Subscription(sub_...)ã¾ãŸã¯Checkout Sessionオブジェクト(ses_...)ã®metadataã«customer_user_idã¨ã—ã¦ä»¥ä¸‹ã®ã‚ˆã†ã«è¿½åŠ ã—ã¦ãã ã•ã„:

{'customer_user_id': "YOUR_USER_ID"}

コードã«å¿…è¦ãªå¤‰æ›´ã¯ã“れã ã‘ã§ã™ã€‚ã“れã«ã‚ˆã‚Šã€Adaptyã¯Stripeã‹ã‚‰å—ã‘å–ã£ãŸã™ã¹ã¦ã®Webhookã‚’è§£æžã—ã€ã“ã®metadataを抽出ã—ã¦ã€ã‚µãƒ–スクリプションを正ã—ãユーザーã«ç´ä»˜ã‘ã¾ã™ã€‚

ユーザーIDã¯å¿…é ˆã§ã™

ã“れãŒãªã‘れã°ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’特定ã—ã¦ãƒ¢ãƒã‚¤ãƒ«å´ã§ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’付与ã™ã‚‹æ–¹æ³•ãŒã‚りã¾ã›ã‚“。

metadataã«customer_user_idを指定ã—ãªã„å ´åˆã¯ã€AdaptyãŒStripeã®ä»–ã®æƒ…å ±ã‹ã‚‰IDを探ã™ã‚ˆã†è¨­å®šã§ãã¾ã™ï¼šStripeã®Customerオブジェクトã®emailã€ã¾ãŸã¯Stripeã®Sessionã®client_reference_idã®ã„ãšã‚Œã‹ã§ã™ã€‚

プロファイル作æˆã®æŒ™å‹•ã®è¨­å®šæ–¹æ³•ã«ã¤ã„ã¦ã¯ã“ã¡ã‚‰ã‚’ã”覧ãã ã•ã„。

Stripeã®Customerã‚‚å¿…é ˆã§ã™

Checkout Sessionsを使用ã—ã¦ã„ã‚‹å ´åˆã¯ã€customer_creationã‚’alwaysã«è¨­å®šã—ã¦Stripe Customerを作æˆã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。

5. モãƒã‚¤ãƒ«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ä»˜ä¸Ž

ウェブã‹ã‚‰æ¥ãŸãƒ¢ãƒã‚¤ãƒ«ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæœ‰æ–™æ©Ÿèƒ½ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ã™ã‚‹ã«ã¯ã€å‰ã®ã‚¹ãƒ†ãƒƒãƒ—ã§æä¾›ã—ãŸã®ã¨åŒã˜customer_user_idを使ã£ã¦Adapty.activate()ã¾ãŸã¯Adapty.identify()を呼ã³å‡ºã™ã ã‘ã§ã™ï¼ˆè©³ç´°ã¯ ユーザーã®è­˜åˆ¥ ã‚’ã”覧ãã ã•ã„)。

6. 連æºã‚’テストã™ã‚‹

ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ã¨æœ¬ç•ªç’°å¢ƒã®ä¸¡æ–¹ã§ä¸Šè¨˜ã®æ‰‹é †ã‚’完了ã—ãŸã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。Stripeã®Testモードã§è¡Œã£ãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¯ã€Adaptyã§ã¯Sandboxã¨ã—ã¦æ‰±ã‚れã¾ã™ã€‚

以上ã§å®Œäº†ã§ã™ï¼

ユーザーã¯ã‚¦ã‚§ãƒ–ã§è³¼å…¥ã‚’完了ã—ã€ã‚¢ãƒ—ãƒªã§æœ‰æ–™æ©Ÿèƒ½ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ã¾ãŸã€ã™ã¹ã¦ã®ã‚µãƒ–スクリプションアナリティクスを1ã‹æ‰€ã§ç¢ºèªã§ãã¾ã™ã€‚

プロファイル作æˆã®æŒ™å‹•

Adaptyã¯è³¼å…¥ã‚’モãƒã‚¤ãƒ«ã§åˆ©ç”¨å¯èƒ½ã«ã™ã‚‹ãŸã‚ã«ã€é¡§å®¢ãƒ—ロファイルã«ç´ä»˜ã‘ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ãã®ãŸã‚ã€ãƒ‡ãƒ•ォルトã§ã¯Stripeã‹ã‚‰Webhookã‚’å—ä¿¡ã—ãŸéš›ã«ãƒ—ロファイルを作æˆã—ã¾ã™ã€‚Adaptyã§é¡§å®¢ãƒ¦ãƒ¼ã‚¶ãƒ¼IDã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã‚‚ã®ã‚’é¸æŠžã§ãã¾ã™ï¼š

  1. デフォルトã‹ã¤æŽ¨å¥¨ï¼š 上記ã®ã‚¹ãƒ†ãƒƒãƒ—4ã§metadataã«æŒ‡å®šã—ãŸcustomer_user_id
  2. Stripeã®Customerオブジェクトã®email(Stripeã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’å‚照)
  3. Stripeã®Sessionオブジェクトã®client_reference_id(Stripeã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’å‚照)

使用ã™ã‚‹IDã¯App Settings → Stripeã§è¨­å®šã§ãã¾ã™ã€‚

注æ„: 特定ã®Stripeãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã«æŒ‡å®šã—ãŸIDãŒå«ã¾ã‚Œã¦ã„ãªã„å ´åˆã€ãƒ—ロファイルã¯ä¸€åˆ‡ä½œæˆã•れã¾ã›ã‚“。ã“ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¯ã€ä½•らã‹ã®ãƒ—ロファイルã«ç´ä»˜ã‘られるã¾ã§åŒ¿åã®ã¾ã¾ã«ãªã‚Šã¾ã™ï¼ˆä¾‹ãˆã°ã€å¾Œã‹ã‚‰S2S validateを使ã£ã¦ã“ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’手動ã§é€šçŸ¥ã—ãŸå ´åˆãªã©ï¼‰ã€‚

アナリティクスã«ã¯è¡¨ç¤ºã•れã¾ã™ãŒã€ãƒ—ロファイルã®ã‚«ã‚¦ãƒ³ãƒˆã«ä¾å­˜ã™ã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ï¼ˆLTVã€ã‚³ãƒ›ãƒ¼ãƒˆã€ã‚³ãƒ³ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãªã©ï¼‰ã«ã¯å映ã•れãšã€ã‚¤ãƒ™ãƒ³ãƒˆãƒ•ィードã§ã‚‚確èªã§ãã¾ã›ã‚“。

プロファイルをã¾ã£ãŸã作æˆã—ãªã„ã¨ã„ã†4ã¤ç›®ã®é¸æŠžè‚¢ã‚‚ã‚りã¾ã™ãŒã€ä¸Šè¨˜ã®ã‚¢ãƒŠãƒªãƒ†ã‚£ã‚¯ã‚¹åˆ¶é™ãŒã‚ã‚‹ãŸã‚推奨ã—ã¾ã›ã‚“。

ç¾åœ¨ã®åˆ¶é™äº‹é …

アップグレードã€ãƒ€ã‚¦ãƒ³ã‚°ãƒ¬ãƒ¼ãƒ‰ã€æ—¥å‰²ã‚Šè¨ˆç®—

サブスクリプションã®ã‚¢ãƒƒãƒ—グレードやダウングレードを行ã†ã¨ã€æ—¥å‰²ã‚Šè¨ˆç®—ã«ã‚ˆã‚‹è«‹æ±‚ãŒç™ºç”Ÿã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚Adaptyã¯ã“れらã®è«‹æ±‚ã‚’åŽç›Šè¨ˆç®—ã«å«ã‚ã¾ã›ã‚“。Stripeダッシュボードã‹ã‚‰ã“れらã®ã‚ªãƒ—ションを手動ã§ç„¡åйã«ã™ã‚‹ã‹ã€Stripe APIã§proration_behaviour属性ã®å€¤ã‚’noneã«è¨­å®šã—ã¦ç„¡åйã«ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚

キャンセル

Stripeã«ã¯ã‚µãƒ–スクリプションã®ã‚­ãƒ£ãƒ³ã‚»ãƒ«ã‚ªãƒ—ションãŒ2ã¤ã‚りã¾ã™ï¼š

  1. 峿™‚ã‚­ãƒ£ãƒ³ã‚»ãƒ«ï¼šæ—¥å‰²ã‚Šè¨ˆç®—ã®æœ‰ç„¡ã«ã‹ã‹ã‚らãšã€ã‚µãƒ–スクリプションãŒå³åº§ã«ã‚­ãƒ£ãƒ³ã‚»ãƒ«ã•れã¾ã™
  2. 期間終了時ã®ã‚­ãƒ£ãƒ³ã‚»ãƒ«ï¼šç¾åœ¨ã®è«‹æ±‚期間ã®çµ‚了時ã«ã‚­ãƒ£ãƒ³ã‚»ãƒ«ã•れã¾ã™ï¼ˆã‚¢ãƒ—リストアã®ã‚¢ãƒ—リ内サブスクリプションã¨åŒæ§˜ï¼‰ã€‚

Adaptyã¯ã©ã¡ã‚‰ã®ã‚ªãƒ—ションã«ã‚‚対応ã—ã¦ã„ã¾ã™ãŒã€å³æ™‚キャンセルã®å ´åˆã€åŽç›Šè¨ˆç®—ã§æ—¥å‰²ã‚Šè¨ˆç®—オプションã¯è€ƒæ…®ã•れã¾ã›ã‚“。

請求ã®å•題ã¨ã‚°ãƒ¬ãƒ¼ã‚¹æœŸé–“

é¡§å®¢ã®æ”¯æ‰•ã„ã«å•題ãŒç™ºç”Ÿã™ã‚‹ã¨ã€Adaptyã¯è«‹æ±‚å•題イベントを生æˆã—ã€ã‚¢ã‚¯ã‚»ã‚¹ãŒå–り消ã•れã¾ã™ã€‚Stripeã®ã‚°ãƒ¬ãƒ¼ã‚¹æœŸé–“ã¯ã¾ã ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“ãŒã€å°†æ¥ã®ãƒªãƒªãƒ¼ã‚¹ã§å¯¾å¿œäºˆå®šã§ã™ã€‚

返金

AdaptyãŒè¿½è·¡ã™ã‚‹ã®ã¯å…¨é¡è¿”金ã®ã¿ã§ã™ã€‚日割り計算ã«ã‚ˆã‚‹è¿”金や部分返金ã¯ç¾åœ¨ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。

トランザクションIDã®ä¸€æ„性

Adaptyã¯store_transaction_idã¨store_original_transaction_idを使用ã—ã¦ãƒ—ロファイルã¨ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’ç…§åˆã—ã¾ã™ã€‚ã“れらã¯ãƒ†ã‚¹ãƒˆç’°å¢ƒã¨æœ¬ç•ªç’°å¢ƒã®é–“ã§ä¸€æ„ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

ãªãœé‡è¦ãªã®ã‹

åŒã˜ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³IDãŒä¸¡æ–¹ã®ç’°å¢ƒã«å­˜åœ¨ã™ã‚‹ã¨ã€Adaptyã¯ãれらを1ã¤ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¨ã—ã¦æ‰±ã„ã€ä»¥ä¸‹ã®å•題ãŒç™ºç”Ÿã—ã¾ã™ï¼š

  • 本番環境ã®è³¼å…¥ãŒãƒ†ã‚¹ãƒˆç’°å¢ƒã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã¨ãƒ—ロダクトIDを引ãç¶™ã
  • APIレスãƒãƒ³ã‚¹ã§ãƒ—ロダクトIDã¨ç’°å¢ƒã®æƒ…å ±ãŒèª¤ã£ã¦è¡¨ç¤ºã•れる
  • プロファイルã®ç´ä»˜ã‘ã¨ã‚µãƒ–ã‚¹ã‚¯ãƒªãƒ—ã‚·ãƒ§ãƒ³ã‚¤ãƒ™ãƒ³ãƒˆãŒæ­£ã—ãæ©Ÿèƒ½ã—ãªã„

ä¸€æ„æ€§ã‚’確ä¿ã™ã‚‹æ–¹æ³•

Stripeã®ã‚¤ãƒ³ãƒœã‚¤ã‚¹IDã¯ãƒ†ã‚¹ãƒˆç’°å¢ƒã¨ãƒ©ã‚¤ãƒ–環境ã§é‡è¤‡ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚環境をã¾ãŸã„ã IDã®è¡çªã‚’防ãã«ã¯ã€ä»¥ä¸‹ã®ã„ãšã‚Œã‹ã®æ–¹æ³•ã‚’é¸æŠžã—ã¦ãã ã•ã„。

オプション1:環境プレフィックス付ãã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãƒ¬ãƒ™ãƒ«ã®æŽ¡ç•ª

å„環境ã«å¯¾ã—ã¦å€‹åˆ¥ã«ãƒ—レフィックスを設定ã—ã¾ã™ï¼š

  1. Stripeダッシュボードã§ãƒ†ã‚¹ãƒˆãƒ¢ãƒ¼ãƒ‰ã«åˆ‡ã‚Šæ›¿ãˆã¾ã™ã€‚
  2. Settings → Billing → Invoicesã«ç§»å‹•ã—ã¾ã™ã€‚
  3. Invoice numbering ã‚’ Sequentially across your account ã«è¨­å®šã—ã¾ã™ã€‚
  4. Invoice prefix ã‚’ TEST-(ã¾ãŸã¯ãƒ†ã‚¹ãƒˆç’°å¢ƒå›ºæœ‰ã®ä»»æ„ã®ãƒ—レフィックス)ã«è¨­å®šã—ã¾ã™ã€‚
  5. ライブモードã«åˆ‡ã‚Šæ›¿ãˆã¦ã€æ‰‹é †2〜4を繰り返ã—ã¾ã™ã€‚プレフィックスã«ã¯ LIVE-(ã¾ãŸã¯ãƒ©ã‚¤ãƒ–環境固有ã®ä»»æ„ã®ãƒ—レフィックス)を使用ã—ã¾ã™ã€‚

オプション2ï¼šé¡§å®¢ãƒ¬ãƒ™ãƒ«ã®æŽ¡ç•ª

Stripe settings -> Billing -> Invoices タブ㮠Invoice numbering ã‚’ Sequentially for each customer (customer-level) ã«è¨­å®šã—ã¾ã™ã€‚

上記ã®è¨­å®šã‚’行ã£ã¦ã‚‚ã€ã‚¤ãƒ³ãƒœã‚¤ã‚¹ã‚’削除ã™ã‚‹ã¨StripeãŒåŒã˜é¡§å®¢ã®æ–°ã—ã„インボイスã«åŒã˜IDã‚’å†åˆ©ç”¨ã™ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚インボイスã¯ã§ãã‚‹ã ã‘削除ã—ãªã„よã†ã«ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚

AdaptyãŒStripe Checkout(mode=payment)ã¾ãŸã¯Payment Linksを通ã˜ãŸè²·ã„切り(éžã‚µãƒ–スクリプション)購入を追跡ã™ã‚‹ã®ã¯ã€StripeãŒãã®è³¼å…¥ã«å¯¾ã—ã¦ã‚¤ãƒ³ãƒœã‚¤ã‚¹ã‚’生æˆã—ãŸå ´åˆã®ã¿ã§ã™ã€‚デフォルトã§ã¯ã€Stripeã¯è²·ã„切りã®Checkout購入ã«å¯¾ã—ã¦ã‚¤ãƒ³ãƒœã‚¤ã‚¹ã‚’作æˆã—ã¾ã›ã‚“。ã“ã®å ´åˆã€payment_intent.succeededã¯ã‚¤ãƒ³ãƒœã‚¤ã‚¹ãƒ‡ãƒ¼ã‚¿ãªã—ã§åˆ°é”ã™ã‚‹ãŸã‚ã€AdaptyãŒãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’記録ã™ã‚‹ã«ã¯ä¸å分ã§ã™ã€‚

Adaptyã§è²·ã„切りCheckout購入を追跡ã™ã‚‹ã«ã¯ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ä½œæˆæ™‚ã«ã‚¤ãƒ³ãƒœã‚¤ã‚¹ã®ä½œæˆã‚’有効ã«ã—ã¦ãã ã•ã„。ã“れã«ã‚ˆã‚Šã€StripeãŒã‚¤ãƒ³ãƒœã‚¤ã‚¹ã‚’生æˆã—ã€é–¢é€£ã™ã‚‹invoice.createdãŠã‚ˆã³invoice.updatedイベントをé€ä¿¡ã—ã¾ã™ã€‚Adaptyã¯ã“れらã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’処ç†ã—ã¦ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’記録ã—ã¾ã™ã€‚

Stripeデータをã•ã‚‰ã«æ´»ç”¨ã™ã‚‹

Stripeã¨é€£æºã™ã‚‹ã¨ã€Adaptyã¯ã™ãã«ã‚¤ãƒ³ã‚µã‚¤ãƒˆã‚’æä¾›ã§ãる状態ã«ãªã‚Šã¾ã™ã€‚Stripeデータを最大é™ã«æ´»ç”¨ã™ã‚‹ã«ã¯ã€è¿½åŠ ã®Adapty連æºã‚’設定ã—ã¦Stripeã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’転é€ã—ã¾ã—ょã†ã€‚ã“れã«ã‚ˆã‚Šã€ã™ã¹ã¦ã®ã‚µãƒ–スクリプションアナリティクスをAdapty ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ä¸€ã‹æ‰€ã«é›†ç´„ã§ãã¾ã™ã€‚

アナリティクスをã•らã«å¼·åŒ–ã™ã‚‹ãŸã‚ã«ã€Stripeã®metadataã«variation_idã‚’å«ã‚ã‚‹ã¨ã€è³¼å…¥ã‚’特定ã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«ç´ä»˜ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れã¯ã€ç‰¹å®šã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã®è¡¨ç¤ºãŒã‚³ãƒ³ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¤ãªãŒã£ãŸã‹ã©ã†ã‹ã‚’追跡ã—ãŸã„å ´åˆãªã©ã€è‡ªç¤¾è£½ã‚¦ã‚§ãƒ–ペイウォールã®å®Ÿè£…時ã«ç‰¹ã«æœ‰ç”¨ã§ã™ã€‚

variation_idã¯ã€Stripe Subscription(sub_...)ã¨Checkout Session(ses_...)オブジェクトã®metadataã‹ã‚‰ã®ã¿èª­ã¿å–られã¾ã™ï¼š

{
  'customer_user_id': "YOUR_USER_ID",
  'variation_id': "YOUR_VARIATION_ID"
}

Stripeイベントã®è»¢é€ãƒ»åˆ†æžã«ä½¿ç”¨ã§ãる連æºï¼š

サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹Stripeイベント

Adaptyã¯ä»¥ä¸‹ã®Stripeイベントをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ï¼š

  • charge.refunded
  • customer.subscription.created
  • customer.subscription.deleted
  • customer.subscription.paused
  • customer.subscription.resumed
  • customer.subscription.updated
  • invoice.created
  • invoice.updated
  • payment_intent.succeeded
ÿÿÿÿ