v2/payouts 지급대행 관련 질문입니다.
현재 지급대행을 테스트하려고 합니다.
{"version":"2022-11-16","traceId":"f1811d7e97d5094dbe5de99dba99db84","entityBody":null,"entityType":null,"error":{"code":"INVALID_ENCRYPTION","message":"Invalid encryption format."}}
로 뜨는데, 어떤 이유로 에러가 났는지 확인 가능할까요?
18 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
아 일단 krw 이부분이 빠졌었습니다.
다시 해봤는데
{"version":"2022-11-16","traceId":"1eb037355b083a924c175ab52c73a0ed","entityBody":null,"entityType":null,"error":{"code":"INVALID_REQUEST","message":"필수 파라미터가 누락 또는 요청 형식이 잘못되었습니다."}}
어느부분이 빠진건지 알기가 어렵습니다 ㅠㅠ
아.. 자꾸 빼먹었네요..
{"version":"2022-11-16","traceId":"51f68f923b4b75d52e04974594e31ab3","entityBody":null,"entityType":null,"error":{"code":"INVALID_REQUEST","message":"필수 파라미터가 누락 또는 요청 형식이 잘못되었습니다."}}
"{ refPayoutId = 334c61e0-d34f-4db3-b780-f3aa9f98d309, destination = seller_a01jb175x2a6ee2trs51fwz69n1, scheduleType = EXPRESS, payoutDate = , amount = { currency = KRW, value = 75 }, transactionDescription = 수업료 정산, metadata = SharedService.Services.TossService+PayoutMetadata }"
request body 에 담긴encryption data 복호화해보면 형식 자체가 잘못된 것으로 나오는데요.
한번 요청파라미터 encryption 하기전에 포맷 한번 확인해봐주실 수 있으실까요?
저희쪽에서 decrypt 해보면 다음과 같이 들어있습니다.
body에 담은 내용
eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaWF0IjoiMjAyNC0xMC0yOFQxMzo1ODowMiswOTowMCIsIm5vbmNlIjoiZDJiNzBhMzktN2ZhMS00NjU1LWE3YmYtMTE3ZTVmZGNmNDEzIn0..ju2mKXQ7MW9Ce6SN.wd9i9PGX1fXrh_iDDjLdbt8_WMzzt49n-yse5NvKpn4gPI7cXYUoqmzr_KDlGWTNQx8VLTJR7H9w89PVN0tUd66EhuQIi-Ng4iN_6rWlUvmMkzPW5-8rNkruvQjH-4TPr6be47JfyQt5tDBVmxON5e4Sed5UbhnNgshWS6ZQVAklwJPsO2ts3iAbQ_lLdBZ8N2NAhwEgf--kvPuu_qQ6F6hyYapLbvnUV83a15dEt08sxIkZlUR_too.xBJCQ2UFcVtRmI-rmmEKJw
결과값
eyJlbmMiOiJBMjU2R0NNIiwiaWF0IjoiMjAyNC0xMC0yOFQxMzo1ODoyMC4xNTgyODA3NTErMDk6MDAiLCJub25jZSI6ImQxNWQxMDY5LWU5MGUtNDE5MC05NjQ0LWM4NTk4N2I3MWY2NiIsImFsZyI6ImRpciJ9..ur29iFzErJ7Ciwqa.8hR-o-eZd1K0FLmxxtIF2TbQqUaVXHLzOtGobWZ3xCkmdWtQLW-7vFn65Dk7HS5MII64eK61meq5v1hdB0FHYZWJJPZS88XxT1XcvOLvKqE01IHvL-446ED1FOm_WgDYBQpwQnQ9XPauLvKwG3w8aCfEZLD0sk19WL6naTyLTUJoBPRdPrDqUyShIsOSW6-307gGHvemgKPNY_ZOHn96VpHcc4bf4wRYEdNiKbAfF2E1UzirVLo.t2ReyvELzrNCrC-11ojUZg
결과값을 푼 내용입니다.
{"version":"2022-11-16","traceId":"d71b80ac7f3b819176799389cd54b8e5","entityBody":null,"entityType":null,"error":{"code":"INVALID_ENCRYPTION","message":"Invalid encryption format."}}
암호화가 잘못된것으로 보입니다. 저희쪽에서 decryption이 안되고 있어요.
네 확인 감사합니다.ㅠㅠ
seller 등록할 때랑, 똑같이 사용하고 있는데.. 이것도 마찬가지일까요.. seller등록할때랑 다른 내용이 혹시 있을까요?ㅠ
"eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaWF0IjoiMjAyNC0xMC0yOFQxNDowNjowOCswOTowMCIsIm5vbmNlIjoiZTlmZWM3MzMtNzAxZi00ODFhLWJkMWYtMDBhYmZjODVkNzg2In0..5lFBmKKiNnbNDW0g.IMC3uW_RSFyRvuUQVMxuSlMA37d6buPLolvfKfDocY3A4LOyrn128P-kw4vO6L_yQB72FAR_IaYg4TyQcLJyny_HTSgzwB29g9EKkR06FSLTu1_JrQ4T_aNOZvY07SU9hdzQsHk49jGdwpLJb2jXHQWFU7RLJf0aIxyFGW1-nfjLJ4SRP_u6gk5oqF4QQ-MwN0es_HP_ceAAouFFCqABTGOsTXiifh93CYD6RnCmVW2MY3PHUIrJ.OL8MSXQe6ZvUyAte0Om1hQ"
{"version":"2022-11-16","traceId":"79993e5b6cfb6c91d736f0e101cdb8df","entityBody":null,"entityType":null,"error":{"code":"INVALID_ENCRYPTION","message":"Invalid encryption format."}}
네 동일하네요
수정해봤습니다.
암호화 이전
[{"refPayoutId":"334c61e0-d34f-4db3-b780-f3aa9f98d309","destination":"seller_a01jb175x2a6ee2trs51fwz69n1","scheduleType":"EXPRESS","payoutDate":null,"amount":{"currency":"KRW","value":75},"transactionDescription":"수업료 정산"}]
암호화 후
"eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwiaWF0IjoiMjAyNC0xMC0yOFQxNDoyMzoxNSswOTowMCIsIm5vbmNlIjoiOWYxYmRjZGMtZDg5Yy00MmU3LWI4NWUtYjkyNTNkMjgxNTYyIn0..Fd2GUwbOf-qNZ7Tj.bRkXO_dz2g8D6zX2fVUDM4BAPAj9SSTzKOs1yQgFTD3u4RIBsfpfIEk067UM_E9wWXtBnuyfq46_jU2C7lfxdvMcnEvSWONmsQdcUe0VbsBLz3KHMyfJb8LWGNrfSLKiLsMoJZujWwkMQIyCroLGNCSprS6YeDtEMqWNLUb-IVKYh0dg4_ja4EUGxJlR1gFVNePK5XXIBy2w5i_Dqx7F6vlEsH7IavWkKQ-o24c4vc9gy9oeVNRxnXXIXagSSfIwm9NEgD5hxTekNgc_YwI2h-wrmt6JNJgMlmETBr5f8JDePqaUAWmBawk.kSoHfIhSyj3nCXkZxvrDlA"
결과값
"eyJlbmMiOiJBMjU2R0NNIiwiaWF0IjoiMjAyNC0xMC0yOFQxNDoyMzoyNy45NzM5NjA3MTMrMDk6MDAiLCJub25jZSI6ImEyY2MxYjAyLWRmMTEtNDkzMS04ZmRhLTEyODRjNTE0MGUwZSIsImFsZyI6ImRpciJ9..8bJoyF2rnW_w_1_m.jRl4ItXn4-c3bnWtey3MBWkbs121kDsgQILW3bVXh1M8BEUzSVx6EH-iS1hYuLJ4ydNFDa4X0FWAorNxkFF2VoJdotddQh7_FNjDiQNxwN13Dhr5iFbKp4qLWfUtfj2ra1p6bWj9yrRX4G1NcJ0UpnlgOQ8_bI6eGO50JFkHsrq4bBZ2eaTzgUWIljfPL1nDG7uUzkq-9odKTfn0ycSdae4yLVpX_CNLSzL3Ejrzc8PpglZ3KcY.7EwQw2pnTFzvh49lYqnKhQ"
결과값 디코딩
{"version":"2022-11-16","traceId":"86019db3bb685945240a040f1186316c","entityBody":null,"entityType":null,"error":{"code":"INVALID_ENCRYPTION","message":"Invalid encryption format."}}
얘도 암호화가 잘못되었을까요?
INVALID_ENCRYPTION으로 받으시는건 아예 복호화 자체가 안되는 문제입니다.
Bad Request나 파라미터가 잘못되었다는 오류를 받으셔야, 파라미터에 문제가 있는거라서요.
네 저희쪽에서 복호화 하다가 에러가 납니다.
암호화 로직을 확인해 주셔야 할것 같아요.
System.Collections.Generic.List가 들어가는거로 보아 ASP.NET 이신것 같은데,
어떤 라이브러리로 암호화하고 계신가요?
jose-jwt 라이브러리 사용하고 있습니다.
현재, 보내기 직전에 복호화 하면, 정상적으로 동작하고 있습니다.
자답 입니다.
refPayoutId값이 길어서 그랬습니다.
refPayoutId 최대값을 알 수 있을까요?
refPayoutId 는 최대 100자로 안내 드리고 있습니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
아 아니네요..
refPayoutId 가 그냥 중복이라서 그랬던거였네요.
실패한 refPayoutId라도 그걸로 보내면 안되네요.
아니근데, 3시 넘어서 express로 보내도 그렇고
error":{"code":"INVALID_ENCRYPTION","message":"Invalid encryption format."}}
왜 에러가 다 이거인가요>??
refPayoutId가 중복이다.
지급요청일이 다르다.
뭐 이런식으로 떠야하는거 아닌가요?
네 그부분에 문제가 있어서 확인중입니다.
혹시 이후에 성공하신 요청에 사용된 refPayoutId 를 알수 있을까요?
@이민섭 님 내부 확인결과 INVALID_ENCRYPTION 을 받으신 케이스는 token expire 가 발생한 것으로 확인됩니다.
해당 오류는 JWT token 이 만들어 지고 10-초이상 경과 되어 발생한건데요. 아마도 한번 만드신 토큰을 갱신하지 않고 계속 요청하신게 아닐까 싶습니다.
여러번 해봤는데.
어떤 경우에는 디버깅 하느라 늦게보내진적도 잇고, 어떤경우에는 똑같은 refId보낸적도 잇고 해서.
그런것 같습니다. 그냥 오후 3시 이후에 바로지급으로 쏴도 똑같은 에러가 나는것 같습니다.
오후 3시 이전
token 갱신 관련 확인 해주시면 될것 같고
오후 3시 이후
이건, 3시 이후에는 실시간 지급이 불가하여 에러가 발생하는 것 일텐데,
이때의 refPayoutId 값을 알려주시면, 확인후 응답되는 에러 개선하도록 하겠습니다.