
ããªããã-ã¹ããªãŒãã³ã°ã®åçåãšYandex.Money APIã§ã®å®è£
ã®ã¢ã€ãã¢ãç§ãã¡ãã-èŠèŽè
ãåºåããéã
API移転ã®6æ³ã®èªçæ¥ãã¢ã³ããã«ãœã³ã§ç¥ãããšã«ããŸããã誰ã§ããžã£ãã¯ããããšæŠãããšãã§ããŸãã 100,000ã«ãŒãã«ã®è³éã«å ããŠãYandex.Moneyãä»ããééããã®å©çãåè
ãšå
±æããŸãã
ç§ãã¡ã¯ããã¹ãŠã®åã
ã®éçºè
ãèµ·æ¥å®¶ãã¹ã¿ãŒãã¢ããããŒã ãã«ããããŸãã
åå æ¹æ³ïŒ Webã§ã¹ããªãŒãã³ã°ããããã®ãéãéããããã®ãããã«äœ¿çšã§ãããœãªã¥ãŒã·ã§ã³ãéçºããå¿
èŠããããŸãã
ãªããããå¿
èŠãªã®ãïŒææã³ã³ãã³ãã®ã¹ããªãŒãã³ã°ã䌎ããµãŒãã¹ã®æ°ã¯çå®ã«å¢ããŠããŸããã圌ãã®ããã«ãéãåãåã䟿å©ãªæ¹æ³ã¯ãŸã ãããŸããã ãµãŒãã¹ã®ææè
ã ãã§ãªãããŠãŒã¶ãŒã«ãšã£ãŠã䟿å©ãªå°ãªããšã1ã€ã
åµé æ§ã®èªç±åºŠïŒ Yandex.Money APIãä»ããæ¯æãããœãªã¥ãŒã·ã§ã³ã«é¢äžããå¿
èŠããããŸãããã®ä»ã¯ãã¹ãŠããªãã®è£éã«ä»»ãããŠããŸãã äŒç€Ÿã®å°é家ã®ju審å¡ãæé©ãªãœãªã¥ãŒã·ã§ã³ãéžæãããã®äœæè
ã¯è³é100,000ã«ãŒãã«ãåãåãããµãŒãã¹ã®åãªãã¬ãŒã·ã§ã³ãã0.5ïŒ
ã®ææ°æãåãåãããšãã§ããŸãã
èŠçŽãããš ã2017幎8æ1æ¥ãŸã§ã«æ¢è£œã®ãããã¿ã€ããšãããã¡ã€ã«ãåãå
¥ããŸãã
APIã䜿çšãããšã次ã®ã¿ã¹ã¯ãå®è¡ã§ããŸãã
åé¡ã®è§£æ±ºã«æ²¡é ããããããããã«ãäŸã䜿çšããŠAPIã䜿çšããäžè¬çãªã·ããªãªãåæããŸãã
ïŒ1ãŠã©ã¬ãããã©ã³ã¶ã¯ã·ã§ã³ãžã®ã¢ã¯ã»ã¹ããªã¯ãšã¹ããã
Yandex.Moneyã§ãŠã©ã¬ããã䜿çšããŠæäœãè¡ãåã«ïŒããšãã°ãååŒã®å±¥æŽãã¢ã«ãŠã³ãã¹ããŒã¿ã¹ã衚瀺ããïŒãéçºè
ã¯ç¹å®ã®æš©éãååŸããå¿
èŠããããŸãã
ãšããã§ãYandex.Moneyã§ã®ã¢ããªã±ãŒã·ã§ã³ã®æ¿èªã¯ã次ã®ä»æ§ãæºãããŠããŸãã
ã¢ããªã±ãŒã·ã§ã³ãç»é²ãããã®ãã©ã¡ãŒã¿ãŒãæå®ããŸãã ãªãã€ã¬ã¯ãURIãšããŠãOAuthèªèšŒãæåããåŸã«Yandex.MoneyããŠãŒã¶ãŒã«éä¿¡ããã¢ãã¬ã¹ãæå®ããŸãã ãã®åŸãäžæã®client_idèå¥åãååŸããŸãã
ããã§ããŠãŒã¶ãŒãŠã©ã¬ããã§å¿
èŠãªã¢ã¯ã·ã§ã³ãå®è¡ããæš©å©ããªã¯ãšã¹ãã§ããŸãã ãŠã©ã¬ããã®ååŒå±¥æŽã衚瀺ããæš©éãæã€æ¿èªãªã¯ãšã¹ãã®äŸïŒ
POST /oauth/authorize HTTP/1.1 Host: money.yandex.ru Content-Type: application/x-www-form-urlencoded Content-Length: 191 client_id=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01&response_type=code&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb&scope=account%2Dinfo%20operation%2Dhistory
èªèšŒãªã¯ãšã¹ãããã£ãå ŽåããŠãŒã¶ãŒã¯èªèšŒããŒãžã«ãªãã€ã¬ã¯ããããããã§ãã°ã€ã³ãã¹ã¯ãŒããå
¥åãããªã¯ãšã¹ããããæš©éã®ãªã¹ãã確èªãŸãã¯æåŠã§ããŸãã

