dwolla-v2 v3.4.0
DwollaV2 Node
Dwolla V2 Node client.
Installation
dwolla-v2 is available on NPM.
npm install dwolla-v2 --saveGetting started
var Client = require("dwolla-v2").Client;
var dwolla = new Client({
key: process.env.DWOLLA_APP_KEY,
secret: process.env.DWOLLA_APP_SECRET,
environment: "sandbox", // defaults to 'production'
});Integrations Authorization
Check out our Integrations Authorization Guide.
Making requests
Once you've created a Client, you can make requests using the #get, #post,
and #delete methods. These methods return promises containing a response object
detailed in the Responses section.
// GET api.dwolla.com/customers?limit=10&offset=20
dwolla
.get("customers", { limit: 10, offset: 20 })
.then((res) => console.log(res.body.total));
// POST api.dwolla.com/resource {"foo":"bar"}
dwolla
.post("customers", {
firstName: "Jane",
lastName: "Doe",
email: "jane@doe.com",
})
.then((res) => console.log(res.headers.get("location")));
// POST api.dwolla.com/resource multipart/form-data foo=...
var body = new FormData();
body.append("file", fs.createReadStream("mclovin.jpg"), {
filename: "mclovin.jpg",
contentType: "image/jpeg",
knownLength: fs.statSync("mclovin.jpg").size,
});
body.append("documentType", "license");
dwolla.post(`${customerUrl}/documents`, body);
// DELETE api.dwolla.com/resource
dwolla.delete("resource");Setting headers
To set additional headers on a request you can pass an object as the 3rd argument.
For example:
dwolla.post(
"customers",
{ firstName: "John", lastName: "Doe", email: "john@doe.com" },
{ "Idempotency-Key": "a52fcf63-0730-41c3-96e8-7147b5d1fb01" }
);Responses
dwolla.get("customers").then(
function(res) {
// res.status => 200
// res.headers => Headers { ... }
// res.body => Object or String depending on response type
},
function(error) {
// when the server return a status >= 400
// error.status => 400
// error.headers => Headers { ... }
// error.body => Object or String depending on response type
}
);Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/Dwolla/dwolla-v2-node.
License
The package is available as open source under the terms of the MIT License.
Changelog
- 3.4.0 Update
form-urlencodedversion to allow{ skipIndex: true, skipBracket: true}options to be passed in. Thanks @MarcMouallem! - 3.3.0 Remove lodash as a dependency and replace with
Object.assign - 3.2.3 Update version and changelog
- 3.2.2 Update unit test involving token. Thanks @philting!
- 3.2.1 Update dependencies. Remove
npm-checkpackage. - 3.2.0 Add TypeScript definition (Thanks @rhuffy!)
- 3.1.1 Change node-fetch import style for better Webpack compatibility
- 3.1.0 Add integrations auth functionality
- 3.0.2 Don't cache token errors
- 3.0.1 Fix token leeway logic
- 3.0.0 Token management changes
- 2.1.0 Update dependencies
- 2.0.1 Update dependencies
- 2.0.0 Change token URLs, update dependencies, remove Node 0.x support.
- 1.3.3 Update lodash to avoid security vulnerability (#25 - Thanks @bold-d!).
- 1.3.2 Strip domain from URLs provided to
token.*methods. - 1.3.1 Update sandbox URLs from uat => sandbox.
- 1.3.0 Refer to Client id as key.
- 1.2.3 Use Bluebird Promise in Auth to prevent Promise undefined error.
- 1.2.2 Upgrade
node-fetchdependency to fixform-datacompatibility (#15) - 1.2.1 Add support for
verified_accountanddwolla_landingauth flags - 1.2.0 Reject promises with Errors instead of plain objects (#8)
- 1.1.2 Fix issue uploading files (#4)
- 1.1.1 Handle promises differently to allow all rejections to be handled (#5)
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago