带有帐户过滤器的 LinkToken - 信用卡/信用卡 - 不起作用

Posted

技术标签:

【中文标题】带有帐户过滤器的 LinkToken - 信用卡/信用卡 - 不起作用【英文标题】:LinkToken with account filters - credit/credit card - not working 【发布时间】:2021-10-26 03:18:42 【问题描述】:

我们有以下代码仅从机构检索信用卡帐户:

    LinkTokenCreateRequest.User user = new LinkTokenCreateRequest.User(person.getUuid().toString());
    Map<String, LinkTokenCreateRequest.SubtypeFilters> accountFilters = new HashMap<>();
    accountFilters.put("credit", new LinkTokenCreateRequest.SubtypeFilters(Collections.singletonList("credit card")));

    LinkTokenCreateRequest request = new LinkTokenCreateRequest
            (user, clientName, Collections.singletonList("auth"), Collections.singletonList("US"), "en")
            .withAccountFilters(accountFilters);

当我们尝试使用上述代码获取 Link Token 时,我们从 Plaid 收到错误:

errorCode: "INVALID_FIELD"
errorMessage: "account_filters must be nonempty Map<account type, Map<\"account_subtypes\", Array<account subtype>>> where account type and account subtype are strings. There must also be at least 1 valid product and account type combination."
errorType: "INVALID_REQUEST"

我们使用的是 plaid-java 版本 8.1.0

如果没有账户过滤器,我们可以从一个机构获取所有账户,但我们只想检索信用卡账户。上面的代码也适用于 "depository"/"checking" 过滤器。

【问题讨论】:

【参考方案1】:

您遇到的问题是由于产品/帐户类型组合无效; Auth 产品与信用卡不兼容。来自https://plaid.com/docs/auth/ 的身份验证文档@“身份验证只能用于支票或储蓄账户...身份验证数据不能用于设置信用卡付款。”

【讨论】:

谢谢@alex!我应该使用哪种产品和 API 来获取信用卡交易? (另外,当我连接到该机构时,它实际上会返回所有带有 Auth 产品的帐户 - 包括信用卡帐户。但它没有正确过滤帐户。) 使用产品“交易”修复了过滤问题。但看起来,当我下载交易时,它也会从储蓄账户和支票账户中获取交易......即使用户没有选择。 是的,这是非 OAuth 机构当前的预期行为——您可以根据 Link 回调中提供的信息查看用户选择的帐户,然后过滤以仅使用/显示来自该帐户的交易:plaid.com/docs/link/web/#link-web-onsuccess-accounts_metadata 谢谢@Alex!感谢您的快速响应。

以上是关于带有帐户过滤器的 LinkToken - 信用卡/信用卡 - 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

带有熊猫的日期正则表达式过滤器不起作用

使用 Paypal 帐户在 Wordpress Gravity Forms 上使用 Paypal 支付

无需 PayPal 帐户或信用卡的 PayPal Android SDK 付款

无法将信用卡添加到 Stripe 上的托管帐户

在沙盒中测试贝宝,从没有信用的帐户进行贝宝(不是信用卡)付款

贝宝沙盒帐户空白