Li

Delete

Are you sure you want to delete this?

EasyPayModel


Date
20211007
Target
C_009
Title
toss 결제연동과정에 대한 토스측의 설명 - 이해는 쉽지않다. 하지만 알고 보면 간단한 과정이다.
Contents
사용자와 가맹점 그리고 토스가 있다. 사용자가 구매요청을 하면 가맹점은 토스로 결제생성API를 호출한다. 그러면 토스는 가맹점에 생성응답과 함께 결제URL응답을 가맹점에 보낸다. 결제생성API curl https://pay.toss.im/api/v2/payments \ -H "Content-Type: application/json" \ -d '{ "orderNo":"1", "amount":10000, "amountTaxFree":0, "productDesc":"테스트결제", "apiKey":"sk_test_w5lNQylNqa5lNQe013Nq", "autoExecute":true, "resultCallback":"https://YOUR-SITE.COM/callback", "callbackVersion":"V2", "retUrl": "http://YOUR-SITE.COM/ORDER-CHECK?orderno=1", "retCancelUrl": "http://YOUR-SITE.COM/close" }' 결제URL응답 {"code":0,"status":200,"payToken":"nXN3f5LQO1XU555OPmBze6","checkoutPage":"https://pay.toss.im/payfront/auth?payToken=nXN3f5LQO1XU555OPmBze6"} 결제URL응답으로 결제URL을 호출하면 구매자가 자신의 아이폰이나 안드로이드폰으로 정보를 입력하고 인증을 하여 사용자 유효성을 검증한다. 이 떄 가맹점이 자동승인 즉, autoExecute = true로 설정하여 결제생성 API를 구한 경우 구매자가 정상인증하였을 경우 출금을 토스가 시도하고 retURL을 호출, 그 주소-가맹자가 설정한-로 이동한다. 즉 주문완료 페이지로 사용자를 안내한다. 결제결과는 가맹점과 토스가 공유한다. 이 때 가맹점은 이번 거래 오더에 대한 payToken을 기록해둘 필요가 있다. 이것은 가맹점 데이터베이스에 기록이 되어야 하는 내용이다. 만약 autoExecute=false로 결제생성 API를 가맹점이 토스에 호출한 경우라면 사용자의 정신인증완료시 retUrl 호출시 승인요청 API (execute)를 가맹점으로 보내고 이를 통해 토스출금시도및승인응답이 이루어지고 사용자를 주문완료페이지로 안내하게 된다. 토스결제연동은간단하다라는 말은 이러한 과정을 포함한다. 그러니 이를 사용하고자 하는 가맹점에게는 결코 토스결제연동은 간단하지 않다는 말로 바꾸는 것이 좋을 듯.