èš±å¯ã€ã³ã¿ãŒãã§ãŒã¹ã
èªèšŒçµæã¯HTTP 302ãªãã€ã¬ã¯ããšããŠè¿ãããŸã -ã¢ããªã±ãŒã·ã§ã³ã¯ãéçºè
ããªã¯ãšã¹ããã©ã¡ãŒã¿ã§æå®ãããªãã€ã¬ã¯ãURIã¢ãã¬ã¹ã«ãŠãŒã¶ãŒããªãã€ã¬ã¯ãããŸãã ãªãã€ã¬ã¯ãURIã®å€ã¯ãã¢ããªã±ãŒã·ã§ã³ã®èšå®ãšäžèŽããå¿
èŠããããŸããããã«ãããè¡ã®æ«å°Ÿã«è¿œå ã®ãã©ã¡ãŒã¿ãŒãè¿œå ã§ããŸãã èªèšŒçµæãæåãããªãã€ã¬ã¯ãã¢ãã¬ã¹ã«ã¯ããã©ã¡ãŒã¿ã³ãŒã ïŒäžæèªèšŒããŒã¯ã³ïŒãå«ãŸããŠããŸãã
HTTP/1.1 302 Found Location: https://client.example.com/cb?code=i1WsRn1uB1ehfbb37
æåŸã®ã¹ãããã¯ãç¹å®ã®æš©å©ã»ãããå²ãåœãŠãããŠããããŒã¯ã³ãååŸããããšã§ãã ãã®åŸãã¢ããªã±ãŒã·ã§ã³ã¯äžæããŒã¯ã³ãèªèšŒããŒã¯ã³ã«å€æŽããéçºè
ã¯ããã䜿çšããŠãŠã©ã¬ããå
ã®æ
å ±ã«ã¢ã¯ã»ã¹ããŸãã
POST /oauth/token HTTP/1.1 Host: money.yandex.ru Content-Type: application/x-www-form-urlencoded Content-Length: 421 code=0DF3343A8D9C7B005B1952D9B933DC56ACB7FED6D3F2590A6FD90EC6391050EDFFCC993D325B41B00F58E5383F37F6831E8F415696E1CF07676EE8D0A3655CDD7C667189DFB69BFDB7116C0329303AB2554290048BAF9B767B4C335BF0E85830AC017AD2F14D97F529893C202D3B2C27A61EE53DC4FB04DAE8E815DE2E3F865F&client_id=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ01&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb
ãããããã®ãããªçãã¯ãäžæçãªããŒã¯ã³ã®äº€æãæåããããšã§åŸãããŸãã
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 293 Cache-Control: no-store { "access_token":"410012345678901.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123" }
Access_tokenã¯å¯Ÿç§°ç§å¯ã§ãããããã¢ããªã±ãŒã·ã§ã³éçºè
ã¯ãããä¿è·ããããã«è¿œå ã®å¯Ÿçãè¬ããå¿
èŠããããŸããããŒã¯ã³ãæå·å圢åŒã§ä¿åããææè
ãèªèšŒã«æåããå Žåã«ã®ã¿ã¢ã¯ã»ã¹ãæäŸããŸãã
ïŒ2ãã©ã³ã¶ã¯ã·ã§ã³å±¥æŽã衚瀺ãã
ããŒã¯ã³ãåãåããšãéçºè
ã¯ããŒã¯ã³ã䜿çšããŠããŠã©ã¬ããã§ã®èš±å¯ãããã¢ã¯ã·ã§ã³ã«äœ¿çšã§ããŸãã ç¹ã«ããã®æ¿èªã«ããããŠãŒã¶ãŒã®ãŠã©ã¬ããã®å±¥æŽã衚瀺ã§ããããã«ãªã£ãããšãæãåºããŠãã ããã
ãœãŒã·ã£ã«ãããã¯ãŒã¯ã®ã¯ã©ãŠããã¡ã³ãã£ã³ã°ã®åéããã®æãåçŽãªäŸïŒãµãã«ãŒã«ç¹åããç¹å®ã®VKontakteã³ãã¥ããã£-å€ãã®å å
¥è
ãšæŽ»åããããŸãããããã¯äœæã«äœããããããžã§ã¯ãã§ããã人çã®ç®æšã§ã¯ãããŸããã ãã€ãŠãäžè¬ã®äººã
ãå å
¥è
ã®äŒè°ãéãã管çè
ã®é»å財åžãéããŠããã®ããŒãºããã®ä»ã®ããŒãºã®ããã«ãéãéããŸããã åãåã£ããéã®åé
ã®éææ§ãé«ããããã«ã管çè
ã¯ããŒãã«ãäœæããAPIãä»ããŠæäœã®å±¥æŽã«é¢ããããŒã¿ãããã«åã蟌ã¿ãŸããã 誰ãããŠã©ã¬ããã«ééãããšã誰ããæäœã®è©³çŽ°ãéä¿¡è
ãééã®ç®çãèŠãããšãã§ããŸãã
ããŒã¿ã衚瀺ããã«ã¯ã æäœå±¥æŽã¡ãœããã䜿çšããŸããããã«ãããéçºè
ã®ãªã¯ãšã¹ããããŒãœãã©ã€ãºã§ããŸãã åºåã§ã¯ãããšãã°ãæè¿ã®10件ã®ãã©ã³ã¶ã¯ã·ã§ã³ãéå»6ãæéã®æäœããŸãã¯çµè²»ãã©ã³ã¶ã¯ã·ã§ã³ã®ã¿ãååŸããŸãã ããã¯ãã¹ãŠãéçºè
ããµãŒãã¹ãäœæãããŠãŒã¶ãŒã®é£æ¬²ã«äŸåããŸãã
ã¹ããªãŒããŒã®å Žåãéãããã¯ããŒã ãéä¿¡è
ããã®ã¡ãã»ãŒãžã䜿çšãããæ¯æãæ¹æ³ãªã©ãçä¿¡è£å
ã®æ¥æã«é¢ããæ
å ±ã衚瀺ãããšäŸ¿å©ã§ãã ã»ãšãã©ã®å ŽåãããŒã¿ã¯ããã¯ããŒã ã§ãã£ã«ã¿ãªã³ã°ãããŸããããã¯ãã¹ããªãŒããŒã«åœ¹ç«ã€å ŽåããããŸããããšãã°ãæé«ã®å¯ä»è
ïŒãµãã¹ã¯ã©ã€ããŒïŒãéžæããè¿ãå°æ¥é
ä¿¡ãããã²ãŒã ãéžæããããå§ããããšãã§ããŸãã
ãŠã©ã¬ãããžã®æåŸã®5ã€ã®çä¿¡ã¯ã¬ãžããã®ãªã¯ãšã¹ãã®äŸã¯æ¬¡ã®ããã«ãªããŸãã
POST /api/operation-history HTTP/1.1 Host: money.yandex.ru Authorization: Bearer 410012345678901.7EE34A50588723226C886A475AD1D415471BF687CCC2AFC7664BA12F4EC2BDBA1EB82625E49BC29D114A6C6AF12F87639A877E81A5B77B81F003A9DB4CCEB9BD80C6E70B157C18410E884465276AACBD58C2D7B6022CBDFD0004B80704E82D3F0E4039A29655EFAA44F037D6BF763B0B803329FE8A0E511057173B04341C4317 Content-Type: application/x-www-form-urlencoded records=5&type=deposition
Yandex.MoneyãµãŒãã¹ãåçã§ãããã®ã¯æ¬¡ã®ãšããã§ãã
{ "next_record": "5", "operations": [ { "operation_id": "548936732440013012", "title": " ", "amount": 1.96, "direction": "in", "datetime": "2017-05-24T10:25:32Z", "label": "123007", "status": "success", "type": "deposition" }, { "pattern_id": "p2p", "operation_id": "1097872036856016025", "title": " 410012345678902", "amount": 0.99, "direction": "in", "datetime": "2017-05-24T10:13:38Z", "status": "success", "type": "incoming-transfer" }, { "operation_id": "548428048231013012", "title": " ", "amount": 1.96, "direction": "in", "datetime": "2017-05-18T13:07:28Z", "status": "success", "type": "deposition" }, { "operation_id": "548427906481013012", "title": " ", "amount": 1.96, "direction": "in", "datetime": "2017-05-18T13:05:06Z", "status": "success", "type": "deposition" }, { "pattern_id": "p2p", "operation_id": "1096319740674326025", "title": " 410012345678903", "amount": 0.01, "direction": "in", "datetime": "2017-05-15T10:37:50Z", "status": "success", "type": "incoming-transfer" } ] }
å±¥æŽãžã®ãªã¯ãšã¹ãã«åºã¥ããµãŒãã¹ã®å¥ã®äŸã¯ããã©ãŒã©ã ã§ã®äžæ¬è³Œå
¥ã§ãã人ã
ã¯ããããå
¥ããŠäœäŸ¡æ Œã§å€§éã«æ³šæããããšã«åæããäž»å¬è
ã¯èªåã®è²¡åžã«ãéãéããŸãã 誰ãã賌å
¥ã«åå ããŠãã人æ°ãšãéã®äœ¿ãéãèŠãããã«ãYandex.Money APIã«åºã¥ããå€ãã®ãµãŒãã¹ã®1ã€ã䜿çšã§ããŸãã ãããã®ãµãŒãã¹ã®ããããã§ãã³ã¬ã¯ã¿ãŒããŠã©ã¬ããã§ãã°ã€ã³ããã ãã§ååã§ãã
ïŒ3ãã©ã³ã¹ãã§ãã¯
ã²ãŒã ã®ã¹ããªãŒããŒã¯å€ãã®å Žåè€æ°ã®ã¢ãã¿ãŒã§åäœãããããYandex.MoneyããŒã ã¯ããéãéããç®æšãå¿
èŠãªéé¡ãæå®ããŠé²æã远跡ã§ãããŠã£ãžã§ãããéçºããŸããã ããšãã°ãã¹ããªãŒããŒã¯æ°ããPlayStation 4ã賌å
¥ããããšèããŠããŸããå¿
èŠãªéé¡ããŠã©ã¬ããã«åéããããšãYandex.Moneyã¯æ³šæããæéã§ãããšããéç¥ããŠã£ãžã§ããã«éä¿¡ããŸãã

