Skip to content

Commit

Permalink
Merge branch 'Dwolla:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
patooworld authored Nov 26, 2023
2 parents 496cb5a + da3f34e commit 3baa430
Show file tree
Hide file tree
Showing 40 changed files with 3,334 additions and 306 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ To get more information on installing and running a specific app, please click o

* [Finicity](https://github.com/Dwolla/integration-examples/tree/main/packages/finicity-token-exchange#readme)
* [Plaid](https://github.com/Dwolla/integration-examples/tree/main/packages/plaid-funding-source#readme)
* [MX](https://github.com/Dwolla/integration-examples/tree/main/packages/mx-token-exchange#readme)
* [MX](https://github.com/Dwolla/integration-examples/tree/main/packages/mx-token-exchange#readme)
* [Flinks](https://github.com/Dwolla/integration-examples/tree/main/packages/flinks-token-exchange#readme)
11 changes: 11 additions & 0 deletions packages/flinks-token-exchange/.env.local.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Dwolla Environment and Client Key and Secret
# https://dashboard-sandbox.dwolla.com/applications-legacy
DWOLLA_ENV=sandbox
DWOLLA_KEY=
DWOLLA_SECRET=

# Flinks Instance, Customer ID, and API Secret
# Contact Flinks (https://flinks.com/contact/sales/) for more information on how to obtained these values
FLINKS_INSTANCE=toolbox
FLINKS_CUSTOMER_ID=
FLINKS_API_SECRET=
36 changes: 36 additions & 0 deletions packages/flinks-token-exchange/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# local env files
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
16 changes: 16 additions & 0 deletions packages/flinks-token-exchange/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Dwolla and Flinks - Token Exchange

This example project, built using [Next.js](https://nextjs.org), demonstrates how a Funding Source can be created for a Dwolla Customer using Dwolla's integration with Flinks via Dwolla's Token Exchange. By doing this, Dwolla is able to instantly verify the Funding Source without the need for your application to transmit sensitive data. (All sensitive data is retrieved directly from Flinks by Dwolla.)

**Note**: Since this project depends on shared dependencies, please ensure that you have executed `pnpm install` in the root directory (`integration-examples`) before continuing.

## Setup

1. Create a [Dwolla Sandbox Account](https://accounts-sandbox.dwolla.com/sign-up) and a [Flinks Account](https://docs.flinks.com/docs/welcome).
2. Rename `.env.local.example` to `.env.local`, and enter the necessary access keys for both Dwolla and Flinks.
3. Run `pnpm install` to download all necessary dependencies.
4. Run `pnpm dev` to start the Next.js application! (Before connecting a bank account, please see _[Using Flinks Connect](#using-flinks-connect)_.)

## Using Flinks Connect

When using Flinks Connect in a development environment, search for Flinks Capital and enter username `jane_doe_2_accounts` and password `Everyday`. This username and password combination results in a dummy Flinks account that has a valid US routing number. Other username and password combinations with Flinks Capital may not work in Dwolla's Sandbox environment. For more information, please [see Test Institution on Flinks' website](https://docs.flinks.com/docs/test-institution).
6 changes: 6 additions & 0 deletions packages/flinks-token-exchange/next.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/** @type {import("next").NextConfig} */
const nextConfig = {
swcMinify: true
};

module.exports = nextConfig;
43 changes: 43 additions & 0 deletions packages/flinks-token-exchange/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"name": "@example/flinks-token-exchange",
"version": "1.0.0",
"description": "Dwolla integration example that uses the Secure Token Exchange to verify a customer's bank account using Flinks",
"license": "MIT",
"author": "Dwolla, Inc.",
"scripts": {
"build": "next build",
"checks": "../../node_modules/.bin/tsc --pretty --noEmit && pnpm lint && pnpm prettier:check",
"clean": "../../node_modules/.bin/rimraf \"{.next,node_modules,tsconfig.tsbuildinfo}\"",
"dev": "next dev",
"format": "../../node_modules/.bin/prettier --config ../../.prettierrc.json --write \"src/**/*.+(ts|tsx)\"",
"lint": "next lint --config ../../.eslintrc.json",
"lint:fix": "next lint --config ../../.eslintrc.json --fix",
"prettier:check": "../../node_modules/.bin/prettier --check --config ../../.prettierrc.json \"src/**/*.+(ts|tsx)\"",
"prettier:write": "../../node_modules/.bin/prettier --config ../../.prettierrc.json \"src/**/*.+(ts|tsx)\" --write",
"start": "next start"
},
"devDependencies": {
"@babel/core": "^7.19.3",
"@types/node": "18.8.3",
"@types/react": "18.0.21",
"@types/react-dom": "18.0.6",
"@types/uuid": "^8.3.4"
},
"dependencies": {
"@emotion/cache": "^11.10.3",
"@emotion/react": "^11.10.4",
"@emotion/server": "^11.10.0",
"@emotion/styled": "^11.10.4",
"@mui/icons-material": "^5.10.6",
"@mui/lab": "5.0.0-alpha.102",
"@mui/material": "^5.10.8",
"axios": "^0.27.2",
"dwolla-v2": "4.0.0-ts-alpha.0",
"form-data": "^4.0.0",
"next": "12.3.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"usehooks-ts": "^2.9.1",
"uuid": "^9.0.0"
}
}
Loading

0 comments on commit 3baa430

Please sign in to comment.