Plaid更新流程中的账户同步:是否需手动重新获取账户?
Plaid Item更新后,要不要手动重新获取账户余额?
直接结论
两种方式都能拿到更新后的余额,但更推荐在onSuccess()回调里主动调用/accounts/get,同时配合webhook做兜底。
结合文档的详细说明
先看Plaid官方给出的规则:
当Item通过更新模式从ITEM_LOGIN_REQUIRED状态恢复时,若初始化时配置了支持webhook的产品(比如Transactions、Investments),接下来触发的第一个webhook会包含上次成功连接后所有缺失的数据。
这里需要注意几个关键点:
- 该webhook确实会携带更新后的账户余额,但webhook存在延迟,还可能因网络波动、平台异常等情况丢包,无法保证100%及时且可靠地接收。
onSuccess()触发时,Item已经完成更新流程,此时调用/accounts/get能立即获取到最新的账户数据(包括余额),时效性更强,适合需要快速同步余额的场景。- 若选择依赖webhook,需监听
ITEM_UPDATED类型的webhook,它会携带更新后的账户信息,收到后即可同步到数据库。但为了避免数据遗漏,建议同时在onSuccess()中做一次主动拉取,确保数据一致性。
实操建议
- 优先在
onSuccess()回调里调用/accounts/get接口,直接更新数据库中的余额数据,这是最直接可靠的方式。 - 保留webhook监听作为兜底方案,万一主动拉取失败,可通过webhook补全数据,同时要做好webhook的重试和异常处理逻辑。
- 若业务对实时性要求不高,仅依赖webhook也可行,但风险比主动拉取更高。
内容的提问来源于stack exchange,提问作者full_stack
相关产品推荐
相关产品推荐

