Services Plugins FAQs

Help! Dwolla plugin - Get Processor Token error?

Hello ZQ forum!

I am currently working on a build in Bubble that involves the functionality of ACH.

To do so, we have installed the Dwolla ACH and Bank Payments plugin by Zeroqode and the Plaid plugin by Copilot. We have created a Dwolla Sandbox account and a Plaid sandbox account.

The API keys have correctly been entered into the corresponding fields in the Bubble plugins page. We have confirmed this by successfully running the “Create Unverified Customer” (Dwolla) & “Get Bank Account with Plaid” (Plaid) workflows. Both of these run properly.

I am now working on adding a funding source to an unverified customer in Dwolla workflow. We are having issues with this. Specifically - the action “Dwolla - Get Processor Token” is returning an error: “this account is currently not supported” in the debugger preview.


Signing into financial account through Plaid is working (using Sandbox credentials).


Immediately after signing in, this error messages pops up.


The error in the Bubble debugger.

In the end, no account has been linked to the customer in Dwolla.

We have checked that the Plaid Client_ID & Secret_Key have been entered correctly. Please advise on what is causing this issue and how we can fix this.

Cheers!

Hi @Flamingo,

We have investigated our plugin and found not find any errors with it, unfortunately. All the steps are working properly and could be adjusted on your side as well. The process is relatively easy which contains the following steps:

  1. create a new customer
  2. authorise
  3. add funding sources

Without knowing more about your workflows it is hard to indicate where the issue is on your side, but you can easily check our demo setups here to replicate the same user flow if you will. You can test the demo here and go through the process by turning the debugger on to check step by step when the Plaid token is created and it runs the workflow containing Process token creation:

Please give it a try and in case you experience the same or any other troubles, don’t hesitate to let me know.

Best,
Alex

Hi @alexandru,

Thanks for the explainer. The setup documentation was what I had initially used to create the workflows. I compared my workflow for “Plaid token has been created” and it is exactly the same as the demo (using our own Plaid API keys of course).

I suspect the issue may be related to us using the Sandbox version of Plaid - and so the account/funding source isn’t linking with Dwolla properly. Have you had success with using Plaid in sandbox version for this?

Cheers.

Hi @Flamingo,

Thanks for feedback. No, unfortunately the sandbox shouldn’t be an issue in this case because you have to test your app in a development environment to make sure everything works properly before going live and switching to production mode.

Perhaps there’s been a step missed when following our docs instructions here. Would you please be so kind to walkthrough and give it a try again to make sure everything is set up properly. Especially check at your account level, both Dwolla and Plaid.

In case all steps were followed as per our docs and you still encounter the same trouble, we could take a look into your editor and investigate with our developers as well. :pray:

Cheers

@alexandru

UPDATE

Does Dwolla does not support non-US based bank accounts? I tried the workflow using a US based bank (with Plaid Sandbox credentials) and everything works.

However, there is an error when we use Plaid development key. Specifically, there appears to be an error with the “Dwolla - Create Funding Source (With Authorization)” action when using development key.

This is our workflow (assuming customer has already been created in Dwolla & Dwolla On-Demand Authorization has been created):


Creating the Plaid link token and the calling the Plaid UI to log into bank account.


Workflow to add funding source to Dwolla once link token has been generated.

Let me emphasize - this workflow is working perfectly using the Plaid sandbox key. We log in using the sandbox credentials, and then the funding source gets added to Dwolla. We have checked in Dwolla and confirmed that the sandbox funding source was successfully added.

