Git Product home page Git Product logo

jordanhanson1 / quickstartplaid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from plaid/quickstart

0.0 0.0 0.0 2.64 MB

Get up and running with Plaid Link and the API in minutes

Home Page: https://plaid.com/docs/quickstart

License: MIT License

Shell 1.47% JavaScript 11.79% Ruby 11.05% Python 13.57% Java 21.19% Go 10.89% TypeScript 25.52% Makefile 0.41% HTML 0.19% Dockerfile 0.90% SCSS 3.02%

quickstartplaid's Introduction

Plaid quickstart

This repository accompanies Plaid's quickstart guide.

Here you'll find full example integration apps using our client libraries:

Plaid quickstart app

Table of contents

1. Clone the repository

Using https:

git clone https://github.com/plaid/quickstart
cd quickstart

Alternatively, if you use ssh:

git clone [email protected]:plaid/quickstart.git
cd quickstart

Special instructions for Windows

Note - because this repository makes use of symbolic links, to run this on a Windows machine, make sure you have checked the "enable symbolic links" box when you download Git to your local machine. Then you can run the above commands to clone the quickstart. Otherwise, you may open your Git Bash terminal as an administrator and use the following command when cloning the project

git clone -c core.symlinks=true https://github.com/plaid/quickstart

2. Set up your environment variables

cp .env.example .env

Copy .env.example to a new file called .env and fill out the environment variables inside. At minimum PLAID_CLIENT_ID and PLAID_SECRET must be filled out. Get your Client ID and secrets from the dashboard: https://dashboard.plaid.com/account/keys

NOTE: .env files are a convenient local development tool. Never run a production application using an environment file with secrets in it.

3. Run the Quickstart

There are two ways to run the various language quickstarts in this repository. You can choose to run the code directly or you can run it in Docker. If you would like to run the code via Docker, skip to the Run with Docker section.

Run without Docker

Pre-requisites

  • The language you intend to use is installed on your machine and available at your command line. This repo should generally work with active LTS versions of each language such as node >= 14, python >= 3.8, ruby >= 2.6, etc.
  • Your environment variables populated in .env
  • npm
  • If using Windows, a command line utility capable of running basic Unix shell commands

1. Running the backend

Once started with one of the commands below, the quickstart will be running on http://localhost:8000 for the backend. Enter the additional commands in step 2 to run the frontend which will run on http://localhost:3000.

Node
$ cd ./node
$ npm ci
$ ./start.sh
Python

⚠️ As python2 has reached its end of life, only python3 is supported.

cd ./python

# If you use virtualenv
# virtualenv venv
# source venv/bin/activate

pip3 install -r requirements.txt
./start.sh

If you get this error message:

ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)

You may need to run the following command in your terminal for your particular version of python in order to install SSL certificates:

# examples:
open /Applications/Python\ 3.9/Install\ Certificates.command
# or
open /Applications/Python\ 3.6/Install\ Certificates.command
Ruby
cd ./ruby
bundle
./start.sh
Go
cd ./go
go build
./start.sh
Java
cd ./java
mvn clean package
./start.sh
.NET

A community-supported implementation of the Plaid Quickstart using the Going.Plaid client library can be found at PlaidQuickstartBlazor. Note that Plaid does not provide first-party support for .NET client libraries and that this Quickstart and client library are not created, reviewed, or supported by Plaid.

2. Running the frontend

$ cd ./frontend
$ npm ci
$ npm start

Run with Docker

Pre-requisites

  • make available at your command line
  • Docker installed and running on your machine: https://docs.docker.com/get-docker/
  • Your environment variables populated in .env
  • If using Windows, a working Linux installation on Windows 10. If you are using Windows and do not already have WSL or Cygwin configured, we recommend running without Docker.

Running

There are three basic make commands available

  • up: builds and starts the container
  • logs: tails logs
  • stop: stops the container

Each of these should be used with a language argument, which is one of node, python, ruby, java, or go. If unspecified, the default is node.

Start the container
make up language=node

The quickstart backend is now running on http://localhost:8000 and frontend on http://localhost:3000.

If you make changes to one of the server files such as index.js, server.go, etc, or to the .env file, simply run make up language=node again to rebuild and restart the container.

If you experience a Docker connection error when running the command above, try the following:

  • Make sure Docker is running
  • Try running the command prefixed with sudo
View the logs
make logs language=node
Stop the container
make stop language=node

Test credentials

In Sandbox, you can log in to any supported institution (except Capital One) using user_good as the username and pass_good as the password. If prompted to enter a 2-factor authentication code, enter 1234.

In Development or Production, use real-life credentials.

Testing OAuth

Some institutions (primarily in Europe, but a small number in the US) require an OAuth redirect authentication flow, where the end user is redirected to the bank’s website or mobile app to authenticate. To test this flow in sandbox, you should set PLAID_REDIRECT_URI=http://localhost:3000/ in .env. You will also need to register this localhost redirect URI in the Plaid dashboard under Team Settings > API > Allowed redirect URIs.

To test the OAuth flow in sandbox, choose 'Playtypus OAuth Bank' from the list of financial institutions in Plaid Link.

Instructions for using https with localhost

If you want to test OAuth in development, you need to use https and set PLAID_REDIRECT_URI=https://localhost:3000/ in .env. In order to run your localhost on https, you will need to create a self-signed certificate and add it to the frontend root folder. You can use the following instructions to do this. Note that self-signed certificates should be used for testing purposes only, never for actual deployments.

In your terminal, change to the frontend folder:

cd frontend

Use homebrew to install mkcert:

brew install mkcert

Then create your certificate for localhost:

mkcert -install
mkcert localhost

This will create a certificate file localhost.pem and a key file localhost-key.pem inside your client folder.

Then in the package.json file in the frontend folder, replace this line on line 28

"start": "react-scripts start",

with this line instead:

"start": "HTTPS=true SSL_CRT_FILE=localhost.pem SSL_KEY_FILE=localhost-key.pem react-scripts start",

After starting up the Quickstart, you can now view it at https://localhost:3000. If you are on Windows, you may still get an invalid certificate warning on your browser. If so, click on "advanced" and proceed. Also on Windows, the frontend may still try to load http://localhost:3000 and you may have to access https://localhost:3000 manually.

Payment Initiation

If you want to use the Payment Initiation product, you will need to contact Sales to get this product enabled.

quickstartplaid's People

Contributors

afh avatar amytang0 avatar blackchestnut avatar brooksvinyard avatar cconeill avatar cryizzle avatar davidzhanghp avatar deeechun avatar flaggigbo avatar geofreybundala avatar ghernandez-plaid avatar gipsy86147 avatar jacksiegel avatar jncraton avatar lindawoo-plaid avatar michaelckelly avatar notthefakestephen avatar nsundin avatar otherchen avatar pbernasconi avatar phoenixy1 avatar pixeleate avatar ravron avatar raxod502-plaid avatar rayraycano avatar ryandbump avatar stephenjayakar avatar stephenkoller avatar toddkerpelman avatar zachcutberth avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.