Youngkay
Youngkay3y ago

PHP 8 연동 API

백오피스와 홈페이지가 PHP8과 최신 버전의 MariaDB로 만들었는데 토스페이먼츠 결제 연동과 정산 연동 API 관련 자료나 매뉴얼을 받고 싶습니다
36 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
토스페이먼츠 BOT
토스페이먼츠 결제연동팀
샘플소스 안내
아래 버튼을 눌러 샘플 소스를 확인하세요
Youngkay
YoungkayOP3y ago
샘플 소스는 이미 적용해 보았지만 토스페이먼츠 기술지원팀이 이 소스를 사용하지 말고 다른 소스를 소개해줘 이 부분으로 사용한 후 가동하고 있지만, 매뉴얼이 없어 에러가 나더라도 어디에서 에러가 나오는지 모르겠습니다. 개발자용 매뉴얼이 없나요? 그리고 정산 부분을 저희가 개발한 백오피스와 연동하기 위한 API는 제공하지 않나요?
Kimoon Lee
Kimoon Lee3y ago
저희 docs.tosspayments.com 문서는 보셨을까요?
Youngkay
YoungkayOP3y ago
네 보았습니다 여러번 ㅠㅠ
Kimoon Lee
Kimoon Lee3y ago
그리고 어떤 에러가 발생하는지 여기에 올려주시면 확인해 드리도록 하겠습니다.
Kimoon Lee
Kimoon Lee3y ago
정산 부분은 https://docs.tosspayments.com/reference#%EC%A0%95%EC%82%B0-%EC%A1%B0%ED%9A%8C 이 API 를 이용하시면 됩니다.
코어 API | 토스페이먼츠 개발자센터
토스페이먼츠 API 엔드포인트(Endpoint)와 객체 정보, 파라미터, 요청 및 응답 예제를 살펴보세요.
Youngkay
YoungkayOP3y ago
ASP나 모바일 부분에는 자세한 자료들이 있는데 PHP는 지원팀에서 알려준 샘플 소스 밖에 없네요 ㅠㅠ 아닙니다 PHP 8을 사용합니다 <script src="https://js.tosspayments.com/v1/payment"></script> 깃 허브에 있는 내용인데 다시 들어가보니 찾을 수 없습니다. 일반인은 쉽게 찾도록 되어 있지 않아서요 예 맞습니다
Youngkay
YoungkayOP3y ago
Youngkay
YoungkayOP3y ago
이 샘플소스에서 결제 성공시 백오피스의 회원 DB의 결제정보를 수정하고 싶은데 <?php if ($isSuccess) { 아래에 쿼리문을 작성해도 되나요? succes.php 에서요 예 알겠습니다. 적용해보고 안되면 다시 연락드릴게요. 처음으로 제대로된 응답을 받게되어 감사합니다. 알겠습니다
Youngkay
YoungkayOP3y ago
success.php 파일을 이렇게 수정했는데 괜찮을까요?
Youngkay
YoungkayOP3y ago
회사에서 충분히 테스트 Key로 테스트한 후 오픈하자 했는데 어쩔수 없이 오픈해서 뒤늦게 맞추고 있습니다 제 의견을 안받아들이고 회사에서 결제 시스템을 오픈해서요 많은 도움 부탁드립니다. 감사합니다. index.html을 payment.php로 파일명을 고치고 fail.php를 payment_fail.php, success.php를 payment_success.php로 고친 후 payment.php에 다음과 같이 일부 코드를 수정했습니다. paymentData["공통"] = { "amount": "<?php echo $pay_amount; ?>", "orderId": "<?php echo $booking_no; ?>", "orderName": "<?php echo $order_name; ?>", "customerName": "<?php echo $user_name; ?>", "customerEmail": null, "customerMobilePhone": null, "successUrl": currentURL + "payment_success.php", "failUrl": currentURL + "payment_fail.php", "windowTarget": "iframe", "taxFreeAmount": null, "cultureExpense": false } 그런데 에러가 나오네요
Youngkay
YoungkayOP3y ago
currenctURL +를 삭제하면 될까요?
No description
Youngkay
YoungkayOP3y ago
currentURL + 를 삭제하니 결제하기 버튼이 안먹힙니다 ㅠㅠ
이실장
이실장3y ago
php 개발이 처음음이신가요? currentURL을 삭제하지말고, successURL을 절대경로로 관리하셔도 됩니다.
Youngkay
YoungkayOP3y ago
네 할 사람이 없어서 제가 하고 있습니다 그럼 위 코드에서 절대 경로로 하려면 어떻게 바꾸면 되나요?
티라미슈
티라미슈3y ago
개발 자체가 처음 이신것 같은데, 구글에서 절대경로 검색 해 보시면, 지금 운영하고 있는 서버 쪽 소스 어디를 바라보게 하는지 이해하실수 있을거에요!
이실장
이실장3y ago
payment_success.php가 있는 경로를 https://k-fortune.....부터 쭉 입력해주시면 됩니다.
유부장
유부장3y ago
window.location 활용 하시면 될것 같아요..
Youngkay
YoungkayOP3y ago
회사가 테스트를 먼저 해보자 한 제 의견을 무시하고 당장 결제 시스템을 가동했기에 요즘 PG 사의 API를 연동하는 것은 어제 처음 해보았습니다. 참고로 저는 수십년 동안 외국에서 살았었구요. 지금 엄청 어려운 상황입니다. 결제 대기잣가 300명 가까이 됩니다. 소스를 보내 드리니 뭐가 잘못 됐는지 검토 수정해주시면 정말 감사하겠습니다.
유부장
유부장3y ago
올려주신 파일은 삭제 했어요.. 이곳에 이렇게 파일들 올리시면 안됩니다. 이런 파일 전달이 필요하실 경우에는 미리 말씀 부탁 드려요.. 결제 운영에 필요한 API Key 페어가 다 있기 때문에, 악용될 가능성이 있어요.. 우선, "successUrl": currentURL + "https://k-fortune.com/success.php" 이거부터 수정 해주세요.. success.php 를 어디에 두셨나요? @이실장 님 말씀 처럼, 차라리 풀 주소를 이곳에 넣어 주세요. 예를 들면 아래와 같아요 "successUrl" : "https://k-fortune.com/success.php" 그런데 저희는 success.php 가 어디에 위치 하는지 모르니까, 이건 직접 해결 하셔야 해요..
Youngkay
YoungkayOP3y ago
네 알겠습니다. 제가 처음이라 이 커뮤니케이션 앱도 처음이라 몰랐습니다. 감사합니다. 알려주신대로 successUrl을 고쳤는데 전과 동일한 현상이 나타납니다 ㅠㅠ
유부장
유부장3y ago
혹시 "successUrl" : "https://k-fortune.com/success.php" 이렇게 넣으셨나요? success.php 위치는 https://k-fortune.com/success.php 이렇게 접근할수 있는건 맞으신가요 ?
Kimoon Lee
Kimoon Lee3y ago
아직도 "successUrl":"https://k-fortune.com/payment.phpsuccess.php 이렇게 오고 있습니다.
유부장
유부장3y ago
"successUrl": currentURL + "success.php", 이렇게만 수정 하신것은 아닌지 확인 해주세요 currentURL 이라는 값을 제거하고, full URL 만 넣어보세요 "successUrl" : "https://k-fortune.com/success.php" paymentData["공통"] = { "amount": "", "orderId": "", "orderName": "-", "customerName": "", "customerEmail": null, "customerMobilePhone": null, "successUrl": "https://k-fortune.com/success.php", "failUrl": "https://k-fortune.com/fail.php", "windowTarget": "iframe", "taxFreeAmount": null, "cultureExpense": false } paymentData["공통"] = { "amount": "", "orderId": "", "orderName": "-", "customerName": "", "customerEmail": null, "customerMobilePhone": null, "successUrl": currentURL + "success.php", "failUrl": currentURL + "fail.php", "windowTarget": "iframe", "taxFreeAmount": null, "cultureExpense": false }; 이렇게 공통으로 두개가 보여요 기존것 삭제 하고 새로운 것만 남겨주세요 아니면 특정 코드 삭제가 무서우시면, 주석 처리 해보세요 중간 정리 할게요 * 지금 paymentData["공통"] 으로 하나 라인을 더 생성 하신 것으로 보여요. 하나만 남겨두고 나머지는 삭제 해주세요. 동시에, 코드 라인도 맞춰 주시는것이 좋아요. * "successUrl" : "https://k-fortune.com/success.php" * 삭제가 무서우시면, 주석처리 해두세요. 주석 처리하면 그 코드는 남아있으면서, 실제 코드에서는 무시하게 됩니다. * 샘플 그대로 활용하면서 결제만 진행 되도록 구현 하신것 같아요. 거의 다 되었습니다. 위 부분만 확인해서 수정 해보세요.
Youngkay
YoungkayOP3y ago
제가 실수로 중복했네요. 결제 성공했습니다 감사합니다
유부장
유부장3y ago
👍 추가 궁금하신점은 말씀 주세요
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
Youngkay
YoungkayOP3y ago
한가지 더 부탁드립니다
Youngkay
YoungkayOP3y ago
success.php에서 다음 부분을 삭제하면 이런 메시지가 안뜨나요?
No description
Youngkay
YoungkayOP3y ago
<div class="box_section"> <div class="card-body"> <div class="gray"> <b>Response Data :</b> <pre> <?php echo trim(json_encode($responseJson,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE)); ?> </pre> </div> </div> </div>
이실장
이실장3y ago
네 하나하나 테스트를 해보시기 바랍니다.
Youngkay
YoungkayOP3y ago
정말 정말 감사합니다. 저 살았습니다
이실장
이실장3y ago
이 화면을 그대로 쓰시나요...?
Youngkay
YoungkayOP3y ago
아뇨, 불필요한 메시지가 뜨는 것을 삭제할 것이고 백오피스와의 연동도 마무리해야 합니다

Did you find this page helpful?