1
votes

I'm building an app using expo and react native, and I am planning to use Stripe for processing payments.

I do not want to use Expo payments since it requires me to detach the project to accept payments on iOS as described here.

According to this comment, the input fields where a user enters credit card information need to be hosted by the payment provider (in my case, Stripe) for PCI compliance. Am I correct in assuming that this means I cannot use tipsi-stripe library?

Stripe does not provide react native components as far I can see. In that case, all I can think of is to embed Stripe elements or checkout component as a WebView in my react native app so that the input fields are hosted by Stripe. Is there an easier or "more native" way that I am missing?

1

1 Answers

0
votes

Your understanding on integrating Stripe API is correct. To avoid most of the PCI compliance complexity, you will need to use Stripe Element/Checkout or Mobile SDK[0].

So you can either

  1. Hosting the Elements/Checkout and use in the WebView
  2. Using Mobile SDK

And for number 2, since you are using react-native, you can use Tipsi-Stripe because tipsi-stripe is built on top of the Stripe Mobile SDK.

[0] https://stripe.com/docs/security#validating-pci-compliance