Stripe Checkout ãš Stripe ElementsïŒç«ã¡äžãé床ãå¶åŸ¡ãã³ã³ãã©ã€ã¢ã³ã¹
Stripe Checkout ãš Stripe Elements ãæ¯èŒããŠãå°å ¥ã®éããã«ã¹ã¿ãã€ãºæ§ãPCI ç¯å²ãã³ã³ããŒãžã§ã³ãéçšãµããŒãã«äžãã圱é¿ã解説ããŸãã

æ¬åœã«éžãã§ãããã®\n\n人ã Stripe Checkout ãš Stripe Elements ãæ¯èŒãããšããéåžžã¯æ¯æãäœéšãã©ãã«çœ®ãããæ±ºããŠããŸãã\n\nCheckout ã¯ãã¹ãåã®æ¯æãããŒãžã§ããStripe ãããŒãžãææãã顧客ãããã«éããŸããElements ã¯èªåã®ããŒãžã«åã蟌ã UI ã³ã³ããŒãã³ãã§ããããŒãžãšãããŒã¯èªåã管çããStripe ã¯æ¯æããã£ãŒã«ããš API ãæäŸããŸãã\n\nãã®éãã²ãšã€ã§å®åäžã¯äžã€ã®ç¹ã«åœ±é¿ããŸãïŒã©ãã ãéããªãªãŒã¹ã§ãããããã¶ã€ã³ããããŒãã©ãã ãå¶åŸ¡ã§ãããããããŠã©ãã ãã®ã»ãã¥ãªãã£ãšã³ã³ãã©ã€ã¢ã³ã¹äœæ¥ãèªåã§è² ãããã§ãããŸãããµããŒãè² è·ãå€ãããŸããäœãã¹ããããå¢ããã»ã©ã顧客ãã€ãŸããç®æãå¢ããŸãã\n\nééã£ãéžæã¯ãã°ãã°ææ»ããšããŠçŸããŸããããããŒã ã¯ãã«ãã©ã³ãã£ã³ã°ããããã§ãã¯ã¢ãŠãã®ããã« Elements ãéžã³ãåŸããä¿åã«ãŒããå°åå¥ã®æ¯æãæ¹æ³ãèªèšŒããªãã©ã€ãªã©ã®ãšããžã±ãŒã¹å¯Ÿå¿ãå¿ èŠã ãšæ°ã¥ããŸããéã« Checkout ã§çŽ æ©ãåºããŠãããç¹å®ã®ã¿ã€ãã³ã°ã§è¿œå ããŒã¿ãéããããè€éãªã«ãŒã UI ã衚瀺ãç¶ãããããªã©ã®çç±ã§ Elements ã«ç§»è¡ããããšããããŸãã\n\næ©èœãæ¯èŒããåã«ãäœãæé©åããããæ±ºããŠãã ããïŒæéã®ãªãªãŒã¹ãUX ã®æå€§ã³ã³ãããŒã«ãæå°ã®ã³ã³ãã©ã€ã¢ã³ã¹ç¯å²ããããã¯äœãç¶ç¶çãµããŒãè² è·ã\n\n## ç°¡åæ¯èŒïŒãã¹ãåãã㌠vs åã蟌ã¿ã³ã³ããŒãã³ã\n\nStripe Checkout ã¯å®æããããã¹ãåã®æ¯æãããŒãžã§ããStripe ãæ¯æãæ å ±ãåéããæ€èšŒããå€ãã®ãšããžã±ãŒã¹ãåŠçããŠãæ¯æãå®äºæã«é¡§å®¢ãæ»ããŸããä¿¡é Œã§ãããã§ãã¯ã¢ãŠããå°ãªãå¯åéšåã§çŽ æ©ãå®è£ ããéãšããŠäžè¬çã«æçã§ãã\n\nStripe Elements ã¯èªåã®ãµã€ããã¢ããªã«åã蟌ãéšå矀ã§ããæ¯æãç»é¢ãèšèšãããšã©ãŒã®èŠãæ¹ã決ãããããŒå šäœãã³ã³ãããŒã«ããŸãããã®ã³ã³ãããŒã«ã¯æçã§ããããã®ã¶ãä»äºãå¢ãããã°ãå ¥ã蟌ãäœå°ãå¢ããŸãã\n\né¡§å®¢ãæ°ã¥ãç¹ã¯æ¬¡ã®éãã§ãïŒ\n\n| é ç® | CheckoutïŒãã¹ãïŒ | ElementsïŒåã蟌ã¿ïŒ |\n|---|---|---|\n| äœéš | 顧客ã¯ããªãã® UI ãã Stripe ã®ããŒãžã«é·ç§»ãã | 顧客ã¯ããªãã® UI ã®ãŸãŸæ»åšãã |\n| UI ã®æææš© | 䞻㫠Stripe | äž»ã«ããªã |\n| æ€èšŒãšãšããžã±ãŒã¹ | 䞻㫠Stripe | äž»ã«ããªã |\n| ããŒã«ã©ã€ãºã𿝿ã UI | 䞻㫠Stripe | èªåã§çµã¿ç«ãŠãŠãã¹ããã |\n| ç¶ç¶çãªæŽæ° | Stripe ãããŒãžãæŽæ° | ããªããçµ±åãæŽæ°ãã |\n\n決å®ã¯ãã°ãã°æå¿«ã§ãïŒ\n\n- å°äººæ°ã§éãåºããããããã㯠Stripe ã« UX ã®å€ããä»»ããããªã Checkout ãéžãã§ãã ããã\n- æ¯æããã«ã¹ã¿ã ã§å¯ã«çµ±åãããå¿ èŠããããååã«ãã¹ãã§ãããªã Elements ãéžãã§ãã ããã\n\nCheckout ã®é床æã¯æ¬²ãããå°ãã®ã«ã¹ã¿ã UX ãå¿ èŠããšããå Žåã¯ããŸãå ·äœç㪠UI èŠä»¶ãæŽãåºããCheckout ãããããæºãããã確èªããŠããåã蟌ã¿ã決ãããšè¯ãã§ãã\n\n## ãªãªãŒã¹ãŸã§ã®æéïŒå®éã«äœãäœãã\n\nã¹ããŒãã¯å€ãã®ããŒã ã Checkout ãéžã¶äž»ãªçç±ã§ããæ¬åœã®åãã¯ã忥ã§ã©ãã ããèªåãã¡ã§ææããããã§ãã\n\nCheckout ã§ã¯ãäœæ¥ã®å€ãã¯ãµãŒããŒåŽã§ã»ãã·ã§ã³ãäœæããŠãŠãŒã¶ãŒã Stripe ã®ãã¹ãããŒãžã«ãªãã€ã¬ã¯ãããé ç·ã§ããããã§ãåšèŸºã¯å¿ èŠã§ãïŒæåïŒãã£ã³ã»ã«ã®æ»ãåŠçããããŠæçµçµæã webhookïŒåãªããªãã€ã¬ã¯ãã§ã¯ãªãïŒã§ç¢ºèªããããšã\n\nElements ã¯éåžžæéãããããŸããæ¯æããã©ãŒã ãšãã®æ¯ãèããèªåã® UI ã§äœãããã§ããå žåçãªã»ããã¢ããã¯ãã¯ã©ã€ã¢ã³ãåŽã® StripeããµãŒããŒåŽã® PaymentIntentïŒå Žåã«ãã£ãŠã¯ SetupIntentïŒããã㊠UI ãæ¯æã確èªãšã€ãªããããžãã¯ãå«ã¿ãŸããé ããªãåå ã¯ãã°ãã°ãStripe ã®ã³ãŒããèªäœã§ã¯ãªãããã§ãã¯ã¢ãŠãã確å®ã«ãã现éšã§ãïŒããŒãç¶æ ããã£ãŒã«ãæ€èšŒãå°åå¥ã®ãšã©ãŒã¡ãã»ãŒãžã3DS èªèšŒãããŒããªãã¬ãã·ã¥ãæ»ãæäœã«ããè³Œå ¥ç Žç¶»ã®é²æ¢ãªã©ã\n\nããŒã ãé ãããäžè¬çãªèŠå ã¯æ¿èªããšããžã±ãŒã¹ã§ãïŒãã©ãŒã ããã¶ã€ã³ã·ã¹ãã ã«åãããããšãã«ãŒãæåŠæã®åŠçæ¹éãã¢ãã€ã«ãã©ãŠã¶ã§ã®ãã¹ããçšéãã¯ãŒãã³ãè€æ°ååã®æ±ããªã©ãããäžã€ã®é å»¶èŠå 㯠Webhooks ãä»»ææ±ãã«ããŠããŸããåŸã«ãªã£ãŠæ³šæã確å®ã«æŽæ°ã§ããªãããšã«æ°ã¥ãã±ãŒã¹ã§ãã\n\nãå®äºããšã¯ãäžåæ¯æããæåããã以äžã®æå³ã«ãã¹ãã§ãããªãªãŒã¹åã«åºæ¬ãã«ããŒããŠããã確èªããŠãã ããïŒStripe ã®ç¢ºèªïŒé åæžãwebhook é§åã®æ³šæç¶æ ïŒpaidãfailedãrefundedãdisputedïŒããµããŒãçšã®æãæ»ãçµè·¯ïŒæåã¯æåã§ãå¯ïŒãStripe ã¬ããŒãã£ã³ã°ã«ããç §åç¿æ £ãæåã»å€±æã»èªèšŒå¿ é ã®æ¯æãã«å¯Ÿãããã¹ãèšç»ã\n\n## ã«ã¹ã¿ãã€ãºå¶éãš UX ã®ã³ã³ãããŒã«\n\nå®åäžã®æå€§ã®éã㯠UX ãã©ãã«ãããã§ããCheckout ã§ã¯ Stripe ãæ¯æãããŒãžãææããããªãã¯äž»ã«ã¹ã¿ã€ãªã³ã°ãè¡ããŸããElements ã§ã¯æ¯æããã©ãŒã ãããªãã®ãããã¯ãã®äžéšãªã®ã§ãã¬ã€ã¢ãŠãããšããžã±ãŒã¹ãŸã§èªåã§ç®¡çããŸãã\n\nCheckout ã¯åºæ¬çãªãã©ã³ãã£ã³ã°ããµããŒãããŸãããå®å šãªå¶åŸ¡ãŸã§ã¯å±ããŸãããããŽããã©ã³ãã«ã©ãŒãèŠæ±ããæ å ±ã®èšå®ãªã©ã¯ã§ããŸãããããŒãžæ§é ãå šé¢çã«äœãæ¿ããããå®å šã«ã«ã¹ã¿ã ãªstep-by-step ãããŒãçµãããšã¯äžè¬ã«ã§ããŸããã\n\nããããå¶çŽã¯ããã£ãŒã«ãã®é åºãã¬ã€ã¢ãŠãã®çްããå¶åŸ¡ãã«ã¹ã¿ã æèšãã€ã³ã©ã€ã³ãã«ãã®å¶çŽãç¹å®ã®ã¿ã€ãã³ã°ã§è¿œå ããŒã¿ãéãããããŒãžã®æè»æ§ã®äžè¶³ã§ãã\n\nElements ã¯ãã®éã§ãããã£ãŒã«ãã奜ããªå Žæã«çœ®ããããæ¯æããè€æ°ã¹ãããã«åããããæ£ç¢ºãª UI ã¹ã¿ã€ã«ã«åããããã§ããŸããã¢ã«ãŠã³ãäœæããã©ã³éžæãã¯ãŒãã³é©çšããã©ã€ã¢ã«ç¢ºèªã®ãããªé·ãããã»ã¹ã«æ¯æããçµã¿èŸŒãŸããå Žåã«æå©ã§ãã\n\nã¢ã¯ã»ã·ããªãã£ãšããŒã«ã©ã€ãºã¯ã©ã¡ãã«ãéèŠã§ããCheckout ã¯æçããããŒã«ã©ã€ãº UI ãšåŒ·ãããã©ã«ããåããŠããŸããElements ã§ã¯ Stripe ãã¢ã¯ã»ã·ãã«ãªã³ã³ããŒãã³ããæäŸããŸãããã©ãã«ããã©ãŒã«ã¹é ããšã©ãŒã¡ãã»ãŒãžã翻蚳æèšãªã©ããŒãžå šäœãèªåã§ãã¹ãããå¿ èŠããããŸãã\n\nç¡æãã©ã€ã¢ã«ãšä»»æã®ããã¢ã³ãŒãã䜿ããµãã¹ã¯ãªãã·ã§ã³ã販売ãããªããCheckout ã§çŽ æ©ãå®çžŸãããããŒãæ§ç¯ã§ããããšãå€ãã§ããäžæ¹ã§ãåœãäŒç€Ÿçš®å¥ã§èª¬æããã©ã³æ¯èŒãäœæåéãå€ããããªã Elements ãå¿ èŠã§ããããã®å UX ã®äœæ¥ã¯å¢ããŸãã\n\n## ã³ã³ãã©ã€ã¢ã³ã¹ã®ç¯å²ïŒäºæ¥ãè² ãã¹ãããš\n\nPCI ã³ã³ãã©ã€ã¢ã³ã¹ã¯äž»ã«ã«ãŒãããŒã¿ã«èªåã®ã·ã¹ãã ãè§Šãããã©ããã«åž°çããŸããã«ãŒãæ å ±ãèªç€Ÿã®ãŠã§ããµã€ããã¢ããªãéãã»ã©ãææžåããã¹ããç¶æãã¹ã管çé ç®ãå¢ããŸãã\n\nStripe Checkout ã§ã¯æ¯æãããŒãžã Stripe ã«ãã¹ããããŸããããªãã®ãããã¯ãã¯ã»ãã·ã§ã³ãªã¯ãšã¹ããäœæãã顧客㯠Stripe ã®ããŒãžã§ã«ãŒãæ å ±ãå ¥åããŸããå®åã§ã¯ãã«ãŒãå ¥åãèªç€Ÿãã¡ã€ã³å€ã§è¡ããããã PCI ã¹ã³ãŒããå°ããä¿ãããããšãå€ãã§ãã\n\nStripe Elements ã§ã¯æ¯æããã£ãŒã«ããèªåã® UI å ã«è¡šç€ºãããŸããStripe ã¯äŸç¶ãšããŠã»ã³ã·ãã£ããªã«ãŒãããŒã¿ãè£åŽã§æ±ããŸãããæ¯æãäœéšãèªåã®ã¢ããªå ã«ãããããåšèŸºãããŒã®å€ããèªåã§ç®¡çããããŒãžã®æ§ç¯ãèªã¿èŸŒã¿ãç£èŠã«å¯ŸããŠãã峿 Œã§ããå¿ èŠããããŸãã\n\nã©ã¡ããéžãã§ããæ¯æãåšèŸºã®ã»ãã¥ãªãã£ã¯èªåã®è²¬ä»»ã§ããããŒã ãèŠèœãšããã¡ãªåºæ¬ã¯æ¬¡ã®éãã§ãïŒAPI ããŒã®ä¿è·ãšããŒããŒã·ã§ã³ãWebhook 眲åã®æ€èšŒãšå®å šãªå詊è¡ã®åŠçã管çè ã¢ã¯ã»ã¹ã®å¶éãš 2FAã顧客ããŒã¿ïŒã¡ãŒã«ãäœæãæ³šæå±¥æŽïŒã®ä¿è·ããã§ãã¯ã¢ãŠãããžãã¯ã®æ¹ãã鲿¢ïŒäŸ¡æ Œãæ°éãå²åŒïŒã\n\nãªã¹ã¯ãã³ã³ãã©ã€ã¢ã³ã¹ã®æ åœè ããããªãæ©æã«å·»ã蟌ãã§ãã ãããè¯ãéžæãšã¯ããªãªãŒã¹æ¥ã¯ãã¡ããããã®åŸæ¯é±å®å šã«éçšã§ãããã®ã§ãã\n\n## åãªãã·ã§ã³ãã³ã³ããŒãžã§ã³ã«äžãã圱é¿\n\nã³ã³ããŒãžã§ã³ã¯äž»ã«ä¿¡é Œã𿩿Šã«åž°çããŸãïŒãŠãŒã¶ãŒã¯å®å šã ãšæããããé©ããªãçŽ æ©ãå®äºã§ãããã\n\nCheckout ã¯èŠªãã¿ãããæŽç·Žãããæ¯æãããŒãžãæäŸããããé¢è±ãæžããããšãå€ãã§ããã«ãŒã倱æãèªèšŒå¿ é ãå°åå¥ã®æ¯æãæ¹æ³ãªã©å€ãã®ãšããžã±ãŒã¹ã远å ç»é¢ãªãã§æ±ã£ãŠãããŸãã\n\nElements ã¯ãã¡ãã«ãäžäœæãæã€å¿ èŠããããšãã«åã¡ãŸããæéããã©ãŒã å ã®åçïŒåº§åžæ°ãã¢ããªã³ãéå±€ïŒã«äŸåããå Žåãåã蟌ã¿ã®æ¯æãã¹ãããã¯ã³ã³ããã¹ããç¶æããé©åãªå®å¿æèšã衚瀺ããäžèªç¶ãªãã³ããªããé¿ããããŸãã\n\n### ã³ã³ããŒãžã§ã³ãæãå£ãèŠå \n\nå°ããªç¹ãå®äºçãéãã«äžããŸããããããåå ã¯äžæçãªåèšãé ããŠåºãçšãææ°æãéå°ãªå ¥åé ç®ïŒç¹ã«æ¯æãã«é¢ä¿ãªããã®ïŒã匱ããšã©ãŒã¡ãã»ãŒãžãã¢ãã€ã«ã§ã®æ©æŠïŒèªã¿èŸŒã¿é å»¶ãå°ããå ¥åãããŒããŒãã®åé¡ïŒã§ãã\n\nCheckout ã¯ã¢ãã€ã«ã§ãæåãå®å®ãããã¹ãæžã¿ã®ãã©ãŒã ãæäŸããããšã§ãã®ç¹ãå©ããŸããElements ã¯äžèŠãªã¹ããããæžãããæ¢ç¥ã®ããŒã¿ãèªåå ¥åãããŠãŒã¶ãŒãã€ãŸããç®æã«æ£ç¢ºãªã¡ãã»ãŒãžãåºããå Žåã«æå¹ã§ãã\n\n### æ£ããæž¬å®æ¹æ³\n\næèŠã§å€æããªãã§ãã ãããããŒã¹ã©ã€ã³ãèšå®ããäžåºŠã«äžã€ã ã倿Žãå ããŸããããå¯èœãªã A/B ãã¹ããè¡ããã³ããŒãïŒæ°èŠ vs ãªããŒã¿ãŒãã¢ãã€ã« vs ãã¹ã¯ããããåœå¥ïŒãæ¯èŒããŸãããã¡ãã«ã端ãã端ãŸã§è¿œè·¡ããŠãã ããïŒèšªå â ãã§ãã¯ã¢ãŠãéå§ â æ±ºæžè©Šè¡ â æåã\n\nã·ã³ãã«ãªã«ãŒã«ã¯ãéãåŠã¹ãéžæãããããšã§ããæè¯ã®ãã§ãã¯ã¢ãŠãã¯ãéåžžæ¯é±æ¹åã§ãããã®ã§ãã\n\n## ãµããŒããšä¿å®è² è·\n\nãµããŒãã¯ãªãªãŒã¹åŸã«å·®ãåºãéšåã§ããCheckout ã§ã¯ Stripe ããã¹ãããŒãžã® UX ãææããæ°ãããã©ãŠã¶ããŠã©ã¬ããã®å€æŽãå€ãã®ãšããžã±ãŒã¹ã«å¯ŸããŠäºææ§ãä¿ã¡ãŸããElements ã§ã¯ UI ã¬ã€ã€ãŒãšã¯ã©ã€ã¢ã³ãåŽã®æåãèªåã§ç®¡çãããããã¹ã¿ãã¯ã®å°ããªå€æŽãæ¯æãåé¡ã«ã€ãªããããšããããŸãã\n\næéãçµã€ãšãå£ããã®ã¯äžè¬çãªã決æžãã®ãã®ãã§ã¯ãããŸããã詳现ãåå ã§ãïŒéè¡ã¢ããªã®æ°ãã 3DS ãããŒããªãŒããã£ã«ã«åœ±é¿ãããã©ãŠã¶æŽæ°ãå ¥åãé ãã¢ãã€ã«ããŒããŒããæ€èšŒã倿Žãã SDK ã®æŽæ°ãªã©ãCheckout ã¯ããããããå€ãåžåããŸããElements ã¯å¶åŸ¡ãäžããŸãããä¿å®ãå¢ããŸãã\n\nãµããŒããã±ããã¯ãã°ãã°æ¬¡ã®ããã«çŸããŸãïŒ\n\n- Checkout: ãæ»ããããæ¯æãããããåãããªãããã«ãŒããæåŠããããããªã远å ã®æ€èšŒãå¿ èŠãªã®ãã\n- Elements: äžèšã«å ããPay ãã¿ã³ãç¡å¹ã«ãªã£ãŠããããäœæãæ€èšŒãããªãããApple Pay ã衚瀺ãããªããããã¹ã¯ãããã§ã¯åããæºåž¯ã§ã¯åããªãã\n\nè¯ããããã°ç¿æ £ã¯ãã±ããéãšä¿®åŸ©æéãæžãããŸãããŠãŒã¶ãŒå ±åã PaymentIntent ã Checkout Session ã«çŽã¥ããæçµã€ãã³ãçµæãŸã§ãã©ããããã«ããŠãã ãããWebhook é ä¿¡ãšå詊è¡ãç£èŠããåªçæ§ã䜿ããäž»èŠãª Stripe ID ãããŒã¿ããŒã¹ã«ä¿åããŠãµããŒããè¿ éã«åå ãç¹å®ã§ããããã«ããŸãããã\n\n## é¿ããã¹ããããããã¹\n\næ¯æããããžã§ã¯ãã¯ããã§ãã¯ã¢ãŠãããã¶ã€ã³ã¿ã¹ã¯æ±ãã«ãããšå€±æããŸãããã§ãã¯ã¢ãŠãã¯åçã«çŽçµããéèŠãªãããŒã§ãã\n\næ©ãããä»äžããç®æãã®ã¯çœ ã§ããä»é±åºããã·ã³ãã«ã§æç¢ºãªãã§ãã¯ã¢ãŠãã¯ãå®ç§ã§æ¥æåºããã®ããåã€ããšãå€ãã§ãã\n\né¿ããããæå€§ã®åé¡ã¯äžè²«ããŠããŸãïŒ\n\n- Webhooks ãé£ã°ããŠæåãªãã€ã¬ã¯ãã«é ŒãããšïŒâæ¯æãããïŒâã®ç¶æ ã«ãªãïŒ\n- SCA/3DS ã倱æãã¹ããã¹ãããªãããšãå蚪æã®æåãå«ããŠããªãããš\n- ã·ãŒã¯ã¬ãããã¯ã©ã€ã¢ã³ãã«çœ®ãã匷ãèªå¯ãªãã«æ¯æãã¢ã¯ã·ã§ã³ãèš±ãããš\n- ç §åã®ãªã泚æç¶æ ãäœãããšã§ãæ¯æãã»æ³šæã»è¿éãäžæŽåã«ãªãããš\n- æåã®ããŒãžã§ã³ã§ä»ã¯äžèŠãªãšããžã±ãŒã¹ãè©°ã蟌ã¿ãããããš\n\nããããäºäŸïŒããããŒã ã¯æåãªãã€ã¬ã¯ããæ ¹æ ã«ãŠãŒã¶ãŒãæå¹åããŸãã3DS ã®éã«ã¿ããéãããŠãŒã¶ãŒã§ãåŸã§èª²éãæåããããšããããWebhook ããªããšãµããŒããæåã§ã¢ã«ãŠã³ããæå¹åãã矜ç®ã«ãªããŸãã\n\n## 5 ã¹ãããã§æ±ºããæ¹æ³\n\nè¿·ã£ãŠãããªããäŒè°ã§äžäŒåã§çããããçãèšåã«åºã¥ããŠæ±ºããæž¬å®å¯èœãªãã®ãåºãããšã«ã³ãããããŠãã ããã\n\n1. å¿ èŠãªæ¯æããããŒãæ£ç¢ºã«æžãåºãïŒäžåæãããµãã¹ã¯ããã©ã€ã¢ã«ãã¯ãŒãã³ãã¢ããã°ã¬ãŒããä¿åã«ãŒããè¿éã\n2. UI ã³ã³ãããŒã«ãã©ãã ãéèŠãæ£çŽã«è©äŸ¡ãããã«ã¹ã¿ã ãªãã«ãã¹ããããå¿ èŠãªããã¹ãããŒãžã®éçãæããã§ãããã\n3. ã³ã³ãã©ã€ã¢ã³ã¹ã®è²¬ä»»ãšãªã¹ã¯èš±å®¹ãããããããç¶ç¶çãªã»ãã¥ãªãã£ã¬ãã¥ãŒãèª°ãæ åœããªããªããã»ã³ã·ãã£ããªéšåãã¢ããªå€ã«çœ®ãæ¹ãå®å šã§ãã\n4. ã³ãããåã«å·¥æ°ãè©äŸ¡ããïŒããã³ããšã³ããããã¯ãšã³ãããã¹ãã±ãŒã¹ãç¶ç¶çãªæŽæ°ãæ³å®ããããµããŒãéã\n5. 2 é±éãã©ã³ã決ããïŒåºããŠæž¬ããå埩ããã\n\nå°ããªããŒã ããµãã¹ã¯ãªãã·ã§ã³ãç«ã¡äžãããšãã¯ãéãå®å šãªéãéžã³ãæç¢ºã« UX åé¡ãç¹å®ã§ãããšãã« Elements ãæ€èšããããšãå€ãã§ãã\n\n## äŸïŒå°äººæ°ããŒã ã§ãµãã¹ã¯ãªãã·ã§ã³ãç«ã¡äžãã\n\n2 人㮠SaaS ããŒã ãç¿æã«ææãã©ã³ãåºããšæ³åããŠãã ãããã·ã³ãã«ãªæéããŒãžãšãã©ã³å€æŽçšã®ã«ã¹ã¿ããŒããŒã¿ã«ããããå€éã®è«æ±å¯Ÿå¿ãæžãããããšããŸãã\n\nCheckout ãªãäžè¬ã«ããŸãæ¯æããåãããŠãåŸã§ç£šããèšç»ã«ãªããŸããStripe ã« Product ãš Price ãäœããéžæããããã©ã³ã§ Checkout Session ãçæãããã¹ãããŒãžãžéããŸããåšèŸºããžãã¯ã¯å¿ èŠã§ãïŒãã©ã³éžæãã¢ã«ãŠã³ãäœæãwebhook ãã³ãã©ã§ãŠãŒã¶ãŒã paid ã«ãããæŽæ°ãå€±ææ¯æãã«å¯Ÿå¿ãããªã©ãå©ç¹ã¯ã¹ããŒããšãã«ãŒããã©ãŒã ã Stripe ã«ãã¹ããããããã»ãã¥ãªãã£ãšã³ã³ãã©ã€ã¢ã³ã¹ã®ç¯å²ãå°ãããªãç¹ã§ãã\n\nElements ã§ã¯é¡§å®¢ã¯ãµã€ãã«æ®ããæ¯æãäœéšå šäœãã³ã³ãããŒã«ããŸããè€æ°åžãçš IDãæ³šæã¡ã¢ãªã©ã®è¿œå ãã£ãŒã«ããå¿ èŠã ã£ãããç¹å®ã®ã¬ã€ã¢ãŠããæèšãå¿ èŠãªå Žåã«å¹æããããŸãããããããã®å UI äœæ¥ããšããžã±ãŒã¹å¯Ÿå¿ãå¢ããæ¯æã段éãèªç€Ÿç®¡çã«ãªãããã³ã³ãã©ã€ã¢ã³ã¹ç¯å²ãåºããã®ãéåžžã§ãã\n\nãé©ããªããµãã¹ã¯ãªãã·ã§ã³ãç«ã¡äžããããç®æšãªããCheckout ã§å§ããã®ãå€ãã®å Žåè¯ãéžæã§ããElements ã¯å ·äœçã§é«ã³ã¹ããªå¶çŽã解決ãããšãã«åæ€èšããŠãã ããã\n\nãªãªãŒã¹åŸã¯ 2 é±éã»ã©äž»èŠãªæ°å€ã远跡ããŠããäœããå€ããŸãããïŒå®äºçïŒéå§ããæ°ã«å¯Ÿããæ¯æãæ°ïŒãã©ãã§é¢è±ããŠãããïŒæéããµã€ã³ã¢ãããæ¯æãïŒãæ¯æã倱æãšå埩çãè¿éãšãã£ãŒãžããã¯ãããããè«æ±é¢é£ã®è³ªåã\n\n## ãã§ãã¯ãªã¹ããšæ¬¡ã®ã¹ããã\n\n次㮠6ã12 ãæãæ°æã¡ããéçšã§ããæ±ºå®ãããããã«ãã®ãã§ãã¯ãªã¹ãã䜿ã£ãŠãã ãããç®æšã¯å®ç§ã§ã¯ãªããæå°ã®ãªã¹ã¯ã§ååãåŸãããšã§ãã\n\nCheckout ã¯éåžžãéãåºãå¿ èŠãããããããŒãã·ã³ãã«ã§ãPCI ã®è² æ ãå°ããããããããã€ã¹éã§ã® UI ãã°ãæžããããå Žåã«é©ããŠããŸãã\n\nElements ã¯ãã§ãã¯ã¢ãŠãããããã¯ã UI ã«å®å šã«äžèŽããå¿ èŠãããããã¡ãã«ãã«ã¹ã¿ã ïŒã¢ããã»ã«ãã¢ããªã³ãã¯ã¬ãžããïŒãæ€èšŒããã£ãŒã«ãæåã«æ·±ãå¶åŸ¡ãå¿ èŠã§ãç¶ç¶çãªä¿å®ã«æéãå²ããå Žåã«é©ããŠããŸãã\n\nã³ãããåã«å¹³æãªèšèã§æ¬¡ãæç¢ºã«ããŠãã ããïŒæåã«å¯Ÿå¿ãã¹ãåœãšèšèªã¯ã©ããïŒã©ã®æ¯æãæ¹æ³ãå¿ é ãïŒä¿åã«ãŒãã顧客ãããè€æ°ãµãã¹ã¯ãªãã·ã§ã³ã¯å¿ èŠãïŒè¿éãçŽäºãå€±ææ¯æãã¯ã©ããã³ãã«ããæ±ºæžå€±æã®ãã±ããã¯èª°ã察å¿ãããïŒ\n\nå®éã®ãããã¯ããšäŸ¡æ Œã§äž¡æ¹ã®ãããŒããããã¿ã€ãããã¢ãã€ã«ãšãã¹ã¯ãããã§å éšãã¹ããè¡ã£ãŠãã ãããå®äºçããµããŒãè² è·ãçºèŠããé¢åãªãšããžã±ãŒã¹ã®æ°ã§éžã³ãŸãããã\n\næ¯æãã«é¢ããããã¯ãšã³ãããŠã§ããã¢ãã€ã«ãå«ããã«ã¢ããªãäœããªããAppMaster (appmaster.io) ã®ãããªããŒã³ãŒããã©ãããã©ãŒã ã¯ãStripe ID ã webhook é§åã®ç¶æ ãåšèŸºããžãã¯ãããŒã¿ã¢ãã«ã«æŽçãã€ã€ãšã³ãããŒãšã³ãã®ãããŒãçŽ æ©ãåºãçŸå®çãªæ¹æ³ã«ãªãåŸãŸãã
ãããã質å
Stripe Checkout ã¯é¡§å®¢ããªãã€ã¬ã¯ããããã¹ãåã®æ¯æãããŒãžã§ãUI ãšå€ãã®ãšããžã±ãŒã¹ã Stripe ã管çããŸããStripe Elements ã¯èªåã®ããŒãžã«åãèŸŒãæ¯æã UI ã³ã³ããŒãã³ãã§ãã¬ã€ã¢ãŠãããããŒã¯èªåã§ç®¡çããŸããããã®ååäœããã¹ããèªåã§æ ããŸãã
çŽ æ©ãç«ã¡äžã㊠UI ã®ä¿å®ãæžãããããªãããŸã Stripe Checkout ãéžãã§ãã ãããäžè¬ã«ãã¢ãã€ã«å¯Ÿå¿ã§ä¿¡é Œã§ãããã§ãã¯ã¢ãŠããæçã§å®è£ ã§ããStripe ãå€ãã®æ€èšŒããšããžã±ãŒã¹ãæ±ã£ãŠãããŸãã
ãã«ãã¹ãããã®ãªã³ããŒãã£ã³ã°ãè€éãªã«ãŒããã¢ããªã³ãç¹å®ã®ã¿ã€ãã³ã°ã§è¿œå ããŒã¿ãåéãããªã©ãæ¯æããã«ã¹ã¿ã ãã¡ãã«ã«å¯æ¥ã«çµã¿èŸŒãŸããå¿ èŠãããå Žå㯠Elements ãåããŠããŸããåã«èŠãç®ããã©ã³ãå¯ãã«ãããã ããªããCheckout ã§ååè¿ã¥ããããããšãå€ãã§ãã
æåããŒãžã®ãªãã€ã¬ã¯ãã ãã«é Œããªãã§ãã ããããŠãŒã¶ãŒãã¿ããéããããèªèšŒã«å€±æããããæ±ºæžãé ããŠå®äºããããšããããŸããWebhooks ã䜿ãã° Stripe ã®æçµã€ãã³ãã«åºã¥ããŠæ³šæããµãã¹ã¯ãªãã·ã§ã³ã®ç¶æ ãæŽæ°ã§ããâæ¯æãããïŒâãšããäžç¢ºå®ããé²ããŸãã
PCI ã¹ã³ãŒããšã»ãã¥ãªãã£ã§ã¯ãStripe Checkout ã®æ¹ãäžè¬ã«ç¯å²ãå°ããä¿ãŠãŸããã«ãŒãå ¥åã Stripe ã®ãã¹ãããŒãžäžã§è¡ãããããã§ããElements ã¯ã«ãŒãããŒã¿èªäœã¯ Stripe ãæ±ã£ãŠããæ¯æãäœéšãèªåã®ã¢ããªå ã«ãããããããŒãžã®äœãæ¹ãç£èŠã«å¯Ÿããæºåãããå¿ èŠã«ãªããŸãã
ãµãã¹ã¯ãªãã·ã§ã³ãç¡æãã©ã€ã¢ã«ã®åºçºç¹ãšããŠã¯ãCheckout ãæ»ããã§å®çžŸã®ãããããŒãæäŸããããå€ãã®å Žåãã¿ãŒã§ããElements ã¯ãµã€ã³ã¢ããã«é«åºŠãªã«ã¹ã¿ãã€ãºãæ¡ä»¶ä»ããã£ãŒã«ãã説æãå¿ èŠãªå Žåã«äŸ¡å€ãçºæ®ããŸãã
å€åœèªãå°åå¥ã®æ¯æãæ¹æ³ãâåºãã«ããŒããâç¹ã§ã¯ Checkout ã®åã¡ã§ããStripe ã¯æçããããŒã«ã©ã€ãº UI ãšé©åãªããã©ã«ããæäŸããŸããElements ã§ãåãæ¹æ³ã¯ãµããŒãã§ããŸããã忝æãæ¹æ³ã®åäœã翻蚳ããšã©ãŒãã³ããªã³ã°ãèªåã§çµã¿åãããŠãã¹ãããæéãå¢ããŸãã
蚪å â ãã§ãã¯ã¢ãŠãéå§ â æ±ºæžè©Šè¡ â æåããšãããã¡ãã«å šäœã远跡ããã¢ãã€ã«ãšãã¹ã¯ããããæ°èŠãšãªããŒã¿ãŒãæ¯èŒããŠãã ãããå°ããªå埩ã§åŠã¹ãæ¹ãéžã¶ã®ãéèŠã§ãã
PaymentIntent ã Checkout Session ãšãã£ãäž»èŠãª Stripe ID ãããŒã¿ããŒã¹ã«ä¿åããŠããµããŒãããŠãŒã¶ãŒå ±åãç¹å®ã®çµæã«ãã©ããããã«ããŠãã ãããWebhook ã®çœ²åæ€èšŒãå詊è¡ã®å®å šãªåŠçãåªçæ§ã®å©çšãéèŠã§ãã
æç¢ºã§é«ã³ã¹ãã®å¶çŽããªããªããŸã Checkout ã§å§ããå ·äœçã«è§£æ±ºãã¹ã UX åé¡ãåºãŠããã Elements ã«ç§»è¡ãããšè¯ãã§ããAppMaster (appmaster.io) 㯠Stripe ID ã webhook é§åã®ç¶æ ãåšèŸºããžãã¯ãäžç®æã§ã¢ããªã³ã°ããªãããæäœæ¥ã§å šãŠãæžããã«å®éçšã¢ããªãçŽ æ©ãåºãå©ãã«ãªããŸãã


