라이브키로 변경후 실 결제 안됨.
안녕하세요, 혹시 결제위젯으로 결제를 완료했는데 라이브키로 변경했음에도, 결제완료 후 실결제가 진행되지 않았습니다.
테스트 결제처럼 결제처리도 되고 paymentkey 등의 결제 고유 ID까지 나와서 처리되었는데도 실제로 돈이나 신용카드 카드 결제가 되고 있지 않습니다.
이건 어떻게 해결해야할까요?
12 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
IxuuuUq1cTyrtZy6Ex3G_uE3P3RVQjUH 방금 결제 테스트해본 orderId입니다.
인증후에 승인요청이 없습니다
이 url 에서 인증결과를 받으시고 backend 로 승인요청을 해주셔야해요
저 successUrl에서 아래 데이터를 다 불러와 백엔드로 요청을 보내고 있습니다.
const paymentType = searchParams.get('paymentType');
const orderId = searchParams.get('orderId');
const paymentKey = searchParams.get('paymentKey');
const amount = searchParams.get('amount');
백엔드에서는
const getPaymentData = await axios.get(
https://api.tosspayments.com/v1/payments/orders/${coinChargeCreateDto.orderId}
, {
headers: { Authorization: encryptedSecretKey }, // 인증 토큰 Authorization header에 추가
})
와 같은 방식으로 확인 요청을 보내고, 결제 정보를 확인하고 있었습니다.
이게 잘못된걸까요?저 요청 자체가 안들어온것으로 보입니다.
해당 코드가 실제로 실행되었는지 요청에 대한 응답은 어떻게 받으셨는지 확인부탁드립니다.
PC 에서 하시는거죠? 모바일은 promise 를 사용하실 수 없어서요
https://docs.tosspayments.com/blog/using-promises#%EA%B2%B0%EC%A0%9C-%EC%97%B0%EB%8F%99%EC%97%90%EC%84%9C-promise-%EC%A3%BC%EC%9D%98%EC%A0%90
Promise 실전에서 사용해보기 | 토스페이먼츠 개발자센터
토스페이먼츠 결제위젯 예제로 Promise가 무엇이고 어떻게 사용해야 되는지 알아볼게요.
const getPaymentData = (await axios.get(
https://api.tosspayments.com/v1/payments/orders/${coinChargeCreateDto.orderId}
, {
headers: { Authorization: encryptedSecretKey }, // 인증 토큰 Authorization header에 추가
}));
console.log('-----------------------------------------------------')
console.log(getPaymentData)
console.log('-----------------------------------------------------')
PC 모바일 둘다 안되서 여쭤봅니다.
이 소스기준으로
현재이렇게 결과값이 옵니다. 실수로 두번 더 복사를 넣어 죄송합니다
promise 사용은 안하고 있습니다. 그 대신 async await사용하고있습니다.
지금 주신건 조회인데요
승인 요청 부분을 알려주세요
해당 부분이 누락되어있었습니다. 바쁜시간 신경쓰게 만들어 죄송합니다 ㅠㅠ 친절한 대응 정말 감사드립니다!!!
아하 다행이네요 확인 감사합니다
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.