But when we change to the Plaid development key (changing the key in Plaid plugin key input & all relevant workflow action API key inputs as well changing any environments to “development” - this error comes up in the browser:


x11:6 Element Plaid A - Plugin action Dwolla - Create Funding Source (With Authorization) error:
Error: {“code”:“ValidationError”,“message”:“Validation error(s) present. See embedded errors list for more details.”,"_embedded":{“errors”:[{“code”:“Invalid”,“message”:“Plaid token is invalid.”,“path”:"/plaidToken","_links":{}}]}}
at errorFrom (/var/task/node_modules/dwolla-v2/src/dwolla/Token.js:49:15)
at /var/task/node_modules/dwolla-v2/src/dwolla/Token.js:70:29
at tryCatcher (/var/task/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/var/task/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/var/task/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/var/task/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/var/task/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/var/task/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/var/task/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/var/task/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/var/task/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (internal/timers.js:461:21)

Error: Outer Error (see above for inner error)
at Block.wait (/var/task/u.js:420:34)
at Object.async_fn [as async] (/var/task/index.js:264:43)
at eval (eval at build_function (/var/task/index.js:55:21), :26:22)
at /var/task/index.js:297:23
at run_fn (/var/task/u.js:594:18)

Object
code: “1612150985485x211527626707806100”
element_instance: e {element: t, container: t, mode: “run”, _thumbnail_mode: false, _edit_mode: false, …}
event: t {json: t, E: {…}, _field_names: {…}, get_static_property_run_cache_1_param: ƒ}
log: (3) [“in should_workflow run for cmOjf”, “should_workflow_run: true”, “about to run 1520814291764x674322781867343900-AAP cmOjh”]
server_generated: true
proto: Object


SUMMARY: Workflow works perfectly using Plaid sandbox key. Workflow produces error (after logging into bank) using Plaid development key (yes the key is correct). Please advise.

Cheers.

Thanks @Flamingo for feedback.

Please let us check on it and get back to you with another reply asap!

Alex

@alexandru

Please let me know if you need any more supporting information.

We checked the API response in the browser developer console; the endpoints for both sandbox & development seem to be correct, so there appears to be an issue in the server side for the plugin.

We await your response!

Hi @Flamingo,

Thanks for feedback.

Yes, it works only for US based users.

Unfortunately, it should not be an issue in regards to the sandbox/production keys but actually where you are using these keys.

The API services are usually having sandbox (or development) environment, and a production (or live) environment.

Your error message says there is an invalid Plaid token which should be an issue at step 1 Plaid - Get access token action.

Please make sure you are using all of your sandbox keys (development) in the version-test app, and when you go live you need to adjust the workflows to the production environment and change all of the fields and keys from your Dwolla and Plaid accounts accordingly.

Please use our demo example here.

Best,
Alex

@alexandru

Thank you for the clarification on US-only bank accounts for Dwolla.

The Plaid service offers three separate environments: Sandbox, Development, Production.


We have keys for Sandbox & Development (which are different), but not for Production yet as that is a paid plan and we are still building.

I am not so sure the error is originating at Step 1 - Get Access Token as we have tested multiple iterations of the workflow and only once we get to Step 3 - Get Processor Token does the error arise.

Can you clarify what you mean by “version test app” and also by “where you are using these keys”?


Depending on if we are using the Sandbox or Development environment, we have first adjusted the secret key in the Bubble Plaid plugin.


We then adjust the environment in “Create Link Token” step. As seen, there are three environments to choose from.


We then adjust the “Environment & Secret_Key” fields in each of the workflow actions".

Once again, when all the environment fields & secret key fields as seen in the screenshots are set for Sandbox, the workflow works. But when we change to Development, that error comes up.

We have been following the Zeroqode instructions for the Dwolla plugin and continuously checking against the Demo Bubble app you shared. The workflows match, however there are some differences out of our control:


In the demo app, the Dwolla plugin is the testing version, however we do not have access to this. We have the regular Dwolla plugin installed.


In the demo app, the Plaid plugin (by Copilot) is using an outdated version (1.2.5). We are using the latest version (1.2.10). The outdated version in the demo app uses a Plaid Public Key; Plaid no longer uses public keys (as of June 23, 2020). Plaid now instead uses link tokens. This is explained in the Plaid documentation. Perhaps this is causing for error.

Even if we wanted to, we cannot use the prior Plaid plugin, as we do not have a public key.

The demo Bubble app is using all Plaid Sandbox keys. Even I have proven successful using the Sandbox environment.

I really appreciate your responses and help. But please work with your team to try with the latest version of the Plaid plugin (by Copilot) and also using the Development environment and key (not Sandbox or Production) then get back to me.

Cheers.

Sorry @Flamingo for misleading. :pray:

Yes, you are right. The Plaid service have the Development environment as well. It used to be only Sandbox and Production before, but not it seems to have 3 options as per latest documentation.

Our plugin should be working with the Development environment too, and what I meant here:

Was to be sure to change the keys and the Sandbox → Development in all places where it is required to, including the Plugins tab configurations here:

As well as workflows.


Regarding Plaid plugin by Copilot, you can use the oldest version as per our demo or the latest one - the old features are kept as well, they have not disappeared.

The Plaid service is offering you the ability to use the legacy implementations with Public keys instead of Link tokens as per their documentation.


Regarding our plugin on demo app - no worries, you are having the right plugin on our side. Our demo plugins are testing versions instead of commercial ones.


Please make sure to change to the Development mode in all places and keys as well. In case you still have troubles, we could take a look into your editors to debug where the problem might be. :pray:

Thanks for your patience.

Best,
Alex

@alexandru

As seen in the screenshots I shared in my last response, yes we have been changing the keys for Sandbox vs. Development in all the necessary places (Plaid plugin, workflows, etc.).

Unfortunately, I’m not sure if we would be able to use a legacy version of Plaid Plugin by Copilot as when we made our Plaid account recently, we haven’t even been provided a Public Key.

Before we discuss options of sharing our editor - I have a question regarding Dwolla. Currently, Dwolla offers two separate accounts: Sandbox & Production. We have a Dwolla Sandbox account, but do not have a Dwolla Production account. Thus, we have been using only Dwolla Sandbox keys in the plugin.

Is this an issue? Does the Dwolla Sandbox environment not support the integration of “real bank accounts”? If so, this could be why the workflow is failing with Plaid Development key (using real accounts) but working with Plaid Sandbox key (using test account).

Hi @Flamingo,

Thanks for confirming. In this case, I’m afraid the only suggestion we have at this point is actually using the Sandbox and Production environments only. This is actually a standard practice to test your application in sandbox and when everything is ok, you just migrate it to production because you are ready to charge real money.

I can understand the will to try the Plaid’s Development environment feature but unfortunately it will not be working properly, indeed. The Plaid Development is using live credentials but the Dwolla plugin is still in the Sandbox environment which seems to be causing the errors.

We are going to prioritise this question as a plugin improvement in the future updates, if feasible, but for now the only workaround would be using the Sandbox which is working properly as you reported, and when you are ready to go to Production, just purchase the accounts and go in live.

Please let me know if everything works as expected in the Sandbox environment. :pray:

Thanks a lot for your patience.

@alexandru

Yes, we have arrived to the same conclusion on our end. Per this Dwolla documentation:

Note: Plaid’s development environment is not compatible with Dwolla. Dwolla’s Sandbox and Production environments work with Plaid’s Sandbox and Production environments respectively.

The workflow using the Plaid Sandbox environment is working for us, so I expect the Plaid Production environment workflow to work as well.

I suggest that Zeroqode make it clear on the Dwolla plugin pages - that only the Plaid Sandbox & Production environments are compatible. As you can see, this confusion about the Development environment has caused for significant frustration.

We appreciate the help. Cheers.

1 Like

Thanks @Flamingo for the link.

We appreciate your inputs as well. It would speed up the process for us in the future.

Regarding notes on our plugin page - sure, we’ll make sure that it does not confuse our customers anymore. The Development environment is a pretty recent implementation so this is the first time we encounter such confusions.

Just asking if you do like our plugin so far, could you please rate it by going to the Plugins tab within your editor? You can give it as many stars as it deserves. The more feedback we get, the more motivated we are to build great plugins and improve existing products!

Thanks for your time. :pray:

Best,
Alex

1 Like