SORACOMを利用した自社開発農業IoTデバイスの課金をStripeでやってみた

 SORACOMを利用した自社開発農業IoTデバイスの課金をStripeでやってみた

JP_Stripes (Stripe ユーザーグループ)in サッポロ キックオフで発表した資料です。
#JP_Stripes
http://eventregist.com/e/JP_Stripes_CTS

312cc773dc86206cf9e494c3f413a8a9?s=128

Takehito Tanabe

April 10, 2018
Tweet

Transcript

  1. ɹSORACOMΛར༻ͨ͠ ࣗࣾ։ൃ೶ۀIoTσόΠεͷ՝ۚΛ StripeͰ΍ͬͯΈͨ +1@4USJQFTJOαοϙϩΩοΫΦϑ ೶ۀ৘ใઃܭࣾɹా໊ล݈ਓ

  2. 8IPBN*  ʢ͜ͷإʹϐϯͱ͖ͨΒʣ

  3. ా໊ล݈ਓʢͨͳ΂͚ͨͻͱʣ ൒೶൒*5ɾιϑτ΢ΣΞΤϯδχΞ ಓ࢈ࢠˠ౦ژʹ೥ˠ೥݄ʹΫϥ΢υҠॅ ೥݄ɾ౰ผொʹҠॅͨ͠͹͔Γ झຯɿόϯυ׆ಈʢ#BTTʣ%*:ʢେ޻ʣ ೶త׆ಈɿ ೥ʹࡳຈࢢͷ೶ۀݚमΛमྃɻ ೥͸B BͷാΛٽ͖ͳ͕ΒӦ೶ɻ ࠓγʔζϯ͔Β౰ผொʹͯ൒ࣗڅࣗ଍ɻ

  4. None
  5. None
  6. None
  7. None
  8. ೶ۀݚमͷશه࿥Λ ϒϩάʹॻ͖·ͨ͠ʢসʣ IUUQBTUCTUSPDLT

  9. None
  10. None
  11. None
  12. None
  13. None
  14. ɹSORACOMΛར༻ͨ͠ ࣗࣾ։ൃ೶ۀIoTσόΠεͷ՝ۚΛ StripeͰ΍ͬͯΈͨ ೶ۀ৘ใઃܭࣾɹా໊ล݈ਓ

  15. AgriBus-G+

  16. AgriBus-G+ ͪΐͬͱΘ͔Γʹ͍͘ͷ Ͱɺॱ൪ʹઆ໌͠·͢X

  17. 35,(/44 (14 *P5 AgriBus-G+ ʢ։ൃதʣ ߴਫ਼౓ͳ (14 ͱ೶ۀػցͱͷ௨৴ػೳΛ ซͤ࣋ͪɺ ҆ՁͰଟ໨తͳར༻͕Մೳ

    ɾ35,(/44 (14  ɾ(*P5.PEVMF ɾ.BDIJOF$POUSPM *40#64"(1035 ೶࡞ۀ৘ใϋϒαʔϏε AgriBus-Connect ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ طଘͷ֤छ೶ۀ *5γεςϜ ࣗಈૢ଩Φϓγϣϯ AgriBus-AutoSteer ʢ։ൃதʣ ϞʔλʔۦಈͰϢʔβʵ͕؆୯ʹ୤ணՄೳ ઃܭਤ͸Φʔ ϓϯιʔ εͰެ։ ܗঢ়ʹ߹ΘͤͨΧελϚΠζ͕Մೳ "OESPJE04εϚϗ ɾ λϒϨο τ༻ τϥΫλʔӡసࢧԉΞϓϦ˞ AgriBus-NAVI ը໘දࣔΛݟͳ͕Β޿͍ะ৔಺Ͱ΋ ·͙ͬ͢౳ִؒʹ࡞ۀՄೳ AgriBus-NAVI ぇத৺〝「〔 ʢגʣ ೶ۀ৘ใઃܭࣾ〣औ〿૊〴 ˞ AgriBus-NAVI͸ಠཱߦ੓๏ਓ೶ۀɾ৯඼࢈ۀٕज़૯߹ݚڀػߏ ʢ೶ݚػߏʣ ͷݚڀ։ൃ੒ՌͰ͋Διϑ τ ΢ΤΞ ʮ೶༻ं྆࡞ۀφϏήʔγ ϣ ϯιϑ τ ΢ΤΞʯ ٴͼಛڐ ʢಛڐୈ ߸ʣ Λج൫ͱ ͯ͠։ൃ͞Ε͍ͯ·͢ɻ ˞ (PPHMF1MBZ͓Αͼ(PPHMF1MBZϩΰ͸ɺ (PPHMF*ODͷ঎ඪͰ͢ɻ Φϓγϣϯͷ௥ՃͰϩϘο τԽ ɾ *P5ԽʹରԠ ͜Ε·Ͱะ৔ʹࣺ͖ͯͯͨܭଌ ੍ޚ৘ใΛ ʮऩ֭ʯ ͯ͠༗ޮར༻ ʂ ৘ใఏڙɾ࿈ܞ ˟๺ւಓଳ޿ࢢ੢̔৚ೆ̐̌ஸ໨̍൪̒߸ IUUQBHSJJOGPEFTJHODPNDPOUBDU!BHSJJOGPEFTJHODPN
  18. "OESPJE04εϚϗ ɾ λϒϨο τ༻ τϥΫλʔӡసࢧԉΞϓϦ˞ AgriBus-NAVI ը໘දࣔΛݟͳ͕Β޿͍ะ৔಺Ͱ΋ ·͙ͬ͢౳ִؒʹ࡞ۀՄೳ AgriBus-NAVI ぇத৺〝「〔

    ʢגʣ ೶ۀ৘ใ ͜Ε·Ͱะ৔ʹࣺ ੍ޚ৘ใΛ ʮऩ֭
  19. None
  20. None
  21. None
  22. 35,(/44 (14 *P5 AgriBus-G+ ʢ։ൃதʣ ߴਫ਼౓ͳ (14 ͱ೶ۀػցͱͷ௨৴ػೳΛ ซͤ࣋ͪɺ ҆ՁͰଟ໨తͳར༻͕Մೳ

    ɾ35,(/44 (14  ɾ(*P5.PEVMF ɾ.BDIJOF$POUSPM *40#64"(1035 ೶࡞ۀ৘ใϋϒαʔϏε AgriBus-Connect ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ طଘͷ֤छ೶ۀ *5γεςϜ ࣗಈૢ଩Φϓγϣϯ AgriBus-AutoSteer ʢ։ൃதʣ ϞʔλʔۦಈͰϢʔβʵ͕؆୯ʹ୤ணՄೳ ઃܭਤ͸Φʔ ϓϯιʔ εͰެ։ ܗঢ়ʹ߹ΘͤͨΧελϚΠζ͕Մೳ "OESPJE04εϚϗ ɾ λϒϨο τ༻ τϥΫλʔӡసࢧԉΞϓϦ˞ AgriBus-NAVI ը໘දࣔΛݟͳ͕Β޿͍ะ৔಺Ͱ΋ ·͙ͬ͢౳ִؒʹ࡞ۀՄೳ AgriBus-NAVI ぇத৺〝「〔 ʢגʣ ೶ۀ৘ใઃܭࣾ〣औ〿૊〴 ˞ AgriBus-NAVI͸ಠཱߦ੓๏ਓ೶ۀɾ৯඼࢈ۀٕज़૯߹ݚڀػߏ ʢ೶ݚػߏʣ ͷݚڀ։ൃ੒ՌͰ͋Διϑ τ ΢ΤΞ ʮ೶༻ं྆࡞ۀφϏήʔγ ϣ ϯιϑ τ ΢ΤΞʯ ٴͼಛڐ ʢಛڐୈ ߸ʣ Λج൫ͱ ͯ͠։ൃ͞Ε͍ͯ·͢ɻ ˞ (PPHMF1MBZ͓Αͼ(PPHMF1MBZϩΰ͸ɺ (PPHMF*ODͷ঎ඪͰ͢ɻ Φϓγϣϯͷ௥ՃͰϩϘο τԽ ɾ *P5ԽʹରԠ ͜Ε·Ͱะ৔ʹࣺ͖ͯͯͨܭଌ ੍ޚ৘ใΛ ʮऩ֭ʯ ͯ͠༗ޮར༻ ʂ ৘ใఏڙɾ࿈ܞ ˟๺ւಓଳ޿ࢢ੢̔৚ೆ̐̌ஸ໨̍൪̒߸ IUUQBHSJJOGPEFTJHODPNDPOUBDU!BHSJJOGPEFTJHODPN
  23. ೶࡞ۀ৘ใϋϒαʔϏε AgriBus-Connect ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ 〔 ʢגʣ ೶ۀ৘ใઃܭࣾ〣औ〿૊〴 ͜Ε·Ͱะ৔ʹࣺ͖ͯͯͨܭଌ

  24. AgriBus-Connect w AgriBus-NAVIͷσʔλΛ஝ੵ͢ΔΫϥ΢υ w ะ৔ɺ࡞ۀཤྺͳͲ

  25. ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ AgriBus-Connect

  26. ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ AgriBus-Connect ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ

    ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ ಉظ
  27. ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ AgriBus-Connect ೶࡞ۀ৘ใϋϒαʔϏε "HSJ#VT$POOFDU ะ৔৘ใɺ

    ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ
  28. None
  29. None
  30. None
  31. 35,(/44 (14 *P5 AgriBus-G+ ʢ։ൃதʣ ߴਫ਼౓ͳ (14 ͱ೶ۀػցͱͷ௨৴ػೳΛ ซͤ࣋ͪɺ ҆ՁͰଟ໨తͳར༻͕Մೳ

    ɾ35,(/44 (14  ɾ(*P5.PEVMF ɾ.BDIJOF$POUSPM *40#64"(1035 ೶࡞ۀ৘ใϋϒαʔϏε AgriBus-Connect ะ৔৘ใɺ ࡞ۀཤྺɺ ػցͷௐࢠͳͲΛ ࣗಈه࿥͠Ϋϥ΢υ্ʹอଘ طଘͷ֤छ೶ۀ *5γεςϜ ࣗಈૢ଩Φϓγϣϯ AgriBus-AutoSteer ʢ։ൃதʣ ϞʔλʔۦಈͰϢʔβʵ͕؆୯ʹ୤ணՄೳ ઃܭਤ͸Φʔ ϓϯιʔ εͰެ։ ܗঢ়ʹ߹ΘͤͨΧελϚΠζ͕Մೳ "OESPJE04εϚϗ ɾ λϒϨο τ༻ τϥΫλʔӡసࢧԉΞϓϦ˞ AgriBus-NAVI ը໘දࣔΛݟͳ͕Β޿͍ะ৔಺Ͱ΋ ·͙ͬ͢౳ִؒʹ࡞ۀՄೳ AgriBus-NAVI ぇத৺〝「〔 ʢגʣ ೶ۀ৘ใઃܭࣾ〣औ〿૊〴 ˞ AgriBus-NAVI͸ಠཱߦ੓๏ਓ೶ۀɾ৯඼࢈ۀٕज़૯߹ݚڀػߏ ʢ೶ݚػߏʣ ͷݚڀ։ൃ੒ՌͰ͋Διϑ τ ΢ΤΞ ʮ೶༻ं྆࡞ۀφϏήʔγ ϣ ϯιϑ τ ΢ΤΞʯ ٴͼಛڐ ʢಛڐୈ ߸ʣ Λج൫ͱ ͯ͠։ൃ͞Ε͍ͯ·͢ɻ ˞ (PPHMF1MBZ͓Αͼ(PPHMF1MBZϩΰ͸ɺ (PPHMF*ODͷ঎ඪͰ͢ɻ Φϓγϣϯͷ௥ՃͰϩϘο τԽ ɾ *P5ԽʹରԠ ͜Ε·Ͱะ৔ʹࣺ͖ͯͯͨܭଌ ੍ޚ৘ใΛ ʮऩ֭ʯ ͯ͠༗ޮར༻ ʂ ৘ใఏڙɾ࿈ܞ ˟๺ւಓଳ޿ࢢ੢̔৚ೆ̐̌ஸ໨̍൪̒߸ IUUQBHSJJOGPEFTJHODPNDPOUBDU!BHSJJOGPEFTJHODPN
  32. 35,(/44 (14 *P5 AgriBus-G+ ʢ։ൃதʣ ߴਫ਼౓ͳ (14 ͱ೶ۀػցͱͷ௨৴ػೳΛ ซͤ࣋ͪɺ ҆ՁͰଟ໨తͳར༻͕Մೳ

    ɾ35,(/44 (14  ɾ(*P5.PEVMF ɾ.BDIJOF$POUSPM *40#64"(1035 ʢ Φϓγϣϯͷ௥ՃͰϩϘο τԽ *P5ԽʹରԠ
  33. AgriBus-G+ w ߴਫ਼౓ͳ GNSS(GPSɺGLONASSɺGalileo etc…ʣ w RTKରԠʢޡࠩ ਺cmʣ w ิਖ਼৘ใ͸3Gճઢ·ͨ͸LoRa

    w ࡞ۀػͱͷ࿈ಈػೳ w ं଎ύϧεग़ྗɺISOBUS / AG-PORT
  34. AgriBus-G+ ܞଳి࿩໢ɾ (ճઢ

  35. ճઢར༻ྉΛϢʔβʔ͞Μ͔Β αϒεΫϦϓγϣϯܗࣜͰ௃ऩ͍ͨ͠

  36. ࡶײ w ΊͪΌΊͪΌDeveloper໨ઢ •๛෋ͳυΩϡϝϯτʢͨͩ͠ӳޠʣ •༷ʑͳݴޠͷαϙʔτ •͙͢ʹ࢖͑Δ෦඼ɾCheckout/Elements •ϩάɺΠϕϯτͷ৘ใ͕ࡉ͔͘ݟΔ͜ͱ͕Մೳ

  37. ࡶײ •ਐԽ͕ૣ͍ •API͸ԼҐޓ׵͕͋Δʢݹ͍όʔδϣϯ͸ͦͷ ··࢖͑Δʣ •ߟ͑ͣʹΞοϓσʔτ͢Δͱɺ·ΕʹέΨ͢Δ ʢͪΌΜͱϦϦʔεϊʔτΛಡΊ͹໰୊ͳ͍͆ʣ

  38. ࡶײ •ίϯιʔϧ͕࢖͍қ͍ •ςετϞʔυʹ؆୯ʹ੾Γସ͑Մೳ •ςετσʔλ͸όοαϦফڈՄೳ

  39. ࡶײ •ຊ൪؀ڥਃ੥͕ૣ͍ •ձࣾͷۜߦޱ࠲΍ొه৘ใͳͲΛೖྗ •ࣗ෼ͨͪͷ৔߹͸ཌ೔ʹ࢖͑ΔΑ͏ʹͳΓ·ͨ͠

  40. AgriBus-G+ 3G՝ۚ  ΫϨδοτΧʔυ৘ใͷೖྗ 2. ر๬ͷࢧ෷͍ϓϥϯΛબ୒ 3. ՝͕ۚ੒ޭͨ͠ΒSORACOM։௨

  41. AgriBus-G+ 3G՝ۚ  ΫϨδοτΧʔυ৘ใͷೖྗ 2. ر๬ͷࢧ෷͍ϓϥϯΛબ୒ 3. ՝͕ۚ੒ޭͨ͠ΒSORACOM։௨

  42. 4USJQF&MFNFOUT

  43. 4USJQF&MFNFOUT w 4USJQFͰ༻ҙͯ͘͠Ε͍ͯΔ8FCϑϩϯτ༻ͷ෦඼ w όϦσʔγϣϯɺϑΥʔϚοτɺϚεΩϯάɺΤ ϥʔॲཧͳͲɺࢸΕΓਚͤ͘Γ w ΫϨδοτΧʔυ৘ใ͸4USJQFʹͷΈૹ৴ɺࣗࣾ αʔόʔ͸௨Βͳ͍ʢ͜Εେมॏཁʣ

  44. Χʔυ৘ใ w Χʔυ൪߸ͷ୅ΘΓͷτʔΫϯͰ΍ΓͱΓɻ w ϒϥϯυɺ༗ޮظݶɺԼܻͷ൪߸ͳͲͷ࠷௿ݶͷ ৘ใ͸औಘͰ͖Δɻ w ͓٬༷ͷΧʔυ৘ใΛࣗ෼ͨͪͰ௚઀৮ΕΔ͜ͱ ͸ෆՄೳɻʢ͜Εେมॏཁʣ

  45. AgriBus-G+ 3G՝ۚ  ΫϨδοτΧʔυ৘ใͷೖྗ 2. ر๬ͷࢧ෷͍ϓϥϯΛબ୒ 3. ՝͕ۚ੒ޭͨ͠ΒSORACOM։௨

  46. None
  47. 4VCTDSJQUJPO w 4VCTDSJQUJPOΛઃఆ͢Δʹ͸ɺॳΊʹ1SPEVDUͱ 1MBOΛఆٛ͢Δඞཁ͕͋Δɻ w 4VCTDSJQUJPOΛ࡞੒͢Δʹ͸ɺ$VTUPNFSͱ1MBOΛ ඥ͚ͮͨ4VCTDSJQUJPOΛDSFBUF͢Δ

  48. 4VCTDSJQUJPODSFBUF require "stripe" Stripe.api_key = "sk_test_AABBCCDDEEFFGG" Stripe::Subscription.create( :customer => "cus_XYZ123ABC",

    :items => [ { :plan => "silver-express-898", }, ] )
  49. AgriBus-G+ 3G՝ۚ  ΫϨδοτΧʔυ৘ใͷೖྗ 2. ر๬ͷࢧ෷͍ϓϥϯΛબ୒ 3. ՝͕ۚ੒ޭͨ͠ΒSORACOM։௨

  50. -JGFDZDMFͱ8FCIPPL w 4VCTDSJQUJPOʹؔ࿈͢Δ"DUJWJUZ͕ൃੜͨ͠ࡍʹ &WFOU͕ൃߦ͞ΕΔɻ w &WFOU͸8FCIPPLͰҾֻ͚ͬΔ͜ͱ͕Ͱ͖Δɻ w -JGFDZDMFΛཧղ͍ͯ͠Δ͜ͱ͕ॏཁɻ •https://stripe.com/docs/billing/lifecycle

  51. 4VCTDSJQUJPO-JGFDZDMF pSTUUJNF 1. customer.created 2. customer.subscription.created 3. invoice.created 4. charge.succeeded

    5. invoice.payment_succeeded
  52. 4VCTDSJQUJPO-JGFDZDMF FWFSZCJMMJOHQFSJPE 1. invoice.upcoming 2. invoice.created 3. charge.succeeded 4. invoice.payment_succeeded

  53. None
  54. ૹ৴͞Εͯ͘Δ+40/ʢসʣ {"id":"evt_1CEzuXLC79AVHbbSSM9FOEW0","object":"event","api_version":"2018-02-06","created":1523279993,"data": {"object":{"id":"in_1CEzuWLC79AVHbbSlqvJ7CQ5","object":"invoice","amount_due":2160,"amount_paid": 2160,"amount_remaining":0,"application_fee":null,"attempt_count": 0,"attempted":true,"billing":"charge_automatically","charge":"ch_1CEzuWLC79AVHbbSHUQueAhk","closed":true,"cur rency":"jpy","customer":"cus_CRNAwZ99jgut59","date": 1523279992,"description":null,"discount":null,"due_date":null,"ending_balance":0,"forgiven":false,"lines": {"object":"list","data":[{"id":"sub_CeIVB5oPxpPWw1","object":"line_item","amount": 2000,"currency":"jpy","description":"1×AgriBus-G+(at¥2,000/ month)","discountable":true,"livemode":false,"metadata":

    {"aid_my_product_type":"GPlus","aid_username":"dev-0000000000000048","aid_my_product_number":"AGBGP- SN-1","aid_my_product_sim_imsi":"4401031451227xx"},"period":{"end":1525871992,"start":1523279992},"plan": {"id":"plan_gplus-cellular-monthly-jpy","object":"plan","amount":2000,"billing_scheme":"per_unit","created": 1520220039,"currency":"jpy","interval":"month","interval_count":1,"livemode":false,"metadata": {},"nickname":"3G/LTE通信:月払 い","product":"prod_gplus","tiers":null,"tiers_mode":null,"transform_usage":null,"trial_period_days":null,"us age_type":"licensed"},"proration":false,"quantity": 1,"subscription":null,"subscription_item":"si_CeIVUuNNkIFvGi","type":"subscription"}],"has_more":false,"total _count":1,"url":"/v1/invoices/in_1CEzuWLC79AVHbbSlqvJ7CQ5/lines"},"livemode":false,"metadata": {},"next_payment_attempt":null,"number":"804791B-0004","paid":true,"period_end":1523279992,"period_start": 1523279992,"receipt_number":null,"starting_balance": 0,"statement_descriptor":null,"subscription":"sub_CeIVB5oPxpPWw1","subtotal":2000,"tax":160,"tax_percent": 8,"total":2160,"webhooks_delivered_at":null}},"livemode":false,"pending_webhooks":1,"request": {"id":"req_puvLaeHmQT4OKC","idempotency_key":null},"type":"invoice.payment_succeeded"}
  55. "tax": 160, "tax_percent": 8, "total": 2160, "webhooks_delivered_at": null } },

    "livemode": false, "pending_webhooks": 1, "request": { "id": "req_puvLaeHmQT4OKC", "idempotency_key": null }, "type": "invoice.payment_succeeded" }
  56. "aid_my_product_number": "AGBGP-SN-1", "aid_my_product_sim_imsi": "4401031451227xx" }, "period": { "end": 1525871992, "start":

    1523279992 }, "plan": { "id": "plan_gplus-cellular-monthly-jpy", "object": "plan", "amount": 2000, "billing_scheme": "per_unit", "created": 1520220039, "currency": "jpy", "interval": "month", "interval_count": 1, "livemode": false, "metadata": {}, "nickname": "3G/LTE通信: 月払い", "product": "prod_gplus", "tiers": null, "tiers_mode": null, "transform_usage": null, "trial_period_days": null, "usage_type": "licensed"
  57. { "id": "sub_CeIVB5oPxpPWw1", "object": "line_item", "amount": 2000, "currency": "jpy", "description":

    "1 × AgriBus-G+ (at ¥2,000 / month)", "discountable": true, "livemode": false, "metadata": { "aid_my_product_type": "GPlus", "aid_username": "dev-0000000000000048", "aid_my_product_number": "AGBGP-SN-1", "aid_my_product_sim_imsi": "4401031451227xx" }, "period": { "end": 1525871992, "start": 1523279992 }, "plan": { "id": "plan_gplus-cellular-monthly-jpy", "object": "plan", "amount": 2000, "billing_scheme": "per_unit", "created": 1520220039, "currency": "jpy", 4*.Λࣝผ͢Δ ͨΊͷ৘ใ
  58. NFUBEBUB w 4USJQFͷ͋ΒΏΔ"1*ϦΫΤετʹ͸NFUBEBUBΛؚ ΊΔ͜ͱ͕Ͱ͖Δɻ w ޙॲཧͷͨΊͷ৘ใΛอଘʢࠓճͷέʔεʣ w ԣஅతͳݕࡧ΋Մೳ

  59. 403"$0."1* w ͦ͜·Ͱ࿩͕࣌ؒ͢ͳ͍ͷͰׂѪʢ͢·Μʣ

  60. θϩϕʔεͷௐ͔ࠪΒ࣮૷ɺςετɺຊ൪౤ೖ·ͰΘ͔ͣϲ݄൒ɻ ʢ͍Ζ͍Ζผ݅Λ๊͑ͳ͕ΒͳͷͰɺ࣮࣭͸΋ͬͱૣ͍͆ʣ