èç©ãŠã£ãžã§ããã
å¥ã®äŸãšããŠãã¹ããªãŒãã³ã°ãµãŒãã¹ãæ®é«ãžã®ç¶ç¶çãªã¢ã¯ã»ã¹ãå¿
èŠãšããå Žåããã€ã€ã«ãã£ããã°ã©ã ããããŸããããšãã°ããã¶ãããã«æ³šæã§ããã¹ããªãŒããŒã®å人ã¢ã«ãŠã³ããå²åŒäŸ¡æ Œã§æäŸã§ããŸãã ãããããã®åã«ããµãŒãã¹ã¯å£åº§ã®ãéã泚æã«ååã§ããããšã確èªããå¿
èŠããããŸãã
æ®é«ã衚瀺ããã«ã¯ã account-infoã¡ãœããã䜿çšã§ããŸãã
POST /api/account-info HTTP/1.1 Host: money.yandex.ru Authorization: Bearer 410012345678901.1578E01607EB3899853D2883E47841A195BC561F1F8CF479D593B662AD60B2D146EE49F02D750CB2972E51E0DF10369AE77FD930D82B7563AA0D65FA709A7C31EB59D4FFC1F2E85A14A817BDFB282C5A82FF1B79C65D2AE7B3BAE1C1C7D89CBE80477FF1C51A8F3DD9A032475BE629235949B7A2CA7823AC6AC06DB3176F9B54 Content-Type: application/x-www-form-urlencoded
å¿çãšããŠããµãŒããŒã¯æ¬¡ãè¿ããŸãã
{ "account": "410012345678901", "balance": 192.45, "currency": "643", "account_type": "professional", "identified": true, "account_status": "identified", "cards_linked": [ { "type": "MasterCard", "id": "4005641800", "pan_fragment": "532130******2227" } ], "balance_details": { "total": 192.45, "available": 192.45, "blocked": 1 } }
ãã®çµæã貞å察ç
§è¡šã«é¢ãã詳现ãªæ
å ±ã ãã§ãªãããªã³ã¯ãããéè¡ã«ãŒãã«é¢ããæ
å ±ã衚瀺ãããŸãããã¹ã¯ãããã«ãŒãçªå·ãã¿ã€ãããªã³ã¯ãããã«ãŒãã®èå¥åã§ãã
APIãä»ãããã©ã³ã¹ã®ãã§ãã¯ã圹ç«ã€ããã€ãã®ã·ããªãªããããŸãã ïŒ4ãŠã©ã¬ããããã®è»¢é
APIã䜿çšãããšããŠã©ã¬ããããã®è»¢éã ãã§ãªãããªã³ã¯ãããã«ãŒãããã®è»¢éãéå§ã§ããŸãã ããã¯ã財åžã«ãéãå
¥ããŠãããããããã¬ã€ã€ãŒãšããŠäœ¿çšããŠã€ã³ã¿ãŒãããäžã®ã«ãŒããç
§ãããªãããã«ãã人ã
ãšã®å³æ決æžã«äŸ¿å©ã§ãã åæã«ããªã³ã¯ãããã«ãŒãããã®èªåæ§é€ã§ããæ¿èªãããå¿
èŠããããããæ¯æ人ã¯äŸç¶ãšããŠè²»çšã管çã§ããŸãã
ä»çµã¿ïŒ
ãŠãŒã¶ãŒãã確èªãåãåã£ãåŸãAPIã¯ãŠã©ã¬ããããèŠæ±ãããéé¡ãå·®ãåŒããŸãã
æ®é«ã«ååãªãéããªãå ŽåããµãŒãã¹ã¯not_enough_fundsãå¿çããŸã ã
- ããã«ããŠãŒã¶ãŒãèš±å¯ããå ŽåããµãŒãã¹ã¯ãŠã©ã¬ããã«çµã³ä»ããããã«ãŒããããéãåŒãèœãšãããšãã§ããŸãã ãªã³ã¯ãããã«ãŒãããã®èªååŒãèœãšãã¯ãæ£åœãªåå人ã®ã¿ãå©çšã§ããŸãã ãŸãããŠã©ã¬ããéã§ééããå Žåãã«ãŒããããéãåŒãèœãšãããšã¯ã§ããŸããã
ã¹ããªãŒããŒã¯ãèŠèŽè
ã«ãæŸéããœãŒã·ã£ã«ãããã¯ãŒã¯ãã®ããããŸãã¯ã¹ããªãŒã ã®æ¬¡ã®ã²ãŒã ãéžæããæš©å©ã«å¯Ÿããäžè¬ã®æè¬ãå®æçã«è»¢éããããã«åæ©ä»ããããšãã§ããŸãã
ãµãã¹ã¯ãªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ãã
ããµããŒãããã¿ã³ã®é£ã«ãããã®ã¹ããªãŒããŒãæ¯æããŠæ¯æã®æ¯æããç³ã蟌ããããšããããŸãã
- ãŠãŒã¶ãŒã[ãµããŒã]ãã¿ã³ãã¯ãªãã¯ãããšãéçºè
ã¯å®æçãªæ¯æãã®æ¡ä»¶ã確èªããYandex.Moneyãžã®ãªã¯ãšã¹ãã§èŠæ±ãããæš©å©ã®ãªã¹ãã調æŽããŸãã
ãŠã©ã¬ããã§ã®æäœã«ã€ããŠè©±ããŠããã®ã§ããããå®è¡ããèš±å¯ãèŠæ±ããå¿
èŠããããŸããã¢ã¯ã»ã¹ã®èŠæ±ã¯äŸ1ãšã»ãŒåãã§ãããæš©å©ã®ç¯å²ã¯å€ãããŸãã
èŠæ±ãããæš©å©ã®ã»ããã¯ã1000ã«ãŒãã«ã®éé¡ããŠã©ã¬ãã410012345678901ã«äžåºŠã ã転éã§ããããã«ãããã®ã§ã次ã®ãšããã§ãã
payment.to-account("410012345678901").limit(,1000)
éä¿¡è
ãå®ææ¯æãã«ãµã€ã³ã¢ããããŠããå Žåãæ¿èªã«ã¯æ¬¡ã®æå³ããããŸãã
payment.to-account("410012345678901").limit(30,1000)
ããã§ã30ã¯æ¥åäœã®æéã§ããã1000ã¯ãã®æéã®åèšæ¯æãé¡ã§ãã
éåžžã®è«æ±ãªã¯ãšã¹ãã®äŸïŒ
POST /oauth/authorize HTTP/1.1 Host: money.yandex.ru Content-Type: application/x-www-form-urlencoded client_id=49414287408917F4BC735301F4731878533F409F3BA8EA055D0D441EE002F69B&redirect_uri=http%3A%2F%2Fexample.com%2Fapi%2Fredirect_uri.php&response_type=code&scope=payment.to-account(%22410012345678903%22).limit(30%2C1000)
éä¿¡è
ã«ã¯çŸãããã©ãŒã ã衚瀺ãããŸãã

ããŒã¯ã³ãåãåã£ãåŸãéçºè
ã¯ã ãªã¯ãšã¹ã æ¯æãã¡ãœãããšããã»ã¹æ¯æãã¡ãœããã䜿çšããŠååŽããå¿
èŠããããŸã ã
POST /api/request-payment HTTP/1.1 Host: money.yandex.ru Content-Type: application/x-www-form-urlencoded Authorization: Bearer 410012345678901.D2E0917C3E09DE474DD3BF6288DDCB6818D55B6BBC8A9386ABA2A983F3F4666102F9B7A2D370D7079891299907368389F3BA8E2BE04597DCFF4CF02F4E3423896776D1C5CCE30A09B5D2E73874C5FE33CAE19286EAB03D146B46A188939BEC1ADA93F3530ECBFACA2591715F686EDBC9F616A7BF912CF4DC9CFB689473328347 pattern_id=p2p&to=410012345678903&amount=10&comment=Transfer+to+Nuke73&message=Transfer+from+SuperMan
åçäŸïŒ
{ "status": "success", "request_id": "333235373335343733345f646366303562383436613661306133373130663766343166303137666131336262656637353539655f323537353532373836", "recipient_identified": true, "multiple_recipients_found": false, "recipient_account_type": "professional", "recipient_account_status": "identified", "contract_amount": 10, "money_source": { "cards": { "allowed": false }, "wallet": { "allowed": true }, "card": { "allowed": "false" } } }
転éãšææ°æãšããã°ã ããªãã®å人å£åº§ã§ã¯ã誰ãæ¯æ¿ææ°æãæ¯æãããéžæã§ããŸã- éé¡ãšamount_dueãã©ã¡ãŒã¿ããããæ
åœããŸãã æ¯æããã³ãã¬ãŒãã§amount_dueãã©ã¡ãŒã¿ãŒãæå®ãããŠããå Žåããã®éé¡ã¯ã¹ããªãŒããŒã®ãŠã©ã¬ããã«éãããŸãïŒæéã¯èŠèŽè
ã«ãã£ãŠæ¯æãããŸãïŒã ã¹ããªãŒããŒãããèªäœã§ããã䜿çšããæºåãã§ããŠããå Žåãéãã©ã¡ãŒã¿ãŒãå
¥åã§ç€ºãããŸãã ãããã£ãŠãéé¡ïŒè»¢éãããéé¡ïŒã¯ãã³ããã·ã§ã³ãšamount_dueïŒåé ãããéé¡ïŒã®éé¡ã«çãããªããŸãã
転éã¯ããŠãŒã¶ãŒãåå ããã«ããã»ã¹æ¯æãã¡ãœãããåŒã³åºããåŸã«å®è¡ãããŸãããŠãŒã¶ãŒã¯ãã¢ã¯ã»ã¹æ¿èªäžã«æå³ã確èªããŸããã request_idãšããŠãrequest-paymentã¡ãœããã®å¿çããã®èå¥åã䜿çšãããŸãã
POST /api/process-payment HTTP/1.1 Host: money.yandex.ru Content-Type: application/x-www-form-urlencoded Authorization: Bearer 410012345678901.D2E0917C3E09DE474DD3BF6288DDCB6818D55B6BBC8A9386ABA2A983F3F4666102F9B7A2D370D7079891299907368389F3BA8E2BE04597DCFF4CF02F4E3423896776D1C5CCE30A09B5D2E73874C5FE33CAE19286EAB03D146B46A188939BEC1ADA93F3530ECBFACA2591715F686EDBC9F616A7BF912CF4DC9CFB689473328347 request_id=333235373335343733345f646366303562383436613661306133373130663766343166303137666131336262656637353539655f323537353532373836
åçäŸïŒ
{ "status": "success", "payer": "410012345678901", "payee": "410012345678903", "credit_amount": 9.95, "payment_id": "549038975018120011" }
ãã°ããã-ãŠã©ã¬ããããã®åŒãèœãšãã¯æåããŸããã
ïŒ5ã¯ã¬ãžããã«ãŒãããã®è»¢é
éè¡ã«ãŒãããã®æ¯æ¿ã¯ããŠã©ã¬ããããã®æ¯æ¿ãšã¯ç°ãªããŸãã
転éãæåãããšã request-external-paymentã¡ãœããã¯æ¬¡ãè¿ããŸãã
{ "status": "success", "title": " 410011498692222", "contract_amount": 102.04, "request_id": "333235373135303437315f36313764393332336462393164373433353264303465346432626262313465353933363763333133", "money_source": { "payment-card": {} } }
request_idïŒæ¯æãã³ã³ããã¹ãã®äžæã®èå¥åïŒãåãåã£ãããæ¯æããã©ã³ã¶ã¯ã·ã§ã³ãéå§ãããŠãŒã¶ãŒãYandex.Moneyãã©ãŒã ã«ãªãã€ã¬ã¯ãã§ããŸãã ãããè¡ãã«ã¯ãacs_paramsãã©ã¡ãŒã¿ãŒã䜿çšããŠacs_uriã§POSTèŠæ±ã䜿çšããŸããããã§ãæ¯æ人ã¯éè¡ã«ãŒãæ
å ±ãæå®ããå¿
èŠããããŸãã
ãªã¯ãšã¹ãã®äŸïŒ
POST /api/process-external-payment HTTP/1.1 Host: money.yandex.ru Content-Type: application/x-www-form-urlencoded request_id=333235373135303437315f36313764393332336462393164373433353264303465346432626262313465353933363763333133&instance_id=hh2CVJWrU9uU7N2hpEh1LvjfyBAby8USyMUEF4DM8AS6w93o53M3xrlGHsMUiWTL&ext_auth_success_uri=http%3A%2F%2Fexample.com%2Fsuccess%2F&ext_auth_fail_uri=http%3A%2F%2Fexample.com%2Ffalse%2F&request_token=false
ãããŠçãã¯ïŒ
{ "status": "ext_auth_required", "acs_uri": "https://m.money.yandex.ru/internal/public-api/to-payment-type", "acs_params": { "cps_context_id": "333235373135303437315f36313764393332336462393164373433353264303465346432626262313465353933363763333133", "paymentType": "FC" } }

