Unable to create Funding Sources using Plaid token

Hi,

We are integrating Dwolla with Plaid API .

We got Plaid access-sandbox-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx access_token. Using this access_token we have made following request of Dwolla ApI to create funding source in Dwolla using rest api.

EndPoint : https://api-sandbox.dwolla.com/customers/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/funding-sources

Method : Post

Header :

        Content-Type: application/vnd.dwolla.v1.hal+json

        Accept: application/vnd.dwolla.v1.hal+json

        Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Request Body :

        {
          "plaidToken": "access-sandbox-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
           "name": "Test"
       }

But we got following respose:

_{“code”:“ValidationError”,“message”:“Validation error(s) present. See embedded errors list for more details.”,"_embedded":{“errors”:[{“code”:“Invalid”,“message”:“Token is invalid.”,“path”:"/plaidToken","links":{}}]}}

Hi @Bhagyashri_Kaiche, what was the bank account type you used to connect via Plaid Link? Dwolla only supports checking and savings accounts at this time. I’ve seen this error returned when a test money market account or other account type is attempted to be connected.

Hi @spencer,

We have tried to create public_key from one of bank saving account on plaid and then exchange access_key.

https://paste.pics/9f1c72b0204db9c72443c95fb7f2364b

Using this access_key, we have executed above request on Dwolla to create a Funding source .
But again we have got the same error.

Ah, I see the issue. It looks like you are passing in an access token when Dwolla requires a processor token. I’d recommend taking a look at step 4 in this guide for more information on obtaining a processor token.

1 Like

@spencer actually having the same issue here.

My flow is as follows:
1a. user signs up and we create a dwolla customer
1b. user logs into bank with plaid link and sends public token to server
2. I generate access token for linked account and get a processor_token eg (processor-development-SOME_UUID_HERE)
3. I use the dwolla customer link from 1a to add a funding source with a valid payload eg

{'plaidToken': 'processor-development-SOME_UUID_HERE', 'name': 'asd@asd.com | Savings account'}

but the server responds with the same error @Bhagyashri_Kaiche was receiving. Not sure if you need more info, but I’m pretty sure I followed the docs to a T.

happy to DM the exact URLs and payloads I sent if that helps.

Hi @Zach_Kauffman, I would love to help you sort out this issue. Would you mind DMing me the full request/response body?

Thanks.

Hi @Zach_Kauffman, it seems that you may be passing in the Plaid developer processor token. In that case, Dwolla doesn’t support that token. We only accept Plaid sandbox processor token or Plaid production processor token at this time.

Please let us know once you’ve tried usig the right token and if the issue is solved. If that’s not the case, I’d be happy to investigate your req/res.

I think step 4. now requires this line of code. Function has been renamed on Plaid side.

dwolla_response = client.Processor.dwollaBankAccountTokenCreate(access_token, account_id)

1 Like

Hi @shreya i am having the same issue here .

  1. i created the dwolla processor token using
    dwolla_response = plaid_client.Processor.dwollaBankAccountTokenCreate(‘access-token’,‘account-id’)
    2.got the reponse = {‘processor_token’: ‘processor-sandbox-5cef790d-71ec-435a-93fe-ad8d3879b07e’, ‘request_id’: ‘Awfs2qAEWZZegZB’}
  2. passed this processor_token to
    customer = app_token.post(’%s/funding-sources’ % customer_url, request_body)
    request_body = {
    … ‘routingNumber’: ‘1111222233330000’,
    … ‘accountNumber’: ‘011401533’,
    … ‘bankAccountType’: ‘checking’,
    … ‘name’: ‘VA TECH’s Checking’,
    … ‘plaidToken’:‘processor-sandbox-5cef790d-71ec-435a-93-ad8d3879b07e’
    … }
    customer_url = ‘https://api-sandbox.dwolla.com/customers/a892db3f-b385-4565-b2f1-73c2ec8b35bf
  3. got the response
    dwollav2.error.ValidationError: {“code”:“ValidationError”,“message”:“Validation error(s) present. See embedded errors list for more details.”,"_embedded":{“errors”:[{“code”:“Invalid”,“message”:“Token is invalid.”,“path”:"/plaidToken","_links":{}}]}}

Hi @Ghanshyam, thanks for mapping out the steps you took along with all the request/response bodies!

Could the error be because the plaidToken sent to Dwolla in Step 2 may have some characters missing from the one generated in Step 1?

From Plaid        - processor-sandbox-5cef790d-71ec-435a-93fe-ad8d3879b07e
Sent to Dwolla    - processor-sandbox-5cef790d-71ec-435a-93-ad8d3879b07e

If that’s not the case, you may want to review Step 4 of the Plaid + Dwolla guide in Plaid’s documentation for generating a Dwolla Processor token.

I also want to note that when creating a funding-source using a plaidToken, you would only have to send the "name" and "plaidToken" fields over to Dwolla. Any other fields passed in would not be saved in the funding-source resource. Here’s an example request body -

{
 "plaidToken": "processor-sandbox-5cef790d-71ec-435a-93fe-ad8d3879b07e",
 "name": "VA TECH’s Checking"
}

Please let me know if that worked for you, or if you come across any questions!

@shreya Yes ,it worked Thanks

Glad that worked, @Ghanshyam!

Let us know if you run into any issues!

I’m having the same issue, but none of the fixes are working for me. Sample payload:

{
  "plaidToken": "processor-sandbox-7728c5fc-779c-4ade-b531-2ee344722612",
  "name": "Plaid Checking"
}

Response:

{
    "code": "ValidationError",
    "message": "Validation error(s) present. See embedded errors list for more details.",
    "_embedded": {
        "errors": [
            {
                "code": "Invalid",
                "message": "Token is invalid.",
                "path": "/plaidToken",
                "_links": {}
            }
        ]
    }
}

And I think it was working fine as recently as yesterday.

Same here! Exact same issue…I’ve been troubleshooting for the last 2 hours.

@strazi @Bernard_Worthy

I had this issue since morning and got in contact with the dwolla team. They claim that when they ping plaid api they are getting errors and thus are causing us to get errors. as of right now there is nothing you can do. I wrote my code in correspondence to plaid+dwolla through every guide. The code worked seamlessly for months and as I was about to release a change this error appeared.

For now you are just going to have to wait until this resolve this. through my chats with them they contacted plaid already.

Partial Correspondence with Dwolla:

{ Error: {“code”:“ValidationError”,“message”:“Validation error(s) present. See embedded errors list for more details.”,"_embedded":{“errors”:[{“code”:“Invalid”,“message”:“Token is invalid.”,“path”:"/plaidToken","_links":{}}]}}

Hi Victor, Is this error only occurring in the Sandbox environment?

12:34 pm

We currently have a message out to the Plaid team to figure out what the issue is with the token exchange endpoint in Sandbox. We are receiving an exception from their API when making requests.

Hi @victorthevong, @Bernard_Worthy, and @strazi, Thank you for your patience! We were notified from the Plaid team that a fix for the Plaid token issue has been implemented. If you have any processor tokens saved from when the issue persisted, you may need to generate new ones. Please retry and let us know if you experience further issues. Apologies for the inconvenience and delays in getting this resolved!

1 Like

i am also facing same issue with plaid processor token
when i try to create funding source with plaid token.

Hi @sanketa – would you be able to share your request/response bodies for creating a Dwolla funding-source with a Plaid token? Any information about the issue you’re running into, or information that would help me look up your account on Dwolla’s side would be great too!