모비딕
모비딕2y ago

가상계좌를 자바스크립로 연동하려는데 에러가 나요.

가상계좌에서 동의를 하고 은행을 선택할 수 있게 하려고 하는데 창이 안 뜹니다. {"code":"Y","msg":"Y","data":{"clientKey":"XXXXXXXXXXXX","accountDuration":"48"}} (clientKey는 감췄습니다.) 이렇게 리턴이 되면 성공아닌가요? 어떻게 수정을 해야 할까요?
No description
14 Replies
이실장
이실장2y ago
지금 참고해서 연동 중이신 페이지 공유해주시겠어요?
Kimoon Lee
Kimoon Lee2y ago
메일로도 주신것 같은데요. 주문번호를 string으로 넣어 보실수 있을까요?
모비딕
모비딕OP2y ago
페이지 공유면...파일을 말씀하시는 걸까요? <script src="https://js.tosspayments.com/v1/payment"></script> <script> document.addEventListener("DOMContentLoaded", function () { $(document).on('click', '.btn_pay', function () { $('#orderTotal').val(parseInt($('#orderTotal').val()) - parseInt($('#usePoint').val())); $.ajax({ type : "POST", dataType:"json", async:true, cache:false, contentType:"application/x-www-form-urlencoded;charset=UTF-8", url : "/order/tossInfo.json", failure : function(_response) { alert("error"); return false; }, success : function(object, status) { if (status === "success") { callToss(object.data.clientKey, object.data.accountDuration); } else { alert("error"); } } }); }); }); function callToss(clientKey, accountDuration) { tossPayments = TossPayments(clientKey); tossPayments.requestPayment('VIRTUAL_ACCOUNT', { // 결제 수단 파라미터 // 결제 정보 파라미터 amount : $('#orderTotal').val(), orderId : $('#orderNo').val(), orderName : '[[${cartDto.orderProductName}]]', customerName: '[[${userVo.memberNm}]]', successUrl : 'http://localhost:8003/order/paymentSuccess', failUrl : 'http://localhost:8003/order/paymentFail', validHours : accountDuration, cashReceipt : { type: '미발행', }, }) .catch(function (error) { if (error.code === 'USER_CANCEL') { // 결제 고객이 결제창을 닫았을 때 에러 처리 alert("결제를 취소하셨습니다."); return; } else if (error.code === 'INVALID_CARD_COMPANY') { // 유효하지 않은 카드 코드에 대한 에러 처리 alert("에러입니다."); return;; } }) } </script> 일단....토스페이 호출하는 부분은 이렇게 생겼습니다 jquery, thyeleaf 사용해서 작성되었습니다.
Kimoon Lee
Kimoon Lee2y ago
orderId : $('#orderNo').val(), 여기를 '로 감싸주시기 바랍니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
모비딕
모비딕OP2y ago
그거 감싸고 했는데도 동일합니다
OMG
OMG2y ago
금액이 "NaN" 로 되어 있네요. 이 부분도 체크 부탁 드려요.
모비딕
모비딕OP2y ago
그건 실행된 후에 값이 변경된건데...그렇게 안 되게 하고서 다시 체크해 보겠습니다. 감사합니다 말씀해 주신 부분 체크해서 해결 되었습니다. 감사합니다. 가상계좌 발급의 경우 이용자가 입금을 할 때 입금해야 할 금액과 다른 금액을 입금이 가능한가요?
유부장
유부장2y ago
불가능 합니다.
모비딕
모비딕OP2y ago
네..알겠습니다. 감사합니다 그리고 가상 계좌 결제 성공하고 리턴값이 paymentKey={PAYMENT_KEY}&orderId={ORDER_ID}&amount={AMOUNT} 이렇게 세 개를 보내준다고 설명이 되어 있던데 계좌 정보는 전달해 주지 않는지요?
OMG
OMG2y ago
네, 결제요청에 성공하면 리턴되는 값이구요. /v1/payments/confirm 을 호출하여 가상계좌 발급에 성공하면 virtualAccount 객체가 응답값으로 내려갑니다.
모비딕
모비딕OP2y ago
이해 하기가 어렵습니다....계좌 정보를 받을 수 있다는 말씀이신지요?
OMG
OMG2y ago
결제창 연동하기 | 토스페이먼츠 개발자센터
카드, 계좌이체, 휴대폰, 상품권 결제를 연동하는 방법을 알아보세요.
모비딕
모비딕OP2y ago
네 감사합니다

Did you find this page helpful?