@transferwise/approve-api-action-helpers
v0.9.5
Published
An http client that handles SCA protected requests gracefully
Downloads
7,216
Readme
Approve api action helpers
A tiny library that lets you handle Strong Customer Authentication (SCA) required calls easily.
Read more from our API documentation.
Example
Sequence diagram of the flow
Usage
Installation
Using npm:
npm install @transferwise/approve-api-action-helpers
Using CDN and script tags:
<script src="https://unpkg.com/@transferwise/approve-api-action-helpers@latest/dist/main.js"></script>
Note that to use this library with Internet Explorer (11)
fetch
andPromise
must be polyfilled. For example: https://polyfill-fastly.io/v3/polyfill.min.js?features=fetch%2CPromise. Comment out the script in the demo (demo/src/inex.html
) to see it in action.
Consuming
This library exports a create
function for SCA protected requests. It returns a request wrapper that can be used like a regular fetch request. Use it as follows:
import { create, Mode } from '@transferwise/approve-api-action-helpers';
const request = create({ mode: Mode.PRODUCTION });
const res = await request('https://my-backend-api.com/sca-protected-call', { method: 'GET', ... });
When the backend returns that SCA is required, it will run the user through an SCA flow and retry that request. Also, it will throw an error if you get a 4xx
or 5xx
response.
NB! make sure that your backend proxies 'x-2fa-approval' response header to the frontend and forwards it back to Wise when this library passes it back. Also please reflect the response status (403) back to the frontend.
Configuration options
| key | optional | default | alternatives | |------|----------|----------------------|--------------| | mode | yes | Mode.PRODUCTION | Mode.SANDBOX |
Demo
In /demo directory you'll find a simple demo of the flow.