昨年夏の「10年間使い続けているPayPalからStripeへ? 〜 あるウェブディレクターの軌跡 〜」には実は続編があった?
͍ؒଓ͚͍ͯΔ1BZ1BM͔Β4USJQFʁʙ͋ΔΣϒσΟϨΫλʔͷيʙ+1@4USJQFT$POOFDUBUΤϜΦʔςοΫεגࣜձࣾ
View Slide
ϋογϡλάɹ+14$ࣗݾհ
ϋογϡλάɹ+14$ࡾͷ൧ΑΓ৯Δ͜ͱɺҿΉ͜ͱ͕͖ࢁɹହ࢙ʢʹ͠·ɹ͢;ΈʣגࣜձࣾδϟΫελϙδγϣϯɹදऔకʗσΟϨΫλʔ݄ۀɺ݄๏ਓԽʢ๏ਓظʣ.PWBCMF5ZQFΛϓϥοτϑΥʔϜʹΣϒαΠτΛߏஙɹ1SP/FUʢγοΫεɾΞύʔτࣾύʔτφʔʣՃໍɹ.5՜ҔΛελʔτɹ.5%%$.FFUVQ)0,,"*%0։࠵ɹΣϒσΟϨΫγϣϯݚڀձʢԾশʣΛελʔτɹ.5%%$.FFUVQ)0,,"*%0։࠵
ϋογϡλάɹ+14$ւಓࡳຈࢢ͔Βདྷ·ͨ͠
ϋογϡλάɹ+14$͓ؾʹೖΓͷॴେऺञԶྲྀϏʔϧʢαοϙϩΫϥγοΫʣഋԁʢ੫ผʣ݄ͷൢച͓Αͦ ഋʢళฮʣ
ϋογϡλάɹ+14$͓ؾʹೖΓͷॴେऺञԶྲྀݩβϯΪˍ৽βϯΪ
ϋογϡλάɹ+14$δϟΫελϙδγϣϯ
ϋογϡλάɹ+14$σΟϨΫλʔɹ໊σβΠφʔʢ)5.-$44ΤϯδχΞʣ໊.5ςϯϓϨʔτΤϯδχΞɹ໊ओͳۀɾΣϒαΠτߏஙʗΣϒίϯαϧςΟϯάɾࣗࣾ։ൃൢചɾΣϒγεςϜ։ൃɾҹσβΠϯ΄͔IUUQTXXXMBUODPN
ϋογϡλάɹ+14$ຊΠϕϯτͷը૾ܥσβΠϯΛ୲
ϋογϡλάɹ+14$ࣗࣾϓϩμΫτ4,&-&50/$"35ͷ։ൃɾൢച
ϋογϡλάɹ+14$4,&-&50/$"35w ݄ϦϦʔεw )5.-ςϯϓϨʔτࣜͷγϣοϐϯάΧʔτw ओʹΣϒσβΠφʔ͞ΜΣϒ੍࡞ձ͚ࣾw ϓϥάΠϯػߏʹΑΔ֦ுੑw ൢച૯͓Αͦຊ
ϋογϡλάɹ+14$%ZOBNJD1SFWJFX*NBHF6QMPBE6UJMJUZ.PWBCMF5ZQF༻ϓϥάΠϯͷ։ൃɾൢച
ϋογϡλάɹ+14$*NBHF6QMPBE6UJMJUZw ݄ϦϦʔεw .PWBCMF5ZQFͷը૾ΞοϓϩʔυػೳΛڧԽw ݸਓແঈ൛ɺ௨ৗ൛ͱ1SP൛Λఏڙw ൢച૯͓Αͦຊ
ϋογϡλάɹ+14$%ZOBNJD1SFWJFXw ݄ϦϦʔεw .PWBCMF5ZQFͷϓϨϏϡʔػೳΛڧԽw ௨ৗ൛ͱ1SP൛Λఏڙw ൢച૯͓Αͦຊ
ϋογϡλάɹ+14$ࠓɺօ͞Μʹ͓͢Δ͜ͱ
ϋογϡλάɹ+14$4USJQFΛར༻͢Δ͜ͱͰɺϊϯϓϩάϥϚʔͳϫλγͰࢥ͍ͬͯͨΑΓͣͬͱ؆୯ʹΓ͔ͨͬͨ͜ͱ͕࣮ݱͰ͖ͨ
ϋογϡλάɹ+14$͜Ε·Ͱར༻͖ܾͯͨ͠ࡁαʔϏε
ϋογϡλάɹ+14$
ϋογϡλάɹ+14$1BZ1BMw ɺ·ͩݸਓࣄۀओw &$αΠτߏஙͷґཔ͕૿͖͑ͯͨw Ͱ͖Δ͚ͩܦඅ͔͚ͨ͘ͳ͍w ςετڥʢ4BOECPYʣ͕ར༻Ͱ͖ͨw "1*Ͱ͍Ζ͍ΖͰ͖ͦ͏
ϋογϡλάɹ+14$Ϋϩωί8ίϨΫτw ओʹΫϥΠΞϯτͷ&$αΠτͰಋೖw ֹ݄ҡ࣋අ͕͔͔Βͳ͍w ૹ·ͰҰ؏Ͱ͖Δw Ҿ͖ͰΫϨδοτΧʔυܾࡁ͕ར༻Ͱ͖Δw Ϋϩωίͱ͍͏҆৺ײ
ϋογϡλάɹ+14$4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝
ϋογϡλάɹ+14$1BZ1BMޱ࠲ͷ4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝ᶃ
ϋογϡλάɹ+14$1BZ1BMޱ࠲ʹೖۚһି๏ਓޱ࠲ৼସ
ϋογϡλάɹ+14$1BZ1BMձһొͷ4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝ᶄ
ϋογϡλάɹ+14$1BZ1BMձһొ͕ඞཁ1BZ1BMձһ͡Όͳ͍ۜߦৼࠐͰࢧ͍͍ͨ
ϋογϡλάɹ+14$1BZ1BMखྉͷ4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝ᶅ
ϋογϡλάɹ+14$*NBHF6QMPBE6UJMJUZ1SP͕ചΕͨ߹ച্खྉʢ݄ؒച্ສԁະຬʣҾग़खྉʢສԁະຬʣࠩҾऩೖ1BZ1BM ԁ ԁ ʢԁʣԁ ԁ4USJQF ԁ ԁʢʣ ԁ͋ͨΓͷֹࠩԁʂ
ϋογϡλάɹ+14$ࠓ·ͰʹऔΓ͜΅ͯ͠͠·ͬͨ૯ֹ ԁҎ্ʂ
ϋογϡλάɹ+14$େऺञԶྲྀͷੜϏʔϧʢΫϥγοΫʣഋҎ্
ϋογϡλάɹ+14$Ϋϩωί8ίϨΫτͷॏେͳ4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝ᶆ
ϋογϡλάɹ+14$͋ΔɺΫϥΠΞϯτ͔Βಧ͍ͨϝʔϧ'BDFCPPL-*/&ʹషΓ͚ͨฐࣾ63-͔ΒϦϯΫ͢ΔͱΫϨδοτΧʔυ͍͕͓ࢧ͍खଓ͖Τϥʔͱදࣔ͞Ε·͢ɻͲ͏ʹ͔ͳΓ·ͤΜͰ͠ΐ͏͔ʁ
ϋογϡλάɹ+14$ϠϚτϑΟφϯγϟϧ͍߹ΘͤͨҰ෦εϚʔτϑΥϯͷ༷ʹΑΓ(PPHMFΞϓϦʗ:BIPPΞϓϦʹͯ৽نΟϯυΛ։͘ߏஙʹ͓ͯ͠Γ·͢ͱඞཁใʢύϥϝʔλʣ͕ൈ͚མͪͯ͠·͏ࣄ͕֬ೝ͞Ε͓ͯΓ·͢ɻղܾࡦͱக͠·ͯ͠ɺ৽نΟϯυΛ্ཱͪ͛ͳ͍Α͏ͳߏஙʹมߋ͍͖ͨͩ·͢ͱɺ্هࣄൃੜ͠ͳ͘ͳΔͱͷࢥΘΕ·͢ɻ
ϋογϡλάɹ+14$ࣗࣾʮμϯϩʔυൢചʯͷઓ4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝ᶇ
ϋογϡλάɹ+14$w ೖۚ֬ೝޙʹσʔλΛૹ͢Δʁ ٳΈͷରԠʁ தରԠʁ ग़ுதରԠʁw ͕ͦͦࣗར༻ऀଆͩͬͨΒʁw ෆਖ਼ར༻ͷՄೳੑͱͷτϨʔυΦϑ
ϋογϡλάɹ+14$1BZ1BMͰઓʂ
// read the post from PayPal system and add 'cmd'$req = 'cmd=_notify-synch';$tx_token = $_GET['tx'];$auth_token = "* αΠτͰൃߦ͞ΕΔIDτʔΫϯΛ͜͜ʹషΓ͚Δ *";$req .= "&tx=$tx_token&at=$auth_token";// post back to PayPal system to validate$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";$header .= "Content-Type: application/x-www-form-urlencoded\r\n$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";$fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr,// $fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);// $fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errst// Ͱ͖Ε HTTPS ʹͨ͠ํ͕ɺηΩϡϦςΟ͕ߴ·Δ.if (!$fp) {// HTTP ERRORecho "ERROR: HTTP error, [" . $errno . "] " . $errstr . "\nexit(1);}fputs ($fp, $header . $req);// read the body data$res = '';$headerdone = false;while (!feof($fp)) {$line = fgets ($fp, 1024);if (strcmp($line, "\r\n") == 0) {// read the header$headerdone = true;}else if ($headerdone) {// header has been read. now read the contents$res .= $line;ϋογϡλάɹ+14$
ϋογϡλάɹ+14$1BZ1BMͰͷ࠳ં1%5ʜ ɹ*1/ʜ ɹͳʹͦΕඒຯ͍͠ͷʁ
ϋογϡλάɹ+14$4USJQFͳΒͰ͖ΔʁϚχϡΞϧӳޠ͚ͩͲɺʢ(PPHMFઌੜͷ͓͔͛ͰʣΘ͔Γ͍͢ײ৮Λಘͨ
ϋογϡλάɹ+14$ॻ͍ͯΈͨɻw DPOpHQIQΛಡΈࠐΉw ໊ͱՁ֨Λ)5.-͔Β 1045Ͱड͚औΔw ϥΠηϯε൪߸Λੜw ܾࡁྃޙɺϝʔϧΛૹ৴w μϯϩʔυը໘ϔࣗಈసૹ ʢ50,&/ɺ*%Λ͢ʣw μϯϩʔυը໘Ͱ*%Ͱ 63-Λදࣔʢ50,&/Ͱذʣ
ϋογϡλάɹ+14$Ͱ͖ͨʂIUUQTXXXKVYUBQPTJUJPOKQJNBHFVQMPBEVUJMJUZ
ϋογϡλάɹ+14$ͱࢥͬͨΒʜ4USJQFʹνϟʔδͰ͖͍ͯͳ͍͜ͱ͕໌ʢςετڥͰͳ͘Ͱ͖͍ͯͨʣ
ϋογϡλάɹ+14$αϙʔτʹ͍߹ΘͤͯΈΔτʔΫϯ࡞͞Ε͍ͯ·͕͢ɺνϟʔδ͕࡞͞Ε͍ͯͳ͍ͨΊɺࢧ͍͕͓ྃͯ͠Γ·ͤΜɻ"1*ʹͯऔಘ͞ΕͨτʔΫϯΛར༻͞Ε·͢ͱɺνϟʔδ͢Δ͜ͱ͕Ͱ͖·͢ɻνϟʔδΛ࡞͢Δύϥϝʔλʹ͖ͭ·ͯ͠ɺͪ͜ΒΛ͝ࢀর͍ͩ͘͞IUUQTTUSJQFDPNEPDTBQJDSFBUF@DIBSHF
τʔΫϯ࡞͞Ε͍ͯ·͕͢ɺνϟʔδ͕࡞͞Ε͍ͯͳ͍ͨΊɺࢧ͍͕͓ྃͯ͠Γ·ͤΜɻ"1*ʹͯऔಘ͞ΕͨτʔΫϯΛར༻͞Ε·͢ͱɺνϟʔδ͢Δ͜ͱ͕Ͱ͖·͢ɻνϟʔδΛ࡞͢Δύϥϝʔλʹ͖ͭ·ͯ͠ɺͪ͜ΒΛ͝ࢀর͍ͩ͘͞IUUQTTUSJQFDPNEPDTBQJDSFBUF@DIBSHFϋογϡλάɹ+14$αϙʔτʹ͍߹ΘͤͯΈΔͪΐͬͱͳʹݴͬͯΔ͔Θ͔Μͳ͍
ϋογϡλάɹ+14$Α͘ݟΔͱ؊৺ͳ෦͕ͬͦ͝Γൈ͚͍ͯͨʢͲͷλΠϛϯά͔ෆ໌ʣސ٬Λ࡞DVTUPNFSa4USJQFa$VTUPNFSDSFBUF BSSBZ FNBJMFNBJM TPVSDFUPLFOνϟʔδΛ࡞DIBSHFa4USJQFa$IBSHFDSFBUF BSSBZ EFTDSJQUJPOQSPEVDU DVTUPNFSDVTUPNFSJE BNPVOUQSJDF DVSSFODZKQZ
ϋογϡλάɹ+14$࣮ࡍʹͬͨ͜ͱ μογϡϘʔυͷʮ։ൃऀʯϝχϡʔͷʮϩάʯ͔Β֘ͷUPLFOTΛ։͘ $IFDLPVUKT͔Βͷ1045ʹର͠Ԡͨ͠༰ʹ͋ΔʮJEUPL@IPHFIPHF ʯΛݟ͚ͭɺUPL@IPHFIPHF෦Λίϐʔ DIBSHFQIQͷʮސ٬Λ࡞ʯʹ͋ΔTPVSDFʹͦΕΛهೖ ʢ1045༰ʹ͋ΔϝʔϧΞυϨεFNBJMʹهೖʣ ʮνϟʔδΛ࡞ʯͷEFTDSJQUJPOͱBNPVOUʹهೖ ϝʔϧૹ৴ͳͲෆཁͳ෦আ DIBSHFQIQΛDIBSHF@GVHBQIQͳͲͱϦωʔϜͯ͠Ξοϓϩʔυ ϒϥβ͔ΒDIBSHF@GVHBQIQʹΞΫηε ʢࢲ͜͜Ͱྃը໘ϦμΠϨΫτ͢ΔΑ͏ʹ͠·ͨ͠ʣ
ϋογϡλάɹ+14$࣮ࡍʹͬͨ͜ͱ μογϡϘʔυͷʮ։ൃऀʯϝχϡʔͷʮϩάʯ͔Β֘ͷUPLFOTΛ։͘ $IFDLPVUKT͔Βͷ1045ʹର͠Ԡͨ͠༰ʹ͋ΔʮJEUPL@IPHFIPHF ʯΛݟ͚ͭɺUPL@IPHFIPHF෦Λίϐʔ DIBSHFQIQͷʮސ٬Λ࡞ʯʹ͋ΔTPVSDFʹͦΕΛهೖ ʢ1045༰ʹ͋ΔϝʔϧΞυϨεFNBJMʹهೖʣ ʮνϟʔδΛ࡞ʯͷEFTDSJQUJPOͱBNPVOUʹهೖ ϝʔϧૹ৴ͳͲෆཁͳ෦আ DIBSHFQIQΛDIBSHF@GVHBQIQͳͲͱϦωʔϜͯ͠Ξοϓϩʔυ ϒϥβ͔ΒDIBSHF@GVHBQIQʹΞΫηε ʢࢲ͜͜Ͱྃը໘ϦμΠϨΫτ͢ΔΑ͏ʹ͠·ͨ͠ʣ Θ͔Δ·Ͱαϙʔτʹ࿈བྷ ϚχϡΞϧΛ܁Γฦ͠ಡΉ ͱʹ͔͘ςετڥͰ֬ೝ
ϋογϡλάɹ+14$࣮ࡍɺͲ͏ͩͬͨͷ͔
ϋογϡλάɹ+14$w ࢥ͍ͬͯͨΑΓ؆୯ɺ͔ࣗ͠༝ʹͰ͖ͨw ͨͩɺ+BWB4DSJQUͰ؆୯ಋೖʂͳهࣄ͕ଟ͗͢w DIBSHFQIQ͚ͩͰࢥ͍ͷ··ʹΧελϚΠζw ςετϞʔυ͔ΒͷΓସ͑؆୯ͩͬͨw αϙʔτʢਗ਼͞Μʣʹͱ͓ͯੈʹͳͬͨ
ϋογϡλάɹ+14$4MBDLʹ௨͕དྷΔΑ͏ʹͯ͠Έͨ
ϋογϡλάɹ+14$ͱʹָ͔͍͘͠ʂ
ϋογϡλάɹ+14$͍ؒଓ͚͍ͯΔ1BZ1BM͔Β4USJQFʁʙ͋ΔΣϒσΟϨΫλʔͷيʙגࣜձࣾδϟΫελϙδγϣϯɹࢁɹହ࢙Let’sTRY!