An http client that handles SCA protected requests gracefully
npm install @transferwise/approve-api-action-helpersA tiny library that lets you handle Strong Customer Authentication (SCA) required calls easily.
Read more from our API documentation.
Using npm:
- npm install @transferwise/approve-api-action-helpers
Using CDN and script tags:
-
> Note that to use this library with Internet Explorer (11) fetch and Promise 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.
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:
``javascript
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 |
In /demo directory you'll find a simple demo of the flow.