metadata 항목 추가 관련하여
안녕하세요.
메일로 다음과 같은 내용은 전달 받았습니다.
주요 변경사항
o 대상 API:
결제 승인 API, 결제 취소 API 등 payment 객체를 포함하는 모든 API 응답(Xpay는 해당사항 없음)
o 추가될 응답 필드:
metadata : object nullable
* metadata 요청방법은 추후 docs 문서에 추가될 예정입니다.
o 응답 예시:
{
"mId": "tosspayments",
"lastTransactionKey": "9C62B18EEF0DE3EB7F4422EB6D14BC6E",
"paymentKey": "5EnNZRJGvaBX7zk2yd8ydw26XvwXkLrx9POLqKQjmAw4b0e1",
"orderId": "MC4wODU4ODQwMzg4NDk0",
// ...
"metadata": {
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
}
응답값에 새로 추가되는 metadata 필드로 인해 기존 시스템에 영향이 있을 수 있으니, 필요 시 관련 대응을 부탁드립니다.
특히 Java에서 Jackson을 사용하는 경우 Object mapper에서 default 설정을 사용하게 되면 필드가 추가 되었을 때 에러 발생할 수 있기 때문에 확인이 필요합니다.
metadata는 많은 가맹점에서 요청한 기능으로 기능 출시에 맞춰 사용방법 및 문서 안내드리겠습니다.
--------------------------------------------
메일 내용 중
응답값에 새로 추가되는 metadata 필드로 인해 기존 시스템에 영향이 있을 수 있으니, 필요 시 관련 대응을 부탁드립니다.
특히 Java에서 Jackson을 사용하는 경우 Object mapper에서 default 설정을 사용하게 되면 필드가 추가 되었을 때 에러 발생할 수 있기 때문에 확인이 필요합니다.
이 부분에 대해서 이해가 잘 안가서 그러는데
저희 시스템은 JAVA, Jackson 사용하고 있는데 metadata 필드를 사용 안할 예정인데
특별히 조치해야 할 점이 있을가요 ?
7 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
JAVA, Jackson 을 사용하는 경우 정의되어 있지 않은 json 항목이 추가 되면 파싱하면서 exception 을 발생하는 것으로 알고 있습니다.
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
이렇게 설정을 변경하셔서 deserialize 할때 정의 되지 않은 property 가 오더라도 무시하도록 해주시면 될거에요.
정의되어 있지 않은 json 항목은 metadata 을 의미하는거 같고 그러면 request 파라미터 전달 시 metadata 값을 전달하지 않는다면 말씀하신 설정을 추가 안해도 괜찮을가요 ?
아뇨 가맹점이 보내시는 것과 무관하게 저희 결제 응답이나 조회 응답 등에서 metadata 항목이 추가 될겁니다.
그래서 관련된 설정이 안되어 있는데, 조치를 하지 않으시면 Jackson에서 deserialize 할때 에러가 나실거에요.
사전 작업 후 점검해야 할거 같은데 테스트 가맹점에는 현재 적용된 상태일가요 ?
테스트 가맹점 적용일정은 현재 확인중입니다.
@sdget
님 지금 테스트 환경에서 metadata 응답이 추가 되었습니다. 아직 metadata 기능을 사용하실수는 없지만 응답이 추가 되었으므로 추가된 응답을 파싱하는데 이슈 없는지 확인부탁드립니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.