
ãã¢ãã«ããIPSPïŒã€ã³ã¿ãŒãããæ¯æããµãŒãã¹ãããã€ããŒïŒãšåæ§ã«ãæ¯æããã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ã§ããç¬èªã®APIããããŸãã ã€ã³ã¿ãŒãã§ãŒã¹ãéçºè ã«æž¡ããåãåã£ããã³ã³ã¹ãã©ã¯ã¿ãŒãããã圌ã®åŽã®ã¢ããªã±ãŒã·ã§ã³éçºè ããæ¯æ人ãšååŸéè¡ã®çžäºäœçšãæ åœããæ¯æããµãŒãã¹ã®éšåãæ§ç¯ããŸãã
ãã¹ãŠãçŽ æŽããããã®ã§ãããéçºãWebãµã€ãã«é¢ããéãã§ãã ã€ã³ã¿ãŒãããã®ç²åŸãšã¯ãã€ã³ã¿ãŒãããäžã§ãéãåãåãããšã§ããããããã£ãŠããã®ç¹ç°æ§ãèæ ®ããŠäžæ£é²æ¢æè¡ãéçºãããŠããŸãã
ä¿è·æ¹æ³ã®1ã€ã¯ãVISAã¯ãŒã«ããã€ã¡ã³ãã·ã¹ãã ã«ãã£ãŠææ¡ãããä»ã®ãã€ã¡ã³ãã·ã¹ãã ã«ãã£ãŠæšæºãšããŠæ¡çšãããŠãã3-Dã»ãã¥ã¢ãããã³ã«ã§ãã
3-Dã»ãã¥ã¢ãšã¯ãã€ã³ã¿ãŒãããã§è³Œå
¥ããã»ãšãã©ãã¹ãŠã®äººã«ç¥ãããŠããŸãïŒçŸåšããã·ã¢ã§ã¯ãã«ãŒããçºè¡ããéè¡ã®ããäžéšããã®ãããã³ã«ããµããŒãããŠããããåãMPSã®èŠä»¶ã«ããæ°ãæžå°ããŠããŸãïŒã
ã»ãšãã©ã®å Žåãäœæ¥äžã®3-Dã»ãã¥ã¢ãããã³ã«ã¯æ¬¡ã®ããã«ãªããŸãããªã³ã©ã€ã³ã¹ãã¢ã®Webãµã€ãã§æ¯æããè¡ããã«ãŒãã®è©³çŽ°ãå ¥åããŠãããçºè¡éè¡ã®ããŒãžã«ç§»åããSMSã§åä¿¡ããã³ãŒããå ¥åããŸãã ãã®åŸãæ¯æãã¯æ£åžžã«å®äºããŸãã
3-Dãšããååã¯ã3ãã¡ã€ã³ïŒ3ã€ã®ãã¡ã€ã³ïŒã«ç±æ¥ããŸããããã¯ã3ã€ã®ãã¡ã€ã³ã®çµç¹ããã®ãããã³ã«ã«åºã¥ãæ¯æãã®æ€èšŒã«åå ããããã§ããçºè¡è ã®ãã¡ã€ã³ïŒæ¯æ人ãšçºè¡éè¡ïŒã ïŒããã³çžäºäœçšãã¡ã€ã³ïŒMPSïŒã 3-D Secureãããã³ã«ã䜿çšããåçŽãªæ¯æã確èªã¹ããŒã ã®ããã«èŠããŸãã
æ¯æ人ã¯ãªã³ã©ã€ã³ã¹ãã¢ã«ã«ãŒãããŒã¿ãå ¥åããã¢ã¯ã¯ã€ã¢ã©éè¡ã«å°éãïŒ1ïŒãMPSã«éä¿¡ããïŒ2ïŒãããããçºè¡éè¡ã«éä¿¡ãããŸãïŒ3ïŒã ã©ã®éè¡ãã«ãŒããçºè¡ãããã¯ãã«ãŒãçªå·ã®æåã®6æ¡ã§ç¢ºèªã§ããŸãã çºè¡éè¡ã¯ãã«ãŒãã3-D Secureã«ãµãã¹ã¯ã©ã€ããããŠããããšãéç¥ããäžæã®ã³ãŒããšã³ãŒãå ¥åããŒãžãžã®ãªã³ã¯ãçæããŸãïŒ4ïŒã ãªã³ã¯ã¯TSPãŸãã¯IPSPã«è¿ããïŒ5ïŒããã©ãŠã¶ãŒã®ãã®ããŒãžã«ã«ãŒãå矩人ããªãã€ã¬ã¯ãããŸãïŒ6,7ïŒã ãã®æç¹ã§ãçºè¡è ã¯å¥ã®ãã£ãã«ïŒSMSãªã©ïŒãä»ããŠã«ãŒãææè ã«äžæçãªPINã³ãŒããéä¿¡ããããŒãžã«å ¥åããŸãã ã³ãŒããæ£ããå ¥åãããå Žåãçºè¡éè¡ã¯å°åæãæ£åžžã«å®äºããããšãå ±åãïŒ8ïŒãæ¯æ人ã®ã«ãŒãããè³éãåŒãèœãšãããŸãïŒ9ã10ïŒã
ã»ãšãã©ã®å Žåãäœæ¥äžã®3-Dã»ãã¥ã¢ãããã³ã«ã¯æ¬¡ã®ããã«ãªããŸãããªã³ã©ã€ã³ã¹ãã¢ã®Webãµã€ãã§æ¯æããè¡ããã«ãŒãã®è©³çŽ°ãå ¥åããŠãããçºè¡éè¡ã®ããŒãžã«ç§»åããSMSã§åä¿¡ããã³ãŒããå ¥åããŸãã ãã®åŸãæ¯æãã¯æ£åžžã«å®äºããŸãã
3-Dãšããååã¯ã3ãã¡ã€ã³ïŒ3ã€ã®ãã¡ã€ã³ïŒã«ç±æ¥ããŸããããã¯ã3ã€ã®ãã¡ã€ã³ã®çµç¹ããã®ãããã³ã«ã«åºã¥ãæ¯æãã®æ€èšŒã«åå ããããã§ããçºè¡è ã®ãã¡ã€ã³ïŒæ¯æ人ãšçºè¡éè¡ïŒã ïŒããã³çžäºäœçšãã¡ã€ã³ïŒMPSïŒã 3-D Secureãããã³ã«ã䜿çšããåçŽãªæ¯æã確èªã¹ããŒã ã®ããã«èŠããŸãã

