Дей*_*дир 2 spring stripe-payments
我创建了一个 spring-boot 服务器来处理 stripe webhook。但是,webhooks 正在工作 - 我收到一个事件,但是当我尝试获取 dataObjectDeserializer.getObject() 的值时,它为 null。任何想法可能是什么以及如何解决它。
这是代码:
Event event = null;
try {
event = Webhook.constructEvent(
payload, sigHeader, endpointSecret
);
} catch (SignatureVerificationException e) {
// Invalid signature
logger.info("Webhook error while validating signature.");
return "";
}
EventDataObjectDeserializer dataObjectDeserializer = event.getDataObjectDeserializer();
StripeObject stripeObject = null;
if (dataObjectDeserializer.getObject().isPresent()) {
stripeObject = dataObjectDeserializer.getObject().get();
} else {
// Deserialization failed, probably due to an API version mismatch.
// Refer to the Javadoc documentation on `EventDataObjectDeserializer` for
// instructions on how to handle this case, or return an error here.
}
Run Code Online (Sandbox Code Playgroud)
小智 10
我最近遇到了同样的问题。
就我而言(我相信也可能是你的)。事件未正确反序列化,因为您帐户中使用的 API 与项目中 Stripe SDK 模型之间的版本不匹配。您可以通过查看 Event.getApiVersion() 和 Stripe.API_VERSION 来检查这一点。如果它们不同,那么您将需要正确升级它们,并考虑迁移指南(如果它们适用于您的场景)。
就我而言,因为这是第一次,我不需要进行任何迁移,我只需简单地到我的仪表板并升级 sdk:
仪表板注意:它显示回滚,因为我确实升级了它。如果还没有,您将可以使用“升级”选项。
您可以在他们的文档页面上找到更多信息:
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1474 次 |
| 最近记录: |