好吧,我已经解决了这个问题。真正的问题是,我没能以检索的
objectid,在我的情况下
invoiceid(in_18qcFkElSMaq70BZy1US7o3g)。此ID是发生事件的ID。表示如果是
paymentsuccessful事件,
object id则将为
chargeid。我不得不转换
event对象,
map然后获得所需的属性。以下是我为解决该问题所做的完整代码段。
public void handle(HttpServletRequest request) { Stripe.apiKey = sk_test_XXXXXXXXXXXXXXXXXXXX; String rawJson = ""; try { rawJson = IOUtils.toString(request.getInputStream()); } catch (IOException ex) { System.out.println("Error extracting json value : " + ex.getMessage()); } Event event = APIResource.GSON.fromJson(rawJson, Event.class); System.out.println("Webhook event : " + event); // Converting event object to map ObjectMapper m = new ObjectMapper(); @SuppressWarnings("unchecked") Map<String, Object> props = m.convertValue(event.getData(), Map.class); // Getting required data Object dataMap = props.get("object"); @SuppressWarnings("unchecked") Map<String, String> objectMapper = m.convertValue(dataMap, Map.class); String invoiceId = objectMapper.get("id"); System.out.println("invoideId : " + invoiceId);}