æ¯æ人ã¯ãªã³ã©ã€ã³ã¹ãã¢ã«ã«ãŒãããŒã¿ãå ¥åããã¢ã¯ã¯ã€ã¢ã©éè¡ã«å°éãïŒ1ïŒãMPSã«éä¿¡ããïŒ2ïŒãããããçºè¡éè¡ã«éä¿¡ãããŸãïŒ3ïŒã ã©ã®éè¡ãã«ãŒããçºè¡ãããã¯ãã«ãŒãçªå·ã®æåã®6æ¡ã§ç¢ºèªã§ããŸãã çºè¡éè¡ã¯ãã«ãŒãã3-D Secureã«ãµãã¹ã¯ã©ã€ããããŠããããšãéç¥ããäžæã®ã³ãŒããšã³ãŒãå ¥åããŒãžãžã®ãªã³ã¯ãçæããŸãïŒ4ïŒã ãªã³ã¯ã¯TSPãŸãã¯IPSPã«è¿ããïŒ5ïŒããã©ãŠã¶ãŒã®ãã®ããŒãžã«ã«ãŒãå矩人ããªãã€ã¬ã¯ãããŸãïŒ6,7ïŒã ãã®æç¹ã§ãçºè¡è ã¯å¥ã®ãã£ãã«ïŒSMSãªã©ïŒãä»ããŠã«ãŒãææè ã«äžæçãªPINã³ãŒããéä¿¡ããããŒãžã«å ¥åããŸãã ã³ãŒããæ£ããå ¥åãããå Žåãçºè¡éè¡ã¯å°åæãæ£åžžã«å®äºããããšãå ±åãïŒ8ïŒãæ¯æ人ã®ã«ãŒãããè³éãåŒãèœãšãããŸãïŒ9ã10ïŒã
ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã§ã®æ¯æãåãå ¥ãçµ±åã®æãç°¡åãªåœ¢åŒã¯ãçµã¿èŸŒã¿ã®ãã©ãŠã¶ãŒã§ãã ååŸéè¡ãŸãã¯æ¯æãã²ãŒããŠã§ã€ã®æ¯æãããŒãžãšã3-Dã»ãã¥ã¢æ€èšŒç¢ºèªã³ãŒããå ¥åããããã®ããŒãžã衚瀺ããã«ã¯ããã©ãŠã¶ãŒãæ§ç¯ããå¿ èŠããããŸãã ããããã¢ããªã±ãŒã·ã§ã³ã®èšèšãšã€ã³ã¿ãŒãã§ã€ã¹ã®æŽåæ§ã䟵害ããããªãå Žåã¯ã©ãã§ããããïŒ
ãã®å Žåãäžèšã§äœæããAPIã圹ã«ç«ã¡ãŸãã ãã ããAPIã䜿çšããå Žåãç¹ã«3-Dã»ãã¥ã¢ãããã³ã«ã®å®è£ ã«é¢ããŠã¯ãæ¯æãã²ãŒããŠã§ã€ãšã®ã¢ããªã±ãŒã·ã§ã³çµ±åã«é¢ããããªãã®äœæ¥ãã¢ããªã±ãŒã·ã§ã³éçºè ã«ããã£ãŠããŸãïŒè£è¶³èšäºãåç §ïŒã
ããã§æãèå³æ·±ãã®ã¯ãSDKã®èª¬æã§ããSDKã䜿çšãããšãè¿ éãã€èŠçãªãããmuchãããŸã䜿ããã«ãã«ãŒãæ¯æãã®æ¿èªãã¢ããªã±ãŒã·ã§ã³ã«çµ±åã§ããŸãã
ã³ãŒãäŸ
Windowsã¹ãã¢ã¢ããªã±ãŒã·ã§ã³ã®ãµã³ãã«ã³ãŒããæ€èšããŠãã ããã ããã¯ãæ¯æãã®åãå ¥ããä¿èšŒããã®ã«ååã§ãã
private void Pay() { var conf = new Configuration { MerchantId = 1, Key = "PrivateKey", }; var request = new PayRequest { Amount = 30m, Currency = Currency.Rub, OrderId = "335636462808", CardExpMonth = 1, CardExpYear = 2018, CardCvv = 100, CardHolderName = "CARD HOLDER", CardNumber = "4111111111111111", Email = "cardholder@example.com", }; var po = new Processing(conf); po.ThreeDs += po_ThreeDs; po.Success += po_Success; po.Decline += po_Decline; po.Error += po_Error; po.Pay(request); } void po_Error(object sender, Exceptions.PaymentSDKException e) { } void po_Decline(object sender, PayResponse e) { } void po_Success(object sender, PayResponse e) { } void po_ThreeDs(object sender, PayResponse e) { ((Processing)sender).NavigateToAcsUrl(Browser, e); } class Configuration : IConfiguration { public int MerchantId { get; set; } public string Key { get; set; } }
ããã§äœãèµ·ãã£ãŠããŸããã
æ¯æããè¡ãã«ã¯ãIConfigurationã€ã³ã¿ãŒãã§ã€ã¹ãå®è£ ããå¿ èŠããããªããžã§ã¯ããåãå ¥ããProcessingãªããžã§ã¯ãã䜿çšããå¿ èŠããããŸãã
å®è£ ã¯éåžžã«ã·ã³ãã«ã§ã2ã€ã®ãã£ãŒã«ãïŒIDãšæ¥ç¶æã«çºè¡ãããç§å¯ããŒã§ãã
class Configuration : IConfiguration { public int MerchantId { get; set; } public string Key { get; set; } }
Processingãªããžã§ã¯ãã¯4ã€ã®ã€ãã³ããæäŸããŸãïŒ
- æå-æ¯æããæåããå Žåã«çºçããŸãã
- èŸé-å®æœãæåŠããå Žåã«çºçããŸãã
- ãšã©ãŒ-æ¯æãæã«ãšã©ãŒãçºçããå Žåãããšãã°ããããã¯ãŒã¯ãå©çšã§ããŸããã
- ThreeD-è¿œå ã®3-Dã»ãã¥ã¢ãã§ãã¯ãå¿ èŠã§ãã
åŸè ã®å ŽåããŠãŒã¶ãŒã«çºè¡éè¡ã®ããŒãžã衚瀺ããŠãã³ãŒããŸãã¯ãã¹ã¯ãŒããå ¥åããå¿çãåŠçããå¿ èŠããããŸãã ãã¹ãŠãæåã§å®è¡ããããNavigateToAcsUrlã¡ãœããã䜿çšã§ããŸããNavigateToAcsUrlã¡ãœããã¯ããŠãŒã¶ãŒã³ã³ãããŒã«ïŒãã©ãŠã¶ãŒïŒãã©ãããã©ãŒã ããšã«ç¬èªã®ãã©ãŠã¶ãŒïŒããã³PayResponseãªããžã§ã¯ãïŒããã©ã¡ãŒã¿ãŒãšããŠåãåããŸãã
æåŸã«ãPayã¡ãœãããåŒã³åºãã«ã¯ã次ã®ãã£ãŒã«ããå«ãPayRequestãæž¡ãå¿ èŠããããŸãã
- éé¡-æ¯æãéé¡ã
- é貚-é貚ïŒã«ãŒãã«ãç±³ãã«ããŠãŒãããµããŒããããŠããŸãïŒã
- OrderId-ã·ã¹ãã ã§çæãã泚æã®IDã
- CardExpMonth-ã«ãŒãã®æå¹æéæã
- CardExpYear-ã«ãŒãã®æå¹æéã
- CardCvv-CVC2 / CVV2ã
- CardHolderNameã¯ãã«ãŒãå矩人ã®ååã§ãã
- CardNumber-ã«ãŒãçªå·ã
- é»åã¡ãŒã«-æ¯æ人ã®é»åã¡ãŒã«ã
PCI PA-DSSã«ã€ããŠ
ãã¡ãããçµéšè±å¯ãªèªè ã¯ãSDKã§ã«ãŒãçªå·ãæäœããŠPCI DSSãã©ã®ããã«æ©èœãããã確èªããŸãã ã¯ãã確ãã«ãæ¯æãäžã«éè¡ã«ãŒãã®ããŒã¿ãå ¥åããã¢ããªã±ãŒã·ã§ã³ã¯ãæ£åŒã«ã¯PCI DSSæšæºããŸãã¯ãããPCI PA-DSSã«è©²åœããŸãã
æçš¿ã§è©³çŽ°ã«æžãã PCI DSSãšã¯äœã§ããïŒ PCI PA-DSSã¯ãé¢é£ããPCI DSSãã€ã¡ã³ãã«ãŒãæ¥çã®ãã€ã¡ã³ãã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£æšæºã§ãã
- ç¯å²ïŒã«ãŒãææè ã«é¢ããããŒã¿ãä¿åãåŠçããŸãã¯è»¢éããã¢ããªã±ãŒã·ã§ã³ã
- é©çšåºæºïŒå°ãªããšã1ã€ã®ã«ãŒãçªå·ïŒPANïŒã®ä¿ç®¡ãåŠçããŸãã¯è»¢éã
- é©ååºæºïŒèŠä»¶ã®100ïŒ ãžã®æºæ ã
- 確èªæ¹æ³ïŒç£æ»çµç¹ã«ããç³è«ã®ç£æ»ã
- 確èªé »åºŠïŒæ¯å¹Žã
æšæºã®ç¯å²ããç解ãããããããã¢ããªã±ãŒã·ã§ã³ã«éè¡ã«ãŒãã®ããŒã¿ãå ¥åãããå Žåãæšæºã®ç¯å²å ã«åãŸããŸãã ãŸããAPIãšSDKã®äž¡æ¹ã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®ææè ã¯ã蚌ææžã®ååŸã«ã€ããŠæ€èšããå¿ èŠãããããã«æãããŸãã
ãã ããæåã«ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã«ã¯æ確ãªèŠä»¶ïŒãªã³ã©ã€ã³ã¹ãã¢ãªã©ïŒããŸã£ãããªãããšã«æ³šæããŠãã ããã2çªç®ã«ãå°èŠæš¡äŒæ¥ã®å ŽåãèªèšŒã¯æ£åŒã«ã®ã¿å³å¯ã«å¿ èŠã§ãã ããšãã°ãã¯ã¬ãžããã«ãŒãã§æ¯æãæ©äŒã顧客ã«æäŸãããã¹ãŠã®ãªã³ã©ã€ã³ã¹ãã¢ã«ã¯ããµãŒãã¹ãããã€ããŒã®å®å šãªæ¯æãããŒãžã§æ¯æãèªäœãè¡ãããå Žåã§ããPCI DSSã¬ãã«4蚌ææžãå¿ èŠã§ãã ãã ãã1ãæã«20,000ã«ãŒãã«ã®ã«ãŒã売ãäžãããããªã³ã©ã€ã³ã¹ãã¢ã§ã¯ãæ¯å¹Žã®èªå®ãåããå¿ èŠããªãããšã¯èª°ã«ãšã£ãŠãæããã§ããåãç¶æ³ã¯ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®PA-DSSèªå®ã«ãåœãŠã¯ãŸããŸãã
æ¯æãããŒã¿ãpayIDã«çœ®ãæããå¯èœæ§ã«ã€ããŠ
æšæºã®èŠä»¶ã¯ãéè¡ã«ãŒãããŒã¿ãå ¥åããã¢ããªã±ãŒã·ã§ã³ã«é©çšãããŸãã ã¢ããªã±ãŒã·ã§ã³ãæ¯æãããŒã¿ãå ¥åãããç¹å®ã®èå¥åãå ¥åããå Žåãã¢ããªã±ãŒã·ã§ã³ã¯ã«ãŒãããŒã¿ã®åŠçãäžæ¢ããèªèšŒã¯äžèŠã«ãªããŸãã
2013幎ã®åãã«ãPayIDãããžã§ã¯ããéå§ããŸãããããã«ãããæ¯æãæ å ±ãå ¥åããã«æ¯æããåãå ¥ããããšãã§ããŸãã éè¡ã«ãŒãã®ææè ã¯ãpayIDã§ã¢ã«ãŠã³ããäœæããéè¡ã«ãŒããããã«ãã€ã³ãããPayOnlineçµç±ã§æ¯æããåãå ¥ãããµã€ãã§æ¯æããè¡ãå Žåã圌ã¯å®å šãªã«ãŒãã®è©³çŽ°ãå ¥åããŸãããã圌ã®payIDãšCVC \ CVVã³ãŒããå ¥åããŸãã ããã«ããããªã³ã©ã€ã³ã¹ãã¢ãŸãã¯ã¢ããªã±ãŒã·ã§ã³ããæ¯æ人ãŸã§ã®éè¡ã«ãŒãããŒã¿ãåŠçãã責任ã軜æžããããšãã§ããŸããããã«ãããã«ãŒãããŒã¿ãšã¢ã«ãŠã³ãã®ãéã®100ïŒ ã®ã»ãã¥ãªãã£ã確ä¿ã§ããŸãã
PayIDæ¯æããã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒããšãçµã¿èŸŒã¿ã®æ¯æããã©ãŒã ãªãã§ã«ãŒãæ¯æããåãå ¥ããPA-DSSèªå®ãææãããã³éé£ãæž¡ãããšãã§ããŸãã
Pro Future Payment SDK
äžã§æžããããã«ããã®å€ã®çµããã«Windows SDKãéå§ããŸãããããã®è£œåã¯ãŸã æ°é®®ã§ããã掻çºã«éçºäžã§ãã äžè¬ã«ãã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã§ã®ã«ãŒãæ¯æãã®åãå ¥ãã®ç¯å²ã¯ãããèªäœéåžžã«æ°ãããã®ã§ãã ã»ãã¥ãªãã£æšæºããŸã çå®ãããŠããéããæšæºã®é»ååååŒã»ã©å³ãã管çãããŠããããã§ã¯ãããŸããã
ãããããã·ã¢ã§ã®ã¢ãã€ã«ã€ã³ã¿ãŒãããã®äººæ°ã®æé·ã®ãã€ããã¯ã¹ãé»è©±ããã¹ããŒããã©ã³ãžã®å€§èŠæš¡ãªç§»è¡ããã·ã¢èªã®ã¢ããªã±ãŒã·ã§ã³ã®æ°ã®å¢å -ãããã¯ãã¹ãŠãé»ååååŒã®ã¢ãã€ã«ã»ã°ã¡ã³ãããã®å¯èœæ§ãšåçåèœåã§åãããšã®çŽæãç©èªã£ãŠããŸãã
ãã®ãããPayment SDKã®éçºãç¶ç¶ããããã€ãã®æ¹åã«é²ãäºå®ã§ãã
- éçºè ã«ãšã£ãŠã®æ©äŒã®æ¡å€§ïŒãã©ãããã©ãŒã ã®ãªã¹ãïŒAndroidãiOSïŒããã³ãµããŒããããŠããããã°ã©ãã³ã°èšèªã®ãªã¹ã-ããã«ãããã®ã¯ãã¹ãŠæ確ã§ãã³ã¡ã³ãã¯ãããŸããã
- ã«ãŒãããã«ãŒããžã®è»¢éïŒã«ãŒãããã«ãŒããžã®è»¢éã®ãµãŒãã¹ãå®è£ ãããŠããããã§ã«Habréã§ããã«ã€ããŠæžããŠããŸãã ãã®ãµãŒãã¹ãå¯ä»ã¹ããŒã ã«åŸã£ãŠåäœããã¢ããªã±ãŒã·ã§ã³ã«çµ±åããå¯èœæ§ãå®è£ ããããšãèããŠããŸãã ã¢ããªã±ãŒã·ã§ã³ææè ã¯ãIPã®ç»é²ãååºWebãµã€ãã®äœæãããã³æ¯æãã²ãŒããŠã§ã€ãšã®å¥çŽãç· çµããå¿ èŠãåé¿ã§ããŸãã 圌ã¯ãééãåãåãããã«éè¡ã«ãŒãã®ã¿ãå¿ èŠã§ãã
- ã¢ããªã±ãŒã·ã§ã³ã§ã®payIDãä»ãã䟿å©ãªæ¯æãåçïŒ payIDã®äœ¿çšã䟿å©ã§åçæ§ã®é«ãçç±ã¯ãPCI PCI-DSSæçš¿ã«é¢ããéšåããæããã§ãã ããã«ãããèªèšŒã³ã¹ããåé¿ããã«ãŒãããŒã¿ã«å¯Ÿãã責任ã軜æžããæ°èŠé¡§å®¢ãåŒãä»ããããšãã§ããŸãã
çŸåšãã¢ããªã±ãŒã·ã§ã³ã«æ¢ã«ååšããå Žåãã«ãŒãææè ãèå¥åã®ææè ã«ã·ãŒã ã¬ã¹ã«å€æããæ¹æ³ãèããŠããŸãã
èããã¹ãå€ãã®ãããã¯ããããŸãããããã ãã§ã¯ãããŸããã建èšçãªæ¹å€ãPayOnline Payment SDKãéçºããããã®èå³æ·±ãã¢ã€ãã¢ãææ¡ã«å¯ŸããŠhabrazhitelã«æè¬ããŸãã
nugetããããŠã³ããŒãã§ããŸãïŒ https ://www.nuget.org/packages/PayOnline_PaymentSDK/