Yandex.Moneyã®ã«ãŒããã©ãŒã ã
çŽæ¥æ¯æãã¯Yandex.Moneyã®è²¬ä»»ã§ãã éè¡ã«ãŒãã®è©³çŽ°ãæå®ããŠ[Pay]ãã¿ã³ãã¯ãªãã¯ãããšããŠãŒã¶ãŒã¯çºè¡éè¡ã®3-Dã»ãã¥ã¢ããŒãžã«ç§»åãããã¹ã¯ãŒããå
¥åããåŸãéçºè
ã®ãµãŒãã¹ã«æ»ããŸããæ¯æã確èªïŒext_auth_success_uriïŒ çºè¡éè¡ãèªèšŒãæåŠããå ŽåããŠãŒã¶ãŒã¯ãšã©ãŒããŒãžïŒext_auth_fail_uriïŒã«ãªãã€ã¬ã¯ããããŸãã
éçºè
ã¯ãprocess-external-paymentã¡ãœãããåŒã³åºããšãã«ãªãã€ã¬ã¯ãã¢ãã¬ã¹ãæå®ã§ããŸãã
3-D Secureã確èªããåŸãæ¯æãè
ãæåããŒãžã«ç§»åãããšããã¯ã¬ãžããã«ãŒãã«ããæ¿èªãæåããããšã確èªããå¿
èŠããããŸãã ãããè¡ãããã«ãéçºè
ã¯ä»¥åã«åãåã£ãrequest_id㧠process-external-paymentãååŒã³åºãããŸã ã
åçäŸïŒ
{ "status": "success", }
éåžžãèªèšŒåŸ10ã20ç§ã®ééã§ã«ãŒãã®æ¿èªãè¡ãããŸãã process-external-paymentãç¹°ãè¿ãåŒã³åºãããšãã«ãéè¡ããæ¿èªã¹ããŒã¿ã¹ãåãåã£ãŠããªãã£ãå Žåãéçºè
ã¯ééããªãããã確èªããŸãã
åæ§ã®çãã®äŸïŒ
{ "status": "in_progress", "next_retry": "5000" }
Next_retry-ãªã¯ãšã¹ããç¹°ãè¿ãå¿
èŠãããæšå¥šæéïŒããªç§ïŒã ãã£ãŒã«ãã¯in_progressã¹ããŒã¿ã¹ã§ã®ã¿ååšããŸãã
APIã䜿çšããæ¯æããœãªã¥ãŒã·ã§ã³ã«ã¯ãããçšåºŠã®åªåãšè€éãªæè¡ççžäºäœçšãå¿
èŠã§ãã ããç°¡åãªãªãã·ã§ã³ã¯ã æ¢è£œã® Yandex.Moneyã®ã«ã¹ã¿ã ãã©ãŒã ã䜿çšããããšã§ãããããã§ã¯ã転éã«é¢ããæ
å ±ããã©ã¡ãŒã¿ãŒã«åå²ãããPOSTã¡ãœããã䜿çšããŠç¹å¥ãªã¢ãã¬ã¹ã«éä¿¡ãããŸãã

