IAV: React Native and Dwolla


(Kris E) #1

I have been looking through the docs in order to see if Dwolla’s IAV can somehow be implemented into a React Native application.

I understand that you can easily use Dwolla.js for a website which is awesome but kinda a weird experience to ask an app user to go to the website to verify.

Are there endpoints where I can get and post the functionality that the Dwolla IAV snippet handles in a browser? Or is there a different way of doing this? Just trying to see if this is possible and if it is a little guidance is much appreciated.

Thanks!


Integrate IAV flow in Android Native App
(Stephen Ausman) #2

Hey Kris,

Currently we only support IAV in the browser, so you’ll need to use a WebView that points to a page you host that goes through the IAV flow. If you use https://github.com/alinz/react-native-webview-bridge you can communicate between the page in your WebView and your React Native code.

I was playing around with this for a hackathon recently and had something like:

React Native:

class HelloDwolla extends Component {
  onBridgeMessage(message) {
    alert(message);
  }
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.heading}>
          IAV Demo
        </Text>
        <WebViewBridge
          onBridgeMessage={this.onBridgeMessage}
          url={"http://localhost:8080"} />
      </View>
    );
  }
}

My IAV page:

<script src="https://cdn.dwolla.com/1/dwolla.min.js"></script>
<div id="container"></div>
<script type="text/javascript">
  dwolla.iav.start('nAOxNxHRCV32X5lSg0fpfIOXhfNNAQUNKcPJHlCLzPO416Djz6', {container: 'container'}, function() {
    window.WebViewBridge.send(JSON.stringify(arguments));
  });
</script>

(This worked in iOS, but Android support for React Native WebView Bridge is still in Beta and has some issues: https://github.com/alinz/react-native-webview-bridge/issues/53)

Another thing to note is that IAV currently only works in Safari if your cookies policy is set to “Always Allow”. We’re working on making IAV work without cookies, but until then you’ll need to go to “Settings > Safari > Block Cookies” and change this setting in order for IAV to work.

Hopefully this helps!


(Kris E) #3

Thank you Stephen. This is very useful. I will give it a shot.


(Max M) #4

I haven’t had a chance to try this yet, but one question: generally if IAV is NOT available for the customer’s bank, I’d rather they used a mobile UI to enter their information “the old fashioned way.” Does it support this? For example, it would be great if the autocomplete-based institution lookup was a service usable from native. Then we could decide whether or not to send to IAV at all (and optimally indicate to IAV the already-known institution).


(Stephen Ausman) #5

Thanks for the feedback Max. We don’t currently have plans to support IAV via our REST API, but we’re thinking about having the dwolla.js IAV flow fall back to micro deposits if the customer’s bank is not supported. For now, the IAV flow will fire an UnsupportedBank error if the customer’s bank is not supported. You could use this error to fall back to your own flow that creates a bank the old-fashioned way using our REST API.