使用Plaid Link

时间:2016-05-09 12:41:43

标签: javascript plaid

我正在使用格式链接及其 custom integration ,到目前为止,我可以提取机构列表。这很棒,因为我不需要对机构列表进行硬编码,我可以为选择机构显示自定义模式对话框。

现在,下一步是让用户输入他们的凭据,以便通过public_token回调获得metadataonSuccess。 Plaid Link希望我使用所传入的所选机构的类型来呼叫linkHandler.open,这会显示允许用户输入其凭据并确认的Plaid模式对话框。然后调用onSuccess回调。

但是,如果我想让用户通过自定义模式输入用户名和密码,该怎么办?是否有像linkHandler.auth(userName, password)之类的东西会以类似的方式调用onSuccess,但是如果没有显示模态对话框,我就无法设置样式?

这是片段,但它基本上是从文档中复制粘贴的,所以没有惊喜:

let plaidLink = Plaid.create({
  env: "tartan",
  clientName: "",
  key: "blahblahblah", // A correct public key.
  product: "auth",
  onLoad: () => {
    console.debug("onLoad");
  },
  onSuccess: (publicToken, metadata) => {
    console.debug("onSuccess");
  },
  onExit: () => {
    console.debug("onExit");
  }
});

// Don't want this!
//plaidLink.open("bofa"); 

// Want this, this is cool, but can I get the same for the credential dialog?
console.debug("institutions", plaidLink.institutions);

1 个答案:

答案 0 :(得分:1)

我担心您正在寻找的功能目前不存在于Plaid Link中,并且很可能在不久的将来不会实现。这是因为Link专门用于处理每个银行相当复杂的流程和可能性范围。

对于像Wells Fargo这样不需要MFA问题或答案的简单集成,您的提案可能会有效。

Plaid.auth('wells', userName, password)

但是对于ChaseBank of America这两个都有各种MFA问题的机构来说,流程会复杂得多,而且只能通过一次方法调用来实现。

Plaid.auth('chase', userName, password)
Plaid.mfaDevice('chase', device)
Plaid.mfaCode('chase', code)
Plaid.handleMfaError('chase', error)
// ...

如果您确实希望向用户显示自定义模式,则可以选择构建自己的Plaid API实现。然而,Plaid Link会为您处理所有这些复杂性,我强烈建议您使用它来确保您的用户拥有出色的用户体验。 Plaid团队积极维护Link,因此它不断改进,并且经常发布新功能。