가상계좌 취소 오류: { code: 'INVALID_BANK', message: '유효하지 않은 은행입니다.' } 질문드립니다.
서버측에서 난 오류입니다.
toss_pay_cancel error [Error: Request failed with status code 400
0|tdb-api | at createError (/home/ubuntu/workspace/TDB-BACKEND/node_modules/axios/lib/core/createError.js:16:15)
0|tdb-api | at settle (/home/ubuntu/workspace/TDB-BACKEND/node_modules/axios/lib/core/settle.js:17:12)
0|tdb-api | at IncomingMessage.handleStreamEnd (/home/ubuntu/workspace/TDB-BACKEND/node_modules/axios/lib/adapters/http.js:269:11)
0|tdb-api | at IncomingMessage.emit (node:events:531:35)
0|tdb-api | at IncomingMessage.emit (node:domain:488:12)
0|tdb-api | at endReadableNT (node:internal/streams/readable:1696:12)
0|tdb-api | at processTicksAndRejections (node:internal/process/task_queues:82:21)
0|tdb-api | ] {
0|tdb-api | config: {
0|tdb-api | url: 'https://api.tosspayments.com/v1/payments/*******/cancel',
0|tdb-api | method: 'post',
0|tdb-api | data: '{"cancelReason":"","cancelAmount":1000,"refundReceiveAccount":{"bankCode":"23","accountNumber":"52720015182","holderName":"문준호"}}',
0|tdb-api | headers: {
0|tdb-api | Accept: 'application/json, text/plain, /',
0|tdb-api | 'Content-Type': 'application/json',
0|tdb-api | Authorization: 'Basic *=',
0|tdb-api | 'User-Agent': 'axios/0.21.4',
0|tdb-api | 'Content-Length': 135
0|tdb-api | },
토스 페이먼츠 api 로그를 보면
{
"currency": null,
"cancelAmount": 1000,
"cancelReason": "",
"taxFreeAmount": null,
"taxExemptionAmount": 0,
"cancelRequestId": null,
"taxAmount": null,
"refundableAmount": null,
"refundReceiveAccount": {
"bank": "",
"accountNumber": "527**5182",
"holderName": "문준호"
},
"isDividedPayment": false,
"refundMid": null
}
"bank": "" 은행이 계속 나오질 않네요. 왜 이런걸까요?
12 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
계좌 이체가 아니라 "가상계좌" 취소 인거죠?
paymentKey 값 알려주세요
아 맞습니다.
가상계좌입니다
"paymentKey":"texti20241011125811AYu66"
입니다
취소 요청시에는 은행 코드 포함해서 보내셨는데,
API 로그에서는 은행코드가 없는것처럼 보인다는 의미이신거죠?
cancelReason 은 원래 "" 이렇게 보내고 계셨을까요?
네 맞습니다. cancelReason은 테스트 한다고 일단 빈값으로 보냈습니다.
cancelReason 에는 우선 값 추가해서 다시 시도해보실 수 있을까요?
예외 상황을 최대한 줄여보고자 합니다
{
"currency": null,
"cancelAmount": 1000,
"cancelReason": "reason",
"taxFreeAmount": null,
"taxExemptionAmount": 0,
"cancelRequestId": null,
"taxAmount": null,
"refundableAmount": null,
"refundReceiveAccount": {
"bank": "",
"accountNumber": "527**5182",
"holderName": "문준호"
},
"isDividedPayment": false,
"refundMid": null
}
data: { code: 'INVALID_BANK', message: '유효하지 않은 은행입니다.' }
여전히 오류가 납니다.
위젯키 사용하시는 것 같은데,
테스트 이시면 개별 Key 로 전환 해서도 시도 해보시겠어요?
개별Key 로 문제 없으신거면, 저희측에서 위젯키 관련해서 내부 확인 해볼 수 있도록 하겠습니다
"bankCode" : "23" 로 보내주고 계시네요. 파라미터명이 잘못되었는데
"bank" : "23" 으로 해보세요
bankCode 가 너무 자연스러워서 놓쳤네요....
bank 가 맞습니다
아ㅠㅠ 해결했습니다ㅠ
결제시, 환불 계좌 등록 파라미터가 bankCode라서 취소도 bankCode인줄 알았네요ㅠ
정말 감사합니다!!
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.