Hello Dwolla Support Team,
I’m experiencing a critical issue with the Dwolla Sandbox API that’s preventing me from completing my integration testing, and I’m concerned about production reliability.
Issue Summary: I’m receiving a 500 server error when attempting to authenticate with the Dwolla Sandbox token endpoint.
Environment Details:
-
Environment: Sandbox
-
Application Key: 4LeFr7j0cec33SsblyZPr4VfbMJiBkEKw7YFMO3nxhfB8PQ7kr
-
SDK: dwolla-v2 Node.js SDK
-
Endpoint: POST https://api-sandbox.dwolla.com/token
Error Timeline:
-
Initially encountered an “invalid json response body” error in my Node.js application, receiving HTML (starting with
<!DOCTYPE) instead of JSON from the token endpoint -
Discovered this was due to a Windows SSL certificate revocation check issue (CRYPT_E_REVOCATION_OFFLINE)
-
After resolving the SSL issue using
--ssl-no-revokeflag in cURL, I’m now receiving a 500 server error when making the token request with proper Basic authentication
Test Command Used:
curl --ssl-no-revoke --request POST \
--url https://api-sandbox.dwolla.com/token \
--header 'Authorization: Basic [base64_encoded_credentials]' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=client_credentials'
Response: HTTP 500 error code
My Concerns: Encountering a 500 server error in the Sandbox environment is deeply concerning as I’m evaluating Dwolla for production use. If the testing environment is experiencing server-side issues, I need assurance that:
-
This is an isolated incident and not indicative of production reliability
-
My credentials and account are properly configured
-
Production environment has better stability and monitoring
What I Need:
-
Immediate investigation into why the token endpoint is returning a 500 error
-
Confirmation that my Sandbox account and credentials are properly configured
-
Assurance about production environment reliability
-
Any X-Request-ID or error logs from your side that can help diagnose this issue
I’m ready to move forward with Dwolla, but I need confidence that the production environment will be stable for my business-critical payment operations.
Thank you for your urgent attention to this matter. Actually am sharing more logs here at errorFrom (C:\Users\User\Documents\us_payroll\node_modules\dwolla-v2\src\dwolla\Token.js:52:15)
at C:\Users\User\Documents\us_payroll\node_modules\dwolla-v2\src\dwolla\Token.js:73:29
at tryCatcher (C:\Users\User\Documents\us_payroll\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (C:\Users\User\Documents\us_payroll\node_modules\bluebird\js\release\promise.js:547:31)
at Promise._settlePromise (C:\Users\User\Documents\us_payroll\node_modules\bluebird\js\release\promise.js:604:18)
at Promise._settlePromise0 (C:\Users\User\Documents\us_payroll\node_modules\bluebird\js\release\promise.js:649:10)
at Promise._settlePromises (C:\Users\User\Documents\us_payroll\node_modules\bluebird\js\release\promise.js:729:18)
at _drainQueueStep (C:\Users\User\Documents\us_payroll\node_modules\bluebird\js\release\async.js:93:12)
at _drainQueue (C:\Users\User\Documents\us_payroll\node_modules\bluebird\js\release\async.js:86:9)
at Async._drainQueues (C:\Users\User\Documents\us_payroll\node_modules\bluebird\js\release\async.js:102:5)
at Immediate.Async.drainQueues (C:\Users\User\Documents\us_payroll\node_modules\bluebird\js\release\async.js:15:14)
at processImmediate (node:internal/timers:485:21) {
status: 500,
headers: Headers {
[Symbol(map)]: [Object: null prototype] {
date: [Array],
‘content-type’: [Array],
‘content-length’: [Array],
connection: [Array],
‘cache-control’: [Array],
expires: [Array],
‘referrer-policy’: [Array],
‘x-frame-options’: [Array],
vary: [Array],
server: [Array],
‘cf-ray’: [Array]
}
},
body: ‘\n’ +
‘\n’ +
‘\n’ +
‘\n’ +
‘ \n’ +
‘\n’ +
‘\n’ +
‘dwolla.com | 500: Internal server error\n’ +
‘\n’ +
‘\n’ +
‘\n’ +
‘\n’ +
‘\n’ +
‘\n’ +
‘\n’ +
‘\n’ +
‘\n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ Internal server error\n’ +
’ Error code 500\n’ +
’ \n’ +
’ \n’ +
’ Visit cloudflare.com for more information.\n’ +
’ \n’ +
’ 2025-11-18 13:17:49 UTC\n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ You\n’ +
’ \n’ +
’ \n’ +
’ Browser\n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ Working\n’ +
’ \n’ +
‘\n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ Johannesburg\n’ +
’ \n’ +
’ \n’ +
’ Cloudflare\n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ Error\n’ +
’ \n’ +
‘\n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ api-sandbox.dwolla.com\n’ +
’ \n’ +
’ \n’ +
’ Host\n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ Working\n’ +
’ \n’ +
‘\n’ +
’ \n’ +
’ \n’ +
’ \n’ +
‘\n’ +
’ \n’ +
’ \n’ +
’ \n’ +
’ What happened?\n’ +
" There is an internal server error on Cloudflare’s network.\n" +
’ \n’ +
’ \n’ +
’ What can I do?\n’ +
’ Please try again in a few minutes.\n’ +
’ \n’ +
’ \n’ +
’ \n’ +
‘\n’ +
’ \n’ +
’ \n’ +
’ Cloudflare Ray ID: 9a07c00f085373e9\n’ +
’ •\n’ +
’ \n’ +
’ Your IP:\n’ +
’ Click to reveal\n’ +
’ 154.159.254.73\n’ +
’ •\n’ +
’ \n’ +
’ Performance & security by Cloudflare\n’ +
’ \n’ +
’ \n’ +
’ (function(){function d(){var b=a.getElementById(“cf-footer-item-ip”),c=a.getElementById(“cf-footer-ip-reveal”);b&&"classList"in b&&(b.classList.remove(“hidden”),c.addEventListener(“click”,function(){c.classList.add(“hidden”);a.getElementById(“cf-footer-ip”).classList.remove(“hidden”)}))}var a=document;document.addEventListener&&a.addEventListener(“DOMContentLoaded”,d)})();\n’ +
’ \n’ +
‘\n’ +
’ \n’ +
‘\n’ +
‘\n’ +
‘’
}
POST /api/payouts/plaid/link-employee-funding-source 400 2809.870 ms - 6806