「JP_Stripes (Stripe ユーザーグループ)in 広島 Vol.3 」にて発表したスライドです。 1.決済機能を実装する場合の選択肢とプラグイン 2.StripeCheckoutの実装について 3.Crebow Stripe JP Paymentプラグインを利用したチケット販売サイトの作成例の紹介と解説
https://crebow.info/4USJQF8PSE1SFTTͰखܰʹܾࡁػೳΛಋೖ͢Δํ๏8PP$PNNFSDFͳ͠ͰಋೖͰ͖Δʂ&
View Slide
&ϒϧʔϜϏδϣϯגࣜձࣾදऔక༗ݶձࣾϏίʔζΣϒ୲ࣾஂ๏ਓຊλΠϙάϥϑΟʔڠձਖ਼ձһݸਓϒϩάEPJOGPࣗݾհσβΠφʔɾϑϩϯτΤϯυΤϯδχΞϩΰϚʔΫʴλΠϓϑΣΠεσβΠϯ ֤छൢଅπʔϧɾΩϟϥΫλʔɾΠϥετ·ͭͱͱΣϒαΠτ
https://crebow.info/ΣϒαΠτΛ׆༻ͯ͠ࣄۀ׆ಈΛߦ͏ݸਓখنͳࣄۀऀ͞·ͷॿ͚ʹͳΔΑ͏ͳαʔϏεΛఏڙ͠·͢ɻ&Ϩϙʔτ ૉࡐϓϥάΠϯςʔϚϝʔϧϚΨδϯ ಋೖαϙʔτϏδλʔແྉձһ ༗ྉձһແྉձһ ༗ྉձһແྉձһ ܖϏδλʔࣗݾհ
&WordPressར༻ऀΤϯδχΞɾ։ൃऀ։ൃɾ࣮ྫຊͷ༰ܾࡁػೳΛ࣮͢Δ߹ͷબࢶͱϓϥάΠϯ4USJQF$IFDLPVUͷ࣮ʹ͍ͭͯνέοτൢചαΠτͷ࡞ྫͷհͱղઆ$SFCPX4USJQF+11BZNFOUϓϥάΠϯΛར༻ͨ͠
&ܾࡁػೳΛ࣮͢Δ߹ͷબࢶͱϓϥάΠϯWordPressར༻ऀ
&͋Γ·ͤΜ͔ʁ͜Μͳ͜ͱ
&ΠϯλʔωοτͰൢച͍ͨ͠Μ͚ͩͲۜߦৼࠐ໘ͳΜͰΧʔυܾࡁͱ͔Ͱ͖ͳ͍ʁωοτγϣοϓͱ͔ϞʔϧͷαʔϏεͱ͔ݏʂϩΠϠϦςΟΛ͏ͷ͕ݏଞࣾͷϓϥοτϑΥʔϜ্ͰΓͨ͘ͳ͍ࣗࣾͷαΠτͰͳΜͱ͔ͳΒͳ͍ʁͦ͏ͦ͏ɺ8PSE1SFTTͬͯͭͰͭͬͯ͘ΔΜͩͬͯɺ͏ͪͷαΠτͦΜͳେ͛͞ͳϞϊ͡Όͳ͍͍͔ͯ͘Β͞ʂηϛφʔͷνέοτൢചͱ͔Ͱ͖ͨΒ͍͍ͳʔΞΠςϜͳΜͯ͘Β͍͔͠ͳ͍͠ʔָఱͱ͔ΞϚκϯͱ͔ʁ࠷ۙͩͱ#"4&ͱ͔Ͳ͏Ͱ͢ʁ&$αΠτ࡞Δͬͯ͜ͱͰ͔͢ʁӡ༻ͱ͔Ͳ͏͠·͠ΐ͏ʁ8PSE1SFTTͰ͔͢ɾɾɾ
&8PSE1SFTTͰωοτγϣοϓΛߏங͢Δʹ&$ϓϥάΠϯੈքͰҰ൪ར༻͞Ε͍ͯΔ&$γεςϜ8PSE1SFTTͰΧʔυܾࡁΛಋೖ͢Δࡍɺඞͣީิʹڍ͕ΔϓϥάΠϯ
&ΞυΦϯϓϥάΠϯ͕๛ͳͲͳͲɾɾɾͷ͍͍ͱ͜Ζ
&ςʔϚ͕๛ɾΧελϚΠζͷқ͕͍ςʔϚ͕๛IUUQTKBXPSEQSFTTPSHUIFNFTTFBSDI8PP$PNNFSDF݄ݱࡏެࣜςʔϚछྨͷ͍͍ͱ͜ΖΧελϚΠζͷқ͕͍ରԠ͍ͯ͠ͳ͍ςʔϚͰɺ͍͔ͭ͘ՃͱมߋΛߦ͏͚ͩͰରԠͰ͖ΔɻGVODUJPOTQIQ XPPDPNNFSDFQIQGVODUJPOTQIQXPPDPNNFSDFQIQ
&Λಋೖͨ͘͠ͳ͍ͱ͍͑ɾɾɾɾͱ͍ͬͨέʔεɾɾɾ
&Λಋೖ͠ͳ͍ɾಋೖͰ͖ͳ͍ཧ༝ղͰෳࡶͳ࡞ۀΛߦ͍ͨ͘ͳ͍අ༻ରޮՌΛߟ͑Δͱֶशίετ͕ߴ͗͢Δ8PSE1SFTTͷϓϥάΠϯςʔϚͷ੍࡞͕Ͱ͖ΔϨϕϧͰͳ͍ͱΧελϚΠζͷқ͕͍ͱࢥ͑ͳ͍ʂ
&γϣοϓԽͯ͠ӡӦӡ༻Ͱ͖ͳ͍طଘͷϒϩάͰӡ༻͍ͨ͠ςʔϚΛ৮ΔͷۤखΧʔτඞཁͳ͍ϒϩάͷதʹܾࡁϘλϯ͕͋Ε͍͍Λಋೖ͠ͳ͍ɾಋೖͰ͖ͳ͍ཧ༝΄ͲͷػೳΛ·ͳ͍έʔε͋Δ
&ΧʔυܾࡁΛಋೖ͍ͨ͠ϛογϣϯΧʔυܾࡁΛಋೖ͢Δ Ͱ͋Δཧ༝ͳ͍
&ΧʔυܾࡁΛಋೖ͍ͨ͠ϛογϣϯΧʔυܾࡁ͕Ͱ͖Ε͍͍Χʔυใอ༗ͨ͘͠ͳ͍վਖ਼ׂොൢച๏࣮ɾΓͱΓ͕؆୯"1*తͳԿ͔8PSE1SFTTͰ͑ΔϓϥάΠϯ͕͋ΓɺΑ͘ީิʹڍ͕ΔαʔϏε
&ͱൺֱͯ͠ΈΔΛ8PSE1SFTTͰ͑ΔϓϥάΠϯ͕͋ΓɺΑ͘ީิʹڍ͕ΔαʔϏε
&ࠃࢿۚҠಈۀऀؔ౦ࡒہୈ߸1BZNFOU1SPDFTTPS 1BZNFOU1SPDFTTPS1BZNFOUHBUFXBZ1BZNFOU1SPDFTTPSɿখചళফඅऀ͔Βࢧ͍ใΛड͚औΓۜߦΫϨδοτΧʔυձࣾͷγεςϜʹΞΫηεͯ͠ॲཧΛߦ͏͜ͱ͕Ͱ͖ΔࣄۀܗଶܾࡁखྉສԁҎԼສԁສԁҎԼສԁ ສԁҎԼ ສԁԁ݅ԁ݅ԁ݅ԁܾ݅ࡁཱ͝ͱ ➤ ॳظඅ༻ແྉɺֹ݄අ·ͨӅΕͨखྉҰͳ͠➤ ͚ͬͨͩͷखྉ➤ ϦΞϧλΠϜͷखྉϨϙʔτͱ ͷൺֱ➤ ւ֎खྉ͕มΘΓ·͢ɻগֹܾࡁ➤ ݄ؒച্͕ສԁΛ͑Δͱ͓τΫʹͳΔϚʔνϟϯτϨʔτͷద༻ʹਃ͕ඞཁͰ͢ɻ➤ ւ֎खྉ͕มΘΓ·͢ɻ➤ গֹܾࡁΛ͝ར༻͍ͨͩ͘ʹਃ͕ඞཁͰ͢ɻճͷऔҾֹ͕ࠃऔҾ ԁҎԼ ʴԁ
&͖݅ແྉۜߦޱ࠲ͷҾ͖ग़͠ ➤ ߴΛۜߦޱ࠲Ҿ͖ग़ֹ͕ۚ͢ສԁະຬͷ߹ԁ݅ͷखྉ͕͔͔Γ·͢ɻ➤ ۚ༥ػؔʹΑΓผ్खྉ͕͔͔Δ߹͕͋ΓɺࣗͰར༻͢Δۚ༥ػؔʹ͓͍߹ΘΔඞཁ͕͋Γ·͢ɺҾ͖ग़͠ʹཁ͢Δظؒग़ۚਃ͔ΒʙӦۀ➤ ۚ༥ػؔʹΑΓҟͳΓ·͢ि·݄ͨ୯Ґͷબͷࣗಈৼࠐར༻ՄೳΧʔυ7*4".BTUFS+$#".&9%JOFST"MJQBZ8F$IBU1BZ"QQMF1BZ(PPHMF1BZ7*4".BTUFS+$#".&9%JOFST࿆ۜ+$#ผ్ਃ͕ඞཁ7*4".BTUFS+$#ࢧ͍ऀΞΧϯτొ͕ඞཁɻϝʔϧͰͷܾࡁٻΞΧϯτొෆཁͰܾࡁՄೳɻΞΧϯτొෆཁͰܾࡁՄೳֹ݄ར༻ྉ ԁ͕͔͔Γ·͢ΣϒϖΠϝϯτϓϥεΛར༻ͨ͠߹ແྉ
Λબ͠·ͨ͠&͔ΜͨΜܾࡁϘλϯ )5.-8PSE1SFTTϓϥάΠϯ༗Γ1BZ1BMNFΛ͏ख͋Δಋೖͷ͢͠͞ʢ"1*ͷࣝͳ͠ʣ8PSE1SFTTϓϥάΠϯ༗ΓςΫχΧϧαϙʔτಋೖͷ͢͠͞ʢ"1*ͷࣝ͋ΓʣυΩϡϝϯτͷॆ࣮º˕º˕˚˕࣮·Ͱʹ͔͔Δ৹ࠪ࣌ؒ 1BZ1BM࣍ୈଈ ͕ൃ֮ͨ࣌͠Ͱࣄޙௐࠪ͋Γࢲͷ߹
&αʔϏε͕Θ͔Γʹ͍͘৹ࠪʹ͕͔͔࣌ؒΓ͗͢Δˠ։ൃεέδϡʔϧʹӨڹςΫχΧϧαϙʔτ͕ͳ͍ʢ࣭ʹର͢Δճ͕໌֬Ͱͳ͍ʣӅΕͨඅ༻ΛѲͮ͠Β͍ސ٬Ϣʔβʔొ͕ඞཁʢϝʔϧ༗ྉαʔϏεͩͱෆཁʣࢲͷ߹ྉ͕ۚ໌֬ಋೖ·Ͱ͕ૣ͍υΩϡϝϯτ͕ॆ࣮͍ͯ͠Δʢαϯϓϧίʔυͷॆ࣮ʣͱ1BZ1BMNFͳͲ৽͍͠αʔϏεʹັྗ͋Γ·͕͢ɾɾɾ
&TUSJQFQBZNFOUIUUQTHUJDPKQ4USJQFϓϥάΠϯͬͯ͋Δͷʁ$SFCPX4USJQF+11BZNFOUIUUQTDSFCPXJOGPݸͷ߲ެࣜʹొ͞Ε͍ͯΔϓϥάΠϯ ຊͰ࡞͞ΕͨϓϥάΠϯ
&IUUQTTQMVHJOTDPNIUUQTKBXPSEQSFTTPSHQMVHJOTTUSJQFQBZNFOUTIUUQTDSFCPXJOGPIUUQTHJUIVCDPNDSFCPX4USJQF͕͑ͯςʔϚͷΧελϚΠζ͕ෆཁͳϓϥάΠϯStripe PaymentsCrebow Stripe JP PaymentγϣʔτίʔυΛߘʹషΓ͚Δ͚ͩͲͪΒͷϓϥάΠϯࢲ͕ͭ͘Γ·ͨ͠
&Stripe PaymentsIUUQTTQMVHJOTDPNIUUQTKBXPSEQSFTTPSHQMVHJOTTUSJQFQBZNFOUT
&4USJQF1BZNFOUTͷಛγϣʔτίʔυΛར༻ͯ͠ߪೖϘλϯΛαΠτͷͲ͜ʹͰઃஔͰ͖ΔΑ͏ʹ͢ΔΞυΦϯͰ༷ʑͳػೳΛఏڙ͍ͯ͠Δ
&4USJQF1BZNFOUTͷಛσδλϧʢϑΝΠϧɺԻָɺϏσΦɺిࢠॻ੶ɺ1%'ͳͲʣΛൢച͢Δ͜ͱ͕Ͱ͖·͢ɻߪೖ͕ྃͨ͠ΒɺϢʔβʔࣗಈతʹσδλϧϑΝΠϧΛμϯϩʔυͰ͖·͢ɻΧʔτϓϥάΠϯγϣοϐϯάܥͷϓϥάΠϯΛೖΕͳͯ͘ࢧ͍ػೳ͕ಋೖɻ ٻઌॅॴͷऩूΛ༗ޮʹ͢ΔΦϓγϣϯ͕͋Γ·͢ɻدϘλϯΛ࡞͢Δ͜ͱ͕Ͱ͖·͢ɻΧελϜՁ֨ΛೖྗͰ͖ΔΑ͏ʹ͢ΔΦϓγϣϯ͕͋Γ·͢ɻσδλϧϝσΟΞͷൢച ൢʹར༻Մدػೳʢ͛મػೳʣͯ͢ͷτϥϯβΫγϣϯɺϓϥάΠϯͷจϝχϡʔʹอଘ͞Ε·͢ɻ8PSE1SFTTཧμογϡϘʔυͰߪೖ༰ΛݟΔ͜ͱ͕Ͱ͖·͢ɻडཧސ٬ऩू͝ͱʹαϯΩϡʔϖʔδྖऩॻΛૹΔϘλϯςΩετͷΧελϚΠζ4USJQF͔Βސ٬ʹྖऩॻΛࣗಈతʹૹ৴͢ΔΦϓγϣϯߪೖϘλϯͷςΩετมߋ͝ͱʹ࡞ՄೳνΣοΫΞτϑΥʔϜʹͯऩू
&ఆظߪಡͱఆظࢧ͍Λઃఆͯ͠ސ٬ʹൢച͢Δ͜ͱ͕Ͱ͖·͢ɻ4VCTDSJQUJPO1BZNFOUT"QQMFͱ(PPHMF1BZΛ༻ͯ͠ސ٬͔Βͷࢧ͍Λड͚ೖΕΔ͜ͱ͕Ͱ͖·͢ɻ"QQMFBOE(PPHMF1BZΣϒαΠτ্ͷ"MJQBZܦ༝Ͱࢧ͍Λड͚ೖΕΔ͜ͱ͕Ͱ͖·͢ɻ"MJQBZ"EEPOGSFFෳ௨՟ͷΞυΦϯʹΑΓɺސ٬௨՟Λબ͠ɺͦͷ௨՟ͰΛࢧ͏͜ͱ͕Ͱ͖·͢ɻ.VMUJ$VSSFODZ"EEPOސ٬ʹൢച͞ΕͨσδλϧɺࣗಈతʹظݶΕʹͳΔ҉߸Խ͞ΕͨμϯϩʔυϦϯΫʹΑͬͯอޢ͞Ε·͢ɻ4FDVSF%PXOMPBET4USJQF1BZNFOUT1MVHJOʹΑͬͯදࣔ͞ΕΔଟ͘ͷڞ௨ϝοηʔδΛΧελϚΠζͰ͖·͢ɻ$VTUPN.FTTBHFT"EEPOΞϑΟϦΤΠτϓϥάΠϯɺΞΠςϜΛߪೖ͢Δސ٬Λ͠հऀʹదͳखྉΛत༩͠·͢ɻ81"GGJMJBUF*OUFHSBUJPOGSFFސ٬͕ετϥΠϓࢧ͍ϘλϯΛΫϦοΫ͢ΔͱSF$"15$)"ϙοϓΞοϓ͕දࣔ͞Ε·͢ɻSF$"15$)""EEPOGSFF4USJQF1BZNFOUTͷಛʲ"EEPOTʳ
&IUUQTDSFCPXJOGPIUUQTHJUIVCDPNDSFCPXCrebow Stripe JP Payment
&$SFCPX4USJQF+11BZNFOUͷಛαΫοͱ͑ΔϓϥάΠϯʹ͍ͨ͠Ͱ͖Δ͚͍ͩ͠ૢ࡞Λͤ͞ͳ͍͓٬͞Μʹ߹ΘͤͯΧελϚΠζ͍ͨ͠ϓϥάΠϯΛར༻ͯ͠ಠࣗʹػೳ֦ு͕Ͱ͖ΔΈ
&$SFCPX4USJQF+11BZNFOUͷಛ༻ɾඇ༻Θͣࣗ༝ʹ͝ར༻͍͚ͨͩΔ͚ͩͰͳ͘ɺίʔυͷվมͯ͠࠶ར༻͢Δ͜ͱ͕Ͱ͖·͢ɻ༻ɾඇ༻Θͣࣗ༝ʹ͝ར༻͍͚ͨͩΔ͚ͩͰͳ͘ɺίʔυͷվมͯ͠࠶ར༻͢Δ͜ͱ͕Ͱ͖·͢ɻΧʔτϓϥάΠϯγϣοϐϯάܥͷϓϥάΠϯΛೖΕͳͯ͘ࢧ͍ػೳ͕ಋೖແྉͰར༻Մೳ ຊਓ͚ʹղઆ ൢʹར༻ՄهࣄʢΞΠςϜʣ͝ͱʹӾཡ੍ݶ͕Ͱ͖ΔͨΊɺձһ੍αΠτͳͲʹ׆༻Ͱ͖·͢ɻ༗ྉίϯςϯπ৴༻ɾඇ༻Θͣࣗ༝ʹ͝ར༻͍͚ͨͩΔ͚ͩͰͳ͘ɺίʔυͷվมͯ͠࠶ར༻͢Δ͜ͱ͕Ͱ͖·͢ɻࡏݿཧ༻ɾඇ༻Θͣࣗ༝ʹ͝ར༻͍͚ͨͩΔ͚ͩͰͳ͘ɺίʔυͷվมͯ͠࠶ར༻͢Δ͜ͱ͕Ͱ͖·͢ɻߪೖऀཧઃஔΧελϚΠζ͕͍͠ํʹνϟοτπʔϧʮTMBDLʯΛར༻ͯ͠ಋೖαϙʔτʢ༗ঈʣΛߦ͍·͢ɻ·݄ͨʑͷӡ༻αϙʔτʢ༗ঈʣʹͯରԠ͍ͨ͠·͢ɻಋೖαϙʔτϓϥάΠϯΛར༻ͨ͠αΠτߏஙͷ͓ख͍͍͖ͤͯͨͩ͞·͢ʂϑϧΧελϚΠζ(1-ϥΠηϯε8FCIPPL 8FCIPPL 8FCIPPL/&8 /&8
&σδλϧϝσΟΞͷൢച˓ ˓γεςϜ 4USJQF$IFDLPVU 4USJQF$IFDLPVUຒΊࠐΈํ๏ γϣʔτίʔυ γϣʔτίʔυൢར༻ ˓ ˓ΧελϜֹۚ ˓ຊޠରԠ - - ຊޠӳޠ௨՟ ຊԁͷΈଞ௨՟ରԠϘλϯςΩετ ΧελϜՄ ΧελϜՄෳߪೖ ˓ ˓ݸผʹରԠʢ༗ྉʣμϯϩʔυ 8PSEQSFTTެࣜ (JU)VC8PSE1SFTTެࣜਃ༧ఆސ٬ཧࡏݿཧ4USJQF͔Βސ٬ʹྖऩॻΛૹΔ4USJQFʹΧʔυใΛอଘdata-allow-remember-me#*--*/(ͷར༻ʢαϒεΫϦϓγϣϯʣ"QQMF1BZ(PPHMF1BZ௨ϝʔϧ"EEPO<༗ྉ>"EEPO<༗ྉ>"EEPO<༗ྉ>"EEPO<ແྉ>։ൃதະఆະఆະఆରԠ༧ఆͳ͠ݸผରԠʢ༗ྉʣ˓˓˓˓˓˓˓˓Λൺֱͯ͠Έͨͱ
&·ͱΊܾࡁػೳΛ࣮͢Δ߹ͷબࢶͱϓϥάΠϯͷΧʔυܾࡁΛಋೖ͢Δ Ͱ͋Δཧ༝ͳ͍ྉ͕ۚ໌֬ಋೖ·Ͱ͕ૣ͍υΩϡϝϯτ͕ॆ࣮͍ͯ͠Δʢαϯϓϧίʔυͷॆ࣮ʣଞࣾͱൺֱ͢Δͱ4USJQFѱ͍໘͕গͳ͍8PSE1SFTTͰ͑ΔαʔϏεΛબͿ
&4USJQF$IFDLPVUͷ࣮ʹ͍ͭͯΤϯδχΞɾ։ൃऀ
&આ໌͢Δ͜ͱ͕ͳ͍ಋೖ͢Δͷ͕ͱָͯυΩϡϝϯτ͕ॆ࣮͍ͯ͠Δ
https://stripe.com/docs&docshttps://stripe.com/docs/checkout(PPHMFݕࡧͰௐΔ 2JJUBͰௐΔ [email protected]ͰௐΔɾฉ͘΄΅͕ղܾ͢Δ
&ॳ৺ऀͷࢲ͕ϋϚͬͨ༻ҙ͞Ε͍ͯΔύϥϝʔλҎ֎Ͳ͏͢Δͷʁ4USJQFʹهͨ͠ใ͕আͰ͖ͳ͍ʁΧελϚΠζͷপͰṆΕΔɾɾɾͱ͍͑ɻɻɻૹ৴ͨ͠ͷʹ4USJQFଆͰσʔλΛड͚औ͍ͬͯͳ͍ʁ
&ૹ৴ͨ͠ͷʹɾɾɾ4USJQFଆͰσʔλΛड͚औ͍ͬͯͳ͍ʁ
8αʔόʔ&ܾࡁྃ·Ͱͷϑϩʔcheckout.jsܾࡁྃར༻͢ΔσʔλΛૹΔϖʔδભҠσʔλΛॲཧ4USJQFଆͰใΛड͚औ͍ͬͯͳ͍
https://github.com/stripe/stripe-phpStripe PHP bindings&͕ඞཁ͔Βμϯϩʔυ͢Δͦ͏͍ɺόΠϯσΟϯά͕ඞཁͱ͔ॻ͍͍ͯͨΑ͏ͳɾɾɾ
8αʔόʔ&4USJQF1)1CJOEJOHTΛར༻͢Δͱ͜Ζcheckout.jsܾࡁྃSTRIPE PHP BINDINGSར༻͢ΔσʔλΛૹΔϖʔδભҠར༻͢ΔσʔλΛॲཧ
&4USJQF1)1CJOEJOHTΛར༻͢Δrequire_once( dirname(__FILE__).'/stripe-php-6.16.0/init.php');\Stripe\Stripe::setApiKey('secretkeyxxxxxxxxxxxxxxxxxxxxxxxx');$token = $_POST[ 'stripeToken' ];$email = $_POST[ 'stripeEmail' ];$amount = $_POST[ 'amount' ];$description = $_POST[ 'description' ];$currency = $_POST[ 'currency' ];try {$charge = \Stripe\Charge::create(array('amount' => $amount,'currency' => $currency,'source' => $token,'description' => $description,'receipt_email' => $email,));}ɾɾɾɾɾɾ[email protected]ͰJOJUQIQΛಡΈࠐΉ
&༻ҙ͞Ε͍ͯΔύϥϝʔλҎ֎Ͳ͏͢Δͷʁ
&·ͣҰൠతͳܾࡁϑϩʔʢߏʣܾࡁྃ8FCIPPL8αʔόʔ%#αʔόʔ"KBYߪೖը໘σʔλͷॲཧܾࡁޙͷը໘
&DIFDLPVUKTͷهड़ྫsrc = "https://checkout.stripe.com/checkout.js" class = "stripe-button"data-key = "pk_test_xxxxxxxxxxxxxxxxxxxxx"data-amount = "800"data-name = "ൢചݩ໊"data-description = "໊"data-image = "https://xxxxxxxxxxx/xxxxxxxxxx.png"data-locale = "auto"data-currency = "jpy"data-zip-code = "false"data-allow-remember-me = "false"data-label = "ࠓ͙͢ߪೖ ">
&طଘͷύϥϝʔλEBUBLFZEBUBBNPVOUEBUBOBNFEBUBEFTDSJQUJPOEBUBJNBHFEBUBMPDBMFEBUBDVSSFODZEBUBBMMPXSFNFNCFSNFEBUBMBCFM1VCMJTIBCMF,FZΛهड़͠·͢ɻඞਢ߲Ͱܾ͢ࡁֹ͍ͤͨۚ͞Λೖྗ͠·͢ɻγϣοϓ໊αΠτ໊Λೖྗ͠·͢ɻEBUBOBNFͷԼʹදࣔͤ͞Δઆ໌จɻࣈʙࣈఔϑΥʔϜͷ্෦ʹදࣔ͞ΕΔΞΠίϯը૾ͷ63-Λೖྗ͢Δ༻͢Δݴޠ༻͢Δ௨՟୯Ґͷઃఆܾࡁใͷอଘػೳʢɿ4USJQFʹอଘ͞Ε·͕͢ཧऀ͕ཧͰ͖ΔΘ͚Ͱͳ͍ʣϘλϯͷ໊લ
&Γ͍ͨ͜ͱܾࡁྃ8FCIPPL8αʔόʔ%#αʔόʔ"KBYߪೖը໘σʔλͷॲཧܾࡁޙͷը໘ಠࣗͷύϥϝʔλΛૹͬͯಈ࡞Λ੍ޚ͍ͨ͠ͷ*%ίʔυϢʔβʔ*%ͳͲಠࣗͷύϥϝʔλ
&ಠࣗύϥϝʔλJOQVUUZQFIJEEFOͰରԠಠࣗύϥϝʔλDIFDLPVUKTͷதʹؚΊͳ͍
&4USJQFʹσʔλʹಠࣗύϥϝʔλΛૹΕΔΑ͏ʹ͢Δ$metadata = array('userid' => $_POST[ 'userid' ],'daytime' => $_POST[ 'daytime' ],'itemname' => $_POST[ 'itemname' ],'productcode' => $_POST[ 'productcode' ],'itemmpostid' => $_POST[ 'itemmpostid' ],'stockuse' => $_POST[ 'stockuse' ],'stockcount' => $_POST[ 'stockcount' ],);ૹΔલʹσʔλΛྻʹ͢Δtry {$charge = \Stripe\Charge::create(array('amount' => $amount,'currency' => $currency,'source' => $token,'description' => $description,'receipt_email' => $email,'metadata' => $metadata,));}ɾɾɾɾɾɾ NFUBEBUBͱͯ͠ૹΔ
&XFCIPPLͰಠࣗύϥϝʔλΛड͚औΕΔΑ͏ʹ͢Δ$webhook_stripeid = $json->data->object->id;$webhook_userid = $json->data->object->metadata->userid;$webhook_itemname = $json->data->object->metadata->itemname;$webhook_user = $json->data->object->source->name;$webhook_receipt_email = $json->data->object->receipt_email;$webhook_productcode = $json->data->object->metadata->productcode;$webhook_daytime = $json->data->object->metadata->daytime;$webhook_amount = $json->data->object->amount;$webhook_status = $json->data->object->status;//ࡏݿཧ$webhook_itemmpostid = $json->data->object->metadata->itemmpostid;$webhook_stockuse = $json->data->object->metadata->stockuse;$webhook_stockcount = $json->data->object->metadata->stockcount;[email protected]@DPOUFOUT QIQJOQVUͰ+40/ຊจͷCPEZΛड͚औͬͯ[email protected]ؔͰจࣈྻΛྻʹมߋ
&4USJQFʹهͨ͠ใ͕আͰ͖ͳ͍ʁ
&EBUBBMMPXSFNFNCFSNFύϥϝʔλΛઃఆͨ͠߹ܾࡁใΛอଘ͢ΔΛΫϦοΫͯ͠ΫϨδοτΧʔυใΛ҆શʹอଘ͢ΔͱɺଞͷαΠτͰ؆୯ʹܾࡁ͕ՄೳͰܾ͢ࡁใΛ4USJQFʹอଘ͞ΕΔ4USJQFΛར༻͍ͯ͠ΔଞͷαΠτͰৄ͍͠ใΛೖΕͳͯࣗ͘ಈతʹೖྗͯ͠ར༻Ͱ͖ΔΑ͏ʹͳΔɻ
&IUUQTTUSJQFDPNDIFDLPVUJOGPEBUBBMMPXSFNFNCFSNFύϥϝʔλΛઃఆͨ͠߹͓٬༷ͷΫϨδοτΧʔυ൪߸ɺ͓٬༷ͷϝʔϧΞυϨεͱܞଳి൪߸ʹϦϯΫ͍ͯ͠·͢ɻҧ͏ίϯϐϡʔλ্Ͱͷ4USJQFʹΑΔ͓ࢧ͍ɺ·ͨϩάΞτͨ͠߹ɺܾࡁ࣌ʹϝʔϧΞυϨεΛೖྗ͢Ε4USJQF͔Βຊਓ֬ೝ༻ͷςΩετ͕ૹ৴͞Ε·͢ɻ͜ΕɾɾɾআͲ͏͢Δͷʁ
&[email protected] 4USJQFϢʔβʔίϛϡχςΟʣ'BDFCPPLϖʔδ݄λΠϜϥΠϯΑΓআґཔ͕ඞཁͱͷ͜ͱͰ͢ɻ[email protected]Ͱฉ͍ͯΈͨ
&νέοτൢചαΠτͷ࡞ྫͷհͱղઆ։ൃɾ࣮ྫ$SFCPX4USJQF+11BZNFOUϓϥάΠϯΛར༻ͨ͠
&ߏஙલʹܾΊ͓ͯ͘͜ͱձͰͷνέοτ֬ೝͷํ๏ʹ͍ͭͯࢹͰ֬ೝνέοτͷߪೖ੍ݶਓຕݶΓ ਓຕͷఆٛʁਓϢʔβʔʁཧػೳ͕ඞཁߪಡऀొͤͯ͞Ϣʔβʔͷཧ͢Δඞཁ͕͋Δߪೖ طଘͷػೳͰ0,ෳߪೖ ෳߪೖͰ͖ΔΑ͏ͳΈ͕ඞཁϝʔϧྖऩॻΛর߹͢Δ࡞ۀ͕ඞཁ23ͳͲΛൃߦͯ֬͠ೝ ཧػೳ͕ඞཁ$384+1Ͱߪೖͨ͠Ϣʔβʔ͚ͩʹίϯςϯπΛදࣔͤ͞Δػೳ͋Γ
&τοϓϖʔδʹൢചνέοτͷҰཡදࣔࠓճ࡞ͨ͠νέοτൢചαΠτͷϙΠϯτνέοτͷࡏݿཧػೳຕͣͭߪೖͤ͞Δύλʔϯͱෳߪೖύλʔϯͷछྨೖ࣌ͷνέοτ֬ೝྖऩॻͷఏࣔͰ֬ೝฦۚɾΩϟϯηϧखಈʢ͓͍߹Θ͔ͤΒड81͓Αͼ4USJQFʹͯखಈͰमਖ਼ʣαΠτͷ༷ʹ͍ͭͯνέοτ໊։࠵։࣌ؒ։ԋ࣌ؒ8લചνέοτֹۚձνέοτֹۚνέοτߪೖɿຕߪೖɾෳߪೖεςʔλεɿελϯόΠɾൃചதɾൃചٳࢭɾൃചऴྃɾചΓΕৄࡉϖʔδʹҎԼͷใΛܝࡌ͢Δ
&ొྖऩॻൃߦྖऩॻΛϝʔϧͰૹ৴8αʔόʔ%#αʔόʔใૹ৴Χʔυܾࡁߪೖใͷૹ৴8FCIPPL"KBYܾࡁ·ͰͷྲྀΕ"#
&"ૉਓ͕ೖྗ͢Δ͜ͱΛఆ͓༷͕ͯ͘͠มΘͬͨࡍɺαΠτ͕දࣔ͞Εͳ͍ͷෆ۩߹ΛճආͰ͖Δઃܭʹ͓ͯ͘͠αΠτཧऀɾ)5.-ͳͲͷࣝͯ͑͘͠ΔΑ͏ʹ੍͓ͯ͘͠࡞ձࣾϓϥάΠϯʹखΛೖΕͣͦͷ··༻͢ΔΧελϜϑΟʔϧυͳͲϓϥάΠϯԽͯ͠༻͢ΔΞοϓσʔτ͖ΔΑ͏ʹ͓ͯ͘͠ Ճػೳෆ۩߹͕ग़ͨࡍɺϓϥάΠϯΛఀࢭ͢Δ͚ͩͰɺαΠτશମΛࢭΊͳ͍Έʹ͓ͯ͘͠ཧը໘ μογϡϘʔυͰՃͨ͠ػೳΛ͑ΔΑ͏ʹ͢Δ
&$4+1$SFCPX4USJQF+11BZNFOUͷུ$4+1ϓϥάΠϯͰొͨ͠ใΛΧελϜߘλΠϓͰར༻͢Δ" ཧը໘ μογϡϘʔυͰՃͨ͠ػೳΛ͑ΔΑ͏ʹ͢Δ
&·ͱΊ4USJQF$IFDLPVUͷ࣮ʹ͍ͭͯͷεςʔλεTUBOECZTBMFQBVTFFOETPMEPVUελϯόΠൃചதൃചٳࢭൃചऴྃചΓΕνέοτ໊νέοτ໊TJOHMFNVMUJQMFຕߪೖෳߪೖ[email protected][email protected]@JE[email protected]։࠵[email protected]։࣌ؒ[email protected]։ԋ࣌ؒ[email protected]લചνέοτֹۚ[email protected]@TBMFνέοτֹۚ[email protected][email protected]@TDSJQU KRVFSZVJDPSF[email protected]@TDSJQU KRVFSZVJEBUFQJDLFS[email protected]@TUZMF KRVFSZVJDTT BKBYHPPHMFBQJTDPNBKBYMJCTKRVFSZVJUIFNFTTNPPUIOFTTKRVFSZVJDTT[email protected]@TDSJQU KRVFSZVJKTKB BKBYHPPHMFBQJTDPNBKBYMJCTKRVFSZVJJOKRVFSZVJEBUFQJDLFSKBNJOKT։࠵K2VFSZ6*%BUFQJDLFS
&·ͱΊ4USJQF$IFDLPVUͷ࣮ʹ͍ͭͯͷ[email protected]͕QVCMJTIɺ[email protected]͕[email protected]@JUFNͷσʔλΛऔಘ͠·͢$query_ITEM = <<SELECT * FROM {$wpdb->posts}WHERE post_status = 'publish'AND post_type = 'crwsjp_stripe_item'SQL;$results_ITEM = $wpdb->get_results($query_ITEM);get_results ʹ͍ͭͯɹhttps://wpdocs.osdn.jp/ؔϦϑΝϨϯε/wpdb_Classࢀর$4+1ϓϥάΠϯͰอଘ͍ͯ͠ΔσʔλΛऔಘ͢Δ$4+1ϓϥάΠϯͰΧελϜߘλΠϓΛར༻ͯ͠σʔλΛอଘ͍ͯ͠·͢ɻ֤छઃఆใ[email protected]ʹอଘ͍ͯ͠·͢ɻ͜ΕΒͷσʔλΛ͏·͘ར༻͢ΕɺػೳΛͲΜͲΜ֦ு͢Δ͜ͱ͕Ͱ͖·͢ɻ
&·ͱΊ4USJQF$IFDLPVUͷ࣮ʹ͍ͭͯͷforeach($results_ITEM as $for_id){$postid = $for_id -> ID;$valueid = $for_id -> ID;if(!isset($results_ITEM_id)){$results_ITEM_id = array( $postid => $valueid );}else{$results_ITEM_id += array( $postid => $valueid );}}
&·ͱΊ4USJQF$IFDLPVUͷ࣮ʹ͍ͭͯͷforeach($results_ITEM as $for_title){$post_title = $for_title -> ID;$value_title = $for_title -> post_title;if(!isset($results_ITEM_title)){$results_ITEM_title = array( $post_title => $value_title );}else{$results_ITEM_title += array( $post_title => $value_title );}}
#&ΧελϜߘλΠϓͱΧελϜϑΟʔϧυΛ༻͍ͯ͠Δొͨ͠ใΛදࣔͤ͞Δ8PSE1SFTTͷجຊతͳΧελϚΠζͷࣝͰදࣔͰ͖Δɻଞऀ͕ϝϯςφϯεΛ୲͢Δ͜ͱʹͳͬͯେৎ
&ཁͷଟ͍૬ஊͱࠓޙͷ՝ʹ͍ͭͯ࠷ޙʹɾɾɾ
&ཁͷଟ͍૬ஊνέοτΛൢച͍ͨ͠ͱ͍͏૬ஊҙ֎ʹଟ͍ɾϥΠϒόʔΛܦӦ͞Ε͍ͯΔํɾηϛφʔϫʔΫγϣοϓΛ։࠵͍ͯ͠Δߨࢣͷํҿ৯ళ͞Μͷ߹ɺ༧ͱܾࡁʹ༻͍ͨ͠ɾϗοτϖούʔͰͷ༧ˠܾࡁͷସʹͳΒͳ͍͔ʁक़͓ڭࣨͳͲɺαϒεΫϦϓγϣϯಋೖͷݕ౼
&ཁͷଟ͍૬ஊػೳΛ࣋ͬͨαΠτ࡞Γ͕ࠓޙΑΓॏཁʹͳΔݸਓࣄۀऀখنձࣾͳͲ͜Ε·ͰߴίετͰಋೖͰ͖ͳ͔ܾͬͨࡁػೳ͕׆༻Ͱ͖ΔΑ͏ʹͳΔ
&ࠓޙͷ՝ʹ͍ͭͯ4USJQF#JMMJOHʢܧଓ՝ۚɾαϒεΫϦϓγϣϯʣͷ࣮ٻΛ͢ΔλΠϛϯά αʔϏε։࢝࣌ͳͷ͔ैྔ՝ۚʢͦͷ݄ͷར༻Λ݄࣍ͷ಄ʹٻ͢ΔͳͲʣஈ֊੍ྉۚUJFSFEQSJDJOHϥΠηϯεϢʔβɺར༻ϘϦϡʔϜͳͲʹԠͯ͡୯ՁΛม͑Δॲཧʹ͍ͭͯٻαΠΫϧٻຖिɺຖ݄ɺຖɺ࢛ظʹҰճͳͲຖ݄ɺ4VCTDSJQUJPOΛ։࢝ͨ͠Λىʹ͢ΔFUD8PSE1SFTTͷରԠνΣοΫཧը໘6*ͷݕ౼
&ࣸਅͷఏڙѪඤদࢁʹ͓ӽ͠ͷࡍɾɾɾগ͠Λ৳ͯ͠দࢁࢢӺ͔ΒλΫγʔͰѪඤݝদࢁࢢদொେͷμΠϊδ
&͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