Yandexã®ã¹ããªãŒããŒãŠã©ã¬ãããžã®è»¢é圢åŒã®ã€ã³ã¿ãŒãã§ãŒã¹ã®äŸã
ã«ã¹ã¿ã ãã©ãŒã ã䜿çšãã翻蚳ã¹ã¯ãªããã¯æ¬¡ã®ããã«ãªããŸãã
éãäž»ã¯ãé»åãŠã©ã¬ãããŸãã¯éè¡ã«ãŒãããééæ¹æ³ãéžæããŸãã
éçºè
ã¯ãYandex.Money ãã©ã¡ãŒã¿ã®ã»ããããæååãçæããPOSTã¡ãœããã䜿çšããŠãããã«èå¥ã§ããããã«äžæã®æ¯æãã©ãã«ïŒã©ãã«ïŒãšãšãã«äœæmoney.yandex.ru/quickpay/confirm.xmlã«è»¢éããŸãã éçºè
ã¯ãæäœã®è©³çŽ°ãèªåã®ããŒã¿ããŒã¹ã«ä¿åããŸãã
æ¯æ人ã¯æ¯ææ¹æ³ãéžæããYandex.MoneyåŽã§ééã確èªããããŒãžã«ç§»åããéé¡ãã¹ããªãŒããŒã®ãŠã©ã¬ããã«åŒãèœãšãããŸãã ãã¡ããããã€ãã¹ã®ææ°æã
åä¿¡è
ã¯ãHTTPéç¥ãé»åã¡ãŒã«ãSMSãããã·ã¥ãéããŠè³éã®åé ã«ã€ããŠåŠç¿ããŸãã éç¥ãã³ãã©ã®ã¢ãã¬ã¹ã¯ããŠã©ã¬ããèšå®ã§äºåã«æå®ããå¿
èŠããããŸãã
- éçºè
ã¯ãããã»ããµã®ã¢ãã¬ã¹ã§åä¿¡ãã詳现ãåæãããããªãã¢ã¯ã·ã§ã³ã決å®ããŸãã ç§ãã¡ã®ã±ãŒã¹ã§ã¯ãçä¿¡éé¡ãã¹ããªãŒããŒã®æ¡ä»¶ãæºãããå Žåãåç»ã®äŒŽå¥ä»ãã®ãµãã¹ã¯ã©ã€ããŒã®ã¡ãã»ãŒãžããããªã¹ããªãŒã ã§éä¿¡ãããŸããã ã¡ãã»ãŒãžã¯SpeechKitãã¯ãããžãŒã䜿çšããŠåçãããŸããã
ãã®ã·ããªãªã«ã¯1ã€ã®æ¬ ç¹ããããŸãããµãŒãã¹ãé©åã«æ©èœããã«ã¯ãã¹ããªãŒããŒããŠã©ã¬ããå
ã®HTTPéç¥ã®èšå®ã䜿çšããŠäžå¿
èŠã«æäœããå¿
èŠããããŸãã
APIãšã¯ç°ãªãããã©ãŒã ãšãã¿ã³ã䜿çšãããšããªã³ã¯ãããéè¡ã«ãŒãããééã§ããŸãã ãã ããææ°æã¯åå人ããã®ã¿ååŸãããŸãã
ã¹ããªãŒããŒããã®äžå¿
èŠãªæäœãå¿
èŠãšããªãããã«ãæäœã®å±¥æŽã確èªããäžæã®ç¿»èš³ã©ãã«ãããŒã¿ããŒã¹ã®ããŒã¿ãšæ¯èŒããæ¹æ³ãåŠç¿ããã ãã§ååã§ãã ã¹ããªãŒããŒã®æäœãžã®ã¢ã¯ã»ã¹ãååŸããããšã®ã¿ãæ®ã£ãŠããŸããèšäºã®åé ã§ãã¹ããªãŒããŒã«æš©å©account-infoããã³operation-historyãžã®ã¢ã¯ã»ã¹ã確èªããããã«äŸé ŒããŸããã æåã®æ¹æ³ã¯ã¹ããªãŒããŒã®ãŠã©ã¬ããã®çªå·ãèŠã€ããã®ã«åœ¹ç«ã¡ã2çªç®ã®æ¹æ³ã¯æäœã«é¢ããæ
å ±ã§ãã
ããã¯ãã¹ããªãŒããŒãŠã©ã¬ããã®æåŸã®2ã€ã®æäœã®ãªã¯ãšã¹ããžã®å¿çããæäœå±¥æŽã¡ãœããã䜿çšããŠAPIãéããŠã©ã®ããã«èŠãããã§ãïŒè»¢éã¯ã«ã¹ã¿ãã€ãºããããã©ãŒã ãä»ããŠè¡ãããŸããïŒã
{ "next_record": "2", "operations": [ { "operation_id": "549575176734053012", "title": " ", "amount": 49, "direction": "in", "datetime": "2017-05-31T19:46:16Z", "label": "yadonate#1782", "status": "success", "type": "deposition" }, { "pattern_id": "p2p", "operation_id": "1098088627442030025", "title": " 410011498790000", "amount": 9.95, "direction": "in", "datetime": "2017-05-25T16:18:33Z", "label": "testpayment", "status": "success", "type": "incoming-transfer" } ] }
ã¹ããªãŒããŒãŠã©ã¬ãããžã®è»¢éã®æåã確èªããåŸããããªã¹ããªãŒã ã«ãæ°ã«å
¥ãã®ããžãã¯ãäœæã§ããŸãã
ãã®æçš¿ã§ã¯ãã¹ããªãŒãã³ã°ãµãŒãã¹ã«APIã䜿çšããããã®æãåºæ¬çãªã¢ã€ãã¢ãšã·ããªãªã®ã¿ãæ€èšããŸããã äžæãªç¹ãããå Žåã¯ãã³ã¡ã³ãã§ãæ°è»œã«ãåãåãããã ããã ãŸããèªè
ã®äžã«ã¹ããªãŒããŒããã®èŠèŽè
ãããå Žåã¯ãå¯ä»ããã䟿å©ã§æ¥œãããã®ã«ããæ¹æ³ã«ã€ããŠæèŠãå
±æããŠãã ããã
Yandex.Eventsãžã®åå ãç»é²ã§ããŸãã ãããã¿ã€ããšãããã¡ã€ã«ã¯2017幎8æ1æ¥ãŸã§åãä»ããŠããŸãã
ããžããïŒ