가상계좌 결제취소가 되지 않아 문의드립니다.
상점아이디 : ggacbmejpc
주문번호 : MC4xNDAxMjY1NjU4NjA1
인데 가상계좌취소 API로 넘겼을시 INVALID_REQUEST코드로 필수파라미터가 누락되었다고 결과가 나옵니다.
API 테스트 봤을때는 cancelReason, refundReceiveAccount.accountNumber, refundReceiveAccount.bank, refundReceiveAccount.holderName 값이 필수라고 되어있는데
모든 값을 다 잘 넘기고 있고
API 테스트에서는 정상 취소가 되고 있습니다.
확인좀 부탁드립니다.
24 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
결제는 ggacbmejpc이걸로 하셨는데
취소는 계속 다른걸로 하고계세요
secretKey가 매핑되는지 확인해보세요
결제, 취소 똑같은 시크릿키 사용중입니다. 그리고 같은 키로 신용카드는 취소가 되네요... 이런거면 같은키가 아닐까요??
혹시 로그가 나온다면 어떤키를 사용중인지 알수 있을까요..??
취소할때는 결제연동 테스트 상점 키를 사용하고 계십니다.
16시 27분 은 ggad31muyx 이걸로 취소 요청하시네요.
apiKey 는 지워주세요
결제가 발생했던 키로 취소를 요청주셔야합니다
정리하자면
결제 ggacbmejpc
16시 27분 취소 ggad31muyx
17시 19분 취소 결제연동 테스트 키
이렇게 하셨어요. ggacbmejpc 이 MID 의 키로 취소 요청해주세요
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
오늘도 취소 해보는데 똑같습니다...
ggacbmejpc 이 상점아이디 시크릿키로 취소를 했구요....
시크릿키가 안맞는다던가 그런 오류가 아니라 계속 필수 파라미터가 누락되었다는 문구만 나오는데
오늘 실패한 주문번호나 paymentKey공유해주세요
주문번호 : MC4xNDAxMjY1NjU4NjA1
Tid : ggacb20250627111801FZWV7
입니다
오늘 API 로 취소 하신거죠?
오늘 취소 API 가 호출된게 없는데요.
취소를 어떻게 보내셨는지 확인부탁드릴께요./


@Kimoon Lee @이실장 요거 시크릿키가 노출되어 있어서 지워주셔야 할 것 같습니다.
제가 올린사진에서 키는 모자이크 처리하였습니다.
@킬러 일단 귀사 로직은 모르겠습니다.
우선 27일 이후에 취소 요청 올라온 건은 없습니다.
뭔가 파라미터에 값이 안채워져서 요청이 올라와서 필수파라미터 누락 에러가 떴을 것 같네요
코드를 보여주시지 마시고
실제로 ㅇㅛ청이 어떻게 올라왔는지
최총 curl을 전달해주시겠어요
일단 귀사 Mid로는 27일이후 요청올라온내용이 없습니다.
취소 필수 파라미터가 취소이유(cancelReason)로 알고 있고
가상계좌취소여서
"refundReceiveAccount": {
"accountNumber": "계좌번호",
"bank": "은행코드",
"holderName": "이름"
}
가 추가적으로 들어가야되니 입력해줬습니다.
필수값이 더 있나요?
paymentKey는 당연히 필수고 url에 들어가는 부분이라 입력 했구요...
27일에도 2~3시간동안 계속 취소요청을 했는데 로그가 많이 안남았나요??
이거 응답 헤더 혹시 확인가능하신가요?
로그 조회를 body기준으로 하기 때문에.. 파라미터 오류면 로그 조회가 잘 안될수도 있어
헤더 기반 (traceid 등등의 정보가 담겨있어 로그 조회에 사용 가능) 으로 로그를 조회해야 할 듯 합니다.
헤더를 주시거나, 요청하신 내용 그대로 전달해주세요
로그 기반으로 확인하겠습니다.
curl 에 헤더가
시크릿키를 base64로 인코딩해서 주고있는데
시크릿키가 노출되면 안된다고 하셨는데 헤더값을 올려도 되는건가요?
응답 헤더에 있을거에요
Authorization: Basic 시크릿키
요청 헤더가 아니라요~!
HTTP/1.1 400 Bad Request Date: Mon, 30 Jun 2025 05:35:24 GMT Content-Type: application/json Content-Length: 84 Connection: keep-alive vary: Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Origin,Access-Control-Request-Method,Access-Control-Request-Headers x-tosspayments-trace-id: 44fb8f5121da50573959f99908a4598f access-control-allow-credentials: true access-control-allow-methods: POST, GET, OPTIONS, DELETE access-control-max-age: 3600 access-control-allow-headers: Origin, Content-Type, Accept, X-Requested-With, Key, Authorization, Referer-Policy, x-secure-keyboard-id, x-secure-keyboard-fields, sentry-trace, x-tosspayments-device-id, x-tosspayments-session-id, x-publickey-id, tosspayments-test-code, tosspayments-mid, idempotency-key referrer-policy: no-referrer-when-downgrade x-content-type-options: nosniff x-xss-protection: 1; mode=block cache-control: no-cache, no-store, max-age=0, must-revalidate pragma: no-cache expires: 0 strict-transport-security: max-age=31536000 server: was x-envoy-upstream-service-time: 12
응답헤더 보냈습니다
paymentKey가 안오고 있어요
/v1/payments//cancel
그냥 이렇게 요청하고 있습니다.
그래서 에러가 뜨고요
다시한번 확인해보세요paymentKey 때문인거 같고 일단 취소요청 확인 했습니다.