브랜드페이 결제 관련
안녕하세요? 브랜드페이 심사 마무리 하고 결제 연동했는데, 실제 결제를 해도 카드나 계좌에서 해당 금액이 출금되지 않고, 결제 내역에도 보이지 않습니다.
결제 중간에 에러 나는 것도 없고, 테스트 API 키가 들어가 있는것도 아닌데 왜 그런걸까요?
제공 결제수단, 리다이렉트 URL 모두 설정 했고, 아무 카드나 넣으면 안되는 걸 보니 라이브 API키가 맞습니다.
24 Replies
3/12 이후에 결제 연동을 해보신 분들을 찾습니다!🔎
제품 발전을 위해 설문에 참여해주세요! 추첨을 통해 선물을 드립니다. (1분 소요)
주문번호를 알려주실수 있을까요?
그리고 successURL 에서 결제승인 API 를 호출하신것인지도 확인부탁드립니다.
@냥과장
지금보니
api.tosspayments.com/v1/brandpay/payments/confirm
호출에서
라는 에러 메시지가 나오네요. API 호출을 바로 했는데, 어떤게 문제일까요?주문번호 알려주시면 확인해보겠습니다.
주문번호를 어디서 확인할 수 있을까요? 테스트 결제내역이나 상점 결제내역에서는 확인이 안되네요
처음 결제요청할때, 해당 결제건을 구분하는 값으로 주문번호를 사용하고 있으실 것이고
결제 승인 할때도 주문번호 body 로 전달하고 있으실 겁니다
가능하시면 요청 / 응답 로그를 남기시는것을 추천 드려요
NOT_FOUND_PAYMENT_SESSION 은, 인증 완료되고 일정시간 내에 승인이 진행되지 않으면 보통 발생하고,
정확한 상황은 저희가 로그를 봐야 할수 있으니
새롭게 결제 요청을 진행하고, 그 주문번호를 로그에 남기시고,
승인까지 완료한 이후에, 오류가 발생하면 그 주문번호를 저희쪽에 전달 부탁 드려요
상세한 답변 감사합니다. 그러면 paymentKey가 주문번호인가요?
결제 승인 요청할 때
paymenyKey
amount
customerKey
orderId
를 보내고 있습니다
orderId가 주문번호입니다.
paymentKey를 알려주셔도 됩니다.
가장 최근에 에러가 있었던 건은
- paymentKey: 이슈 해결 후 삭제
- orderId: 이슈 해결 후 삭제
입니다.
orderId를 다른 형식으로 해봐도 안되네요. 방금 진행한 건은
- paymentKey: 이슈 해결 후 삭제
- orderId: 이슈 해결 후 삭제
입니다. 공유드린 2개 모두 개발 연동 테스트 상점에서 진행했습니다.
지금 clientkey 는 개발 연동 테스트 상점것을 쓰고 계시고,
secretkey 는 agoras0ewt 상점것을 쓰고 계시는데요.
우선 secretkey도 개발연동 테스트 상점것을 사용해 주시기 바랍니다.
그리고 agoras0ewt 이상점은 브랜드페이용 상점이 아닙니다.
클라이언트 시크릿키 모두 잘못 들어가있었네요. 확인 감사합니다.
브랜드 페이는 cp_geekhaus 이키를 쓰셔야 합니다.
넵 감사합니다. 공유해주신 상점키는 메시지에서 삭제해주실 수 있으실까요?
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
@냥과장 테스트 상점 secretKey를 사용해도 동일한 현상이 발생하네요. 이전에 들어가있던 시크릿키도 브렌드페이용 키
cp_geek----
가 들어가 있었습니다.
새로 테스트한 주문번호
paymentKey: 이슈 해결 후 삭제
orderId: 이슈 해결 후 삭제
서버 헤더 값에 테스트 상점 시크릿 키를 base64 인코딩되서 들어간것 까지 확인했는데, 여전히 시크릿키가 잘못 들어가있나요?사용하신 시크릿키가.. cp_xxx상점 것이 아닙니다.
저희 공용키 사용하고 계쎄요
AccessToken 발행하는 부분, 결제승인 요청하는 부분 모두 확인해보세요
답변 감사합니다.
테스트 환경에서는 테스트 상점의 공용 시크릿키를 사용해왔고, 말씀해주신 내용에 따라 cp_xxx상점의 테스트 시크릿 키로 진행했는데도 동일한 문제가 발생합니다.
방금 개발 환경에서 새로 테스트한 건은
테스트 시크릿키:
test_sk_4vZn~~~~~~~
base64 인코딩한 시크릿키: dGVzdF~~~~~~~~~~~~~~~BrOg==
paymentKey: 이슈 해결 후 삭제
orderId: 이슈 해결 후 삭제
입니다. 이 테스트 시크릿 키는 cp_xxx 상점 것이 아닌가요?이번 건은 잘되었습니다.
그런데 지금 문제라고 생각하시는 부분이 뭔가요?
빠른 확인 감사합니다. 다만
동일한 에러가 나면서 결제 진행이 안되네요
paymentKey는 k2WNa0EMg4Gv6LjeKD8aK2Bwbw4E24VwYxAdXy19qpobJmB7 이걸받으셨는데
confirm은 다른 걸로 하고 계쎄요
응답받은 paymentKey로 결제승인을 하고 계신지 확인해주세요.
아 paymentKey를 따로 받아야하는군요
unique한 키 값을 생성해서 부여하는 건줄 알았습니다
저희가 생성한 고유 값인 paymentKey 로,
confirm 을 해야 한다고 이해 하시면 됩니다.
테스트 해보시고 문제 있으시면 말씀 주세요.
@이실장 @유부장
도와주신 덕분에 테스트, 라이브 모두 정상 결제되는 것까지 확인했습니다. 빠른 응대 다시 한번 감사드립니다 🙂
참고로 paymentKey를 customerKey처럼 사용자가 직접 생성하는 것으로 착각해서 문제가 발생했는데, 에러 메시지로 "
결제 시간이 만료되어 결제 진행 데이터가 존재하지 않습니다
" 대신 "존재하지 않는 paymentKey 입니다
" 와 같이 표시되면 troubleshooting에 더 좋았을 것 같습니다.
또한 문서에도 paymentKey는 사용자가 직접 생성하는 것이 아닌, requestPayment
메소드의 리턴값을 사용한다는 내용이 있었으면 더 좋았을 것 같네요.
토스페이먼츠 번창하시길 바랍니다. 좋은 하루 되세요.네 의견 감사합니다
에러메시지 개선과, 설명 개선 내부 전달 하겠습니다 👍
@비플랜 님,
새 질문은 새로운 쓰레드에서 부탁 드립니다.
이 쓰레드에 있는 다른분들까지 멘션을 받으시게 됩니다.