Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kibelaの決済の仕組み

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for michiomochi michiomochi
August 03, 2018
780

 Kibelaの決済の仕組み

Avatar for michiomochi

michiomochi

August 03, 2018
Tweet

Transcript

  1. ಓ઒ խՅ @michiomochi Michikawa Masayoshi ܦྺ 2016೥4݄ Ϗοτδϟʔχʔೖࣾ Kibela։ൃதʂˡ ࠓ͜͜

    2014೥4݄ ׽ํσεΫೖࣾ (Cookpadؔ࿈ձࣾ) 2011೥ʙ ͍ΖΜͳITاۀΛసʑͱ 2009೥4݄ ੕໺Ϧκʔτೖࣾ (೔ຊྉཧ΍ͬͯ·ͨ͠) גࣜձࣾϏοτδϟʔχʔ
  2. KibelaͷྉۚઃܭϙϦγʔ • ެฏʹ՝ۚ͢Δ • ΞΫηε͕ͳ͍Ϣʔβʔ෼ͷར༻ྉ͸੥ٻ͠ͳ͍ • খ͞ͳ૊৫ΛԠԉ͢Δ • 5໊ҎԼͷνʔϜ͸ͣͬͱແྉͰ࢖͑Δ •

    ٕज़ίϛϡχςΟ΍ڭҭػؔ౳ͷඇӦརஂମ͸ར༻ਓ਺ ʹؔΘΒͣແྉ • ެฏʹબ୒ͯ͠΋Β͑ΔΑ͏ʹ͢Δ • ଞࣾ੡඼ͱൺֱݕ౼ͯ͠΋Β͏Α͏ʹ͢Δ ͲͷΑ͏ʹߟ͑ྉۚઃܭΛߦ͔ͬͨ
  3. KibelaͷྉܾۚࡁͷྲྀΕ 1. νʔϜͷ࡞੒ 2. Freeϓϥϯ͔ΒStandardϓϥϯ΁ΞοϓάϨʔυ • 2ϲ݄ؒ͸τϥΠΞϧظؒ 3. τϥΠΞϧظ͕ؒऴΘΔͱಉ࣌ʹݱࡏͷϢʔβʔ਺෼ͷྉܾۚ ࡁΛ࣮ߦ

    4. Ϣʔβʔ௥Ճͷ౓ʹ௥Ճ෼Λཌ೔ͷAM 9:00ʹ·ͱΊͯ੥ٻ 5. SubscriptionͷకΊ೔͕͖ͨΒΞΫηεͷͳ͔ͬͨϢʔβʔ਺ ෼ͷྉۚΛKibelaϙΠϯτͰؐݩ 6. 3ʹ໭ΓɺҎԼ܁Γฦ͠
  4. ྉܾۚࡁΛͲͷΑ͏ͳ࢓૊ΈͰ ࣮ݱ͍ͯ͠Δ͔ ҎԼͷ෦෼Λ঺հ͠·͢ 4. Ϣʔβʔ௥Ճͷ౓ʹ௥Ճ෼Λཌ೔ͷAM 9:00ʹ·ͱΊͯ੥ٻ 5. SubscriptionͷకΊ೔͕͖ͨΒΞΫηεͷͳ͔ͬͨϢʔβʔ਺ ෼ͷྉۚΛKibelaϙΠϯτͰؐݩ 1.

    νʔϜͷ࡞੒ 2. Freeϓϥϯ͔ΒStandardϓϥϯ΁ΞοϓάϨʔυ 3. τϥΠΞϧظ͕ؒऴΘΔͱಉ࣌ʹݱࡏͷϢʔβʔ਺෼ͷྉܾۚ ࡁΛ࣮ߦ 6. 3ʹ໭ΓɺҎԼ܁Γฦ͠
  5. Ϣʔβʔ௥Ճͷ౓ʹ௥Ճ෼Λཌ೔ͷAM 9:00ʹ ·ͱΊͯ੥ٻ ͦ΋ͦ΋ͳͥ͜Μͳ͜ͱΛ͍ͯ͠Δͷ͔ • Kibela͸Ϣʔβʔ਺ʹΑΓ੥ٻֹ͕มΘΔ • ͭ·Γैྔ՝ۚͷαʔϏε • Ωϟογϡϑϩʔతʹɺ·ͨऔΓͬͺ͙ΕϦεΫΛճආ͢Δ

    ͨΊʹઌ෷͍ʹ͍ͨ͠ • Ωϟογϡϑϩʔత = ͓͕ۚग़དྷΔ͚ͩૣ͘ೖ͖ͬͯͯ΄ ͍͠ • খ͍͞ձࣾʹͱͬͯݱۚΛૣ͘ड͚औΕΔͷ͸ඇৗʹେࣄ • ैྔ՝ۚαʔϏεͰઌ෷͍ʹ͢Δͷ͸޻෉͕ඞཁ
  6. Ϣʔβʔ௥Ճͷ౓ʹ௥Ճ෼Λཌ೔ͷAM 9:00ʹ ·ͱΊͯ੥ٻ • Ϣʔβʔ࡞੒ͱಉ࣌ʹݱࡏͷPlanͱಉ͡੥ٻֹͷInvoiceItem Λ࡞੒ • InvoiceItem͸࡞੒͚ͨͩ͠Ͱ͸ܾࡁ͞Εͳ͍ • ຖ೔AM

    9:00ʹInvoiceItem͕ͳ͍͔֬ೝ͠ɺ͋Ε͹InvoiceΛ ࡞੒͢ΔόονΛ࣮ߦ͢Δ • όονͷ࣮ߦʹ͸Kuroko2Λ࠾༻ • Invoice͕࡞੒͞ΕΔͱStripeଆͰҰఆ࣌ؒޙʹܾࡁ͕ߦΘΕ Δ ࣮ݱͷ͔ͨ͠
  7. • web-based job scheduler / workflow engine. • ҰݴͰ͍͏ͱ͍͢͝cron •

    δϣϒͷ࣮ߦΛ͏·͍۩߹ʹ΍ͬͯ͘ΕΔ • δϣϒͷ࣮ߦ։࢝ɺ੒ޭɺࣦഊ౳Λϝʔϧ΍SlackͰ௨஌͢ Δػೳ͕͋Δ • Web UI͕͋Δ • Web্Ͱδϣϒͷઃఆɺࣦഊͨ͠δϣϒͷϦτϥΠ͕Ͱ͖Δ • ܾࡁ౳ͷॏཁͳjob͸cronͰ࣮ߦ͢Δͷ͸৺ڐͳ͍ https://github.com/cookpad/kuroko2
  8. ྉܾۚࡁΛͲͷΑ͏ͳ࢓૊ΈͰ ࣮ݱ͍ͯ͠Δ͔ ҎԼͷ෦෼Λ঺հ͠·͢ 5. SubscriptionͷకΊ೔͕͖ͨΒΞΫηεͷͳ͔ͬͨϢʔβʔ਺ ෼ͷྉۚΛKibelaϙΠϯτͰؐݩ 1. νʔϜͷ࡞੒ 2. Freeϓϥϯ͔ΒStandardϓϥϯ΁ΞοϓάϨʔυ

    3. τϥΠΞϧظ͕ؒऴΘΔͱಉ࣌ʹݱࡏͷϢʔβʔ਺෼ͷྉܾۚ ࡁΛ࣮ߦ 4. Ϣʔβʔ௥Ճͷ౓ʹ௥Ճ෼Λཌ೔ͷAM 9:00ʹ·ͱΊͯ੥ٻ 6. 3ʹ໭ΓɺҎԼ܁Γฦ͠
  9. KibelaͷྉۚઃܭϙϦγʔ • খ͞ͳ૊৫ΛԠԉ͢Δ • 5໊ҎԼͷνʔϜ͸ͣͬͱແྉͰ࢖͑Δ • ٕज़ίϛϡχςΟ΍ڭҭػؔ౳ͷඇӦརஂମ͸ར ༻ਓ਺ʹؔΘΒͣແྉ • ެฏʹબ୒ͯ͠΋Β͑ΔΑ͏ʹ͢Δ

    • ଞࣾ੡඼ͱൺֱݕ౼ͯ͠΋Β͏Α͏ʹ͢Δ ͲͷΑ͏ʹߟ͑ྉۚઃܭΛߦ͔ͬͨ • ެฏʹ՝ۚ͢Δ • ΞΫηε͕ͳ͍Ϣʔβʔ෼ͷར༻ྉ͸੥ٻ͠ͳ͍
  10. SubscriptionͷకΊ೔͕͖ͨΒΞΫηεͷͳ͔ͬ ͨϢʔβʔ਺෼ͷྉۚΛKibelaϙΠϯτͰؐݩ • Stripeʹ͸Account Balanceͱ͍͏ػೳ͕͋Δ • ܾࡁ͕ߦΘΕΔࡍʹ༏ઌతʹ࢖ΘΕΔΫϨδοτ • KibelaϙΠϯτ =

    Account Balance • SubscriptionͷకΊ೔͕͖ͯInvoice͕࡞੒͞ΕͨࡍʹStripe͔ ΒInvoice.created Webhook͕ඈΜͰ͘Δ • Invoice͸࡞੒͞Εͯ΋͙ܾ͢ࡁ͕࣮ߦ͞ΕΔΘ͚Ͱ͸ͳ͍ • ܾࡁ͕࣮ߦ͞ΕΔલʹInvoice.createdΛhookͯ͠Account BalanceΛ෇༩͢Δ ࣮ݱͷ͔ͨ͠
  11. ੥ٻॻ෷͍ʹରԠ͠Α͏ͱ͍ͯ͠·͢ ࣮ݱํ๏ • SubscriptionͷbillingઃఆΛAutomatically ʙ͔ΒEmail ʙ΁มߋ͢Δ • ܾࡁํ๏(ΫϨδοτΧʔυ)͕ొ࿥͞Ε͍ͯͳͯ͘΋༗ྉProduct ΁มߋͰ͖ΔΑ͏ʹͳΔ •

    ࣗಈͰܾࡁ͕ߦΘΕͳ͘ͳΔ • SubscriptionͷకΊ೔ʹͳΔͱInvoice͕࡞੒͞ΕΔ • ࡞੒͞ΕͨInvoiceΛݟͯ੥ٻॻΛ࡞੒͓͠٬༷΁ૹ෇ • Stripe͔Β௚઀ϝʔϧͰૹΔ͜ͱ͕Ͱ͖Δ • ͕ɺॻྨͰ͘Εͱ͍͏ͱ͜Ζ΋͋Γͦ͏… • ৼΓࠐ·Ε͔ͨΛۜߦޱ࠲Λݟͯ֬ೝ • खಈʁ • ৼΓࠐ·Ε͍ͯͨΒInvoiceΛMark as paid
  12. ੥ٻॻ෷͍ʹରԠ͠Α͏ͱ͍ͯ͠·͢ ͍͍ͱ͜Ζ • ੥ٻॻ෷͍ʹؔͯ͠΋Stripe্؅ཧ͕ग़དྷΔ • ாථ͕StripeͰҰݩ؅ཧͰ͖Δ • ͜Ε͕ग़དྷͳ͍ͱStripeͱผͰ؅ཧ͢Δඞཁ͕͋ΓͭΒ͍ͱ͜Ζ ͩͬͨ ͳΜͱ͔͍ͨ͠ͱ͜Ζ

    • ݱঢ়ɺۜߦʹৼΓࠐ·Εͨ͜ͱͷ֬ೝ͕खಈ͔͠ͳ͍ʁ • billingઃఆ͕Email ʙͷInvoice͕࡞੒͞Εͨ͜ͱΛͪ͜Β͕ݕ஌͢Δ ํ๏ • Slack௨஌ͱ͔͋Δͱخ͍͚͠Ͳ…