가상계좌 입금알림 콜백처리하는 예제 소스를 알수 있을까요?
json 데이터를 어떻게 넘겨 주시는 지 궁금하고, 이것을 어떻게 파싱해서 사용해야 하는 지 알려주세요.
22 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
어떤 언어 사용하시나요
?
java 사용합니다
데이터는 이렇게 전달드려요.. orderId기준으로 매핑해서 사용하시면됩니다.
네, 감사합니다. 그러면 @RequestBody String jsonBody 이렇게 받아서 파싱하면 될까요?
dto 를 사용해주세요. String 으로만 받으면 json 객체의 type 을 수용할 수가 없습니다
앗, 메소드 파라미터에서 @RequestBody String jsonBody 로 받아 JSONParser 로 파싱려고 했는데, 그러면 안되는 건가요? @RequestBody CallbackPayload payload 이렣게 받아야 하나요? 예제 코드가 없어서 json 데이터를 어떻게 처리해야 할지 고민입니다.
어떻게 하셔도 서비스만 되면 상관없습니다. 저는 common 한 케이스를 말씀드렸어요. 사실 문의주시는 내용이 결제나 결제관련 개발과는 관련도가 적어서 확정적인 답변을 드리기가 어렵습니다.
위와 같은 데이터를 메소드 파라미터에서 어떻게 받고 파싱하면 좋을까요?
개발자신가요?
네
지금 질문하시는게 어떤건가요?
JAVA를 이용해서 json데이터를 어떻게 받는지를 문의하시는건가요?
사용자가 가상계좌 결제를 하고 입금했을 때 토스에서 보내주는 콜백 json 데이터를 받아서 입금완료 처리를 해야 하는데요. json 데이터를 보내준다고만 했지 이것을 어떻게 받아서 파싱하여야 할지 이부분에 경험이 없어서 고민입니다
웹훅 경험이 없으신거같군요
네, 맞아요
현재 구현해본 소스의 앞부분만 보여드리면
@RequestMapping(value="/virtualAccountCallback.do")
public ResponseEntity<String> virtualAccountCallback(@RequestBody String jsonBody) throws IOException {
this.init();//클래스 초가화
int httpStatus = 200;
JSONParser parser = new JSONParser();
try {
JSONObject requestData = (JSONObject) parser.parse(jsonBody);// 클라이언트에서 받은 JSON 요청 바디
String status = (String) requestData.get("status");
String orderId = (String) requestData.get("orderId");
String secret = (String) requestData.get("secret");
System.out.println("가상계좌 콜백처리(status) : "+ status);
이걸로 써보세요, 제가 만든코드는 아니고 GPT 시켰어요
아, 맵으로 받으면 json 데이터가 자동을 파싱되어 맵에 매핑이 되나요?
프로젝트에 넣으신다음 가상계좌 결제부터 테스트를 하지마시구 postman 같은 툴로 데이터를 쏴보세요
일단은 너무 감사합니다
좋은 서비스 만드시길 바랍니다.
감사는 GPT 에게 돌리겠습니다 🙏
감사합니다. ^^
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.