Risky to fetch Stripe API directly - react-native

I am trying to find a solid, scalable way of integrating stripe into a react native (managed workflow with expo) app for android & iOS.
There are several options. E.g.:
tipsi/stripe
expo/payments
Directly communicating with the stripe API (e.g. as described in this blog post)
I would like to go with option 3 as it's the one with the fewest overhead and most flexible (you don't need to eject expo, etc.). Now my question is, are there compliance/ security issues when directly calling the stripe API in a production mobile app? (Given the fact that payments need to follow a lot of restrictions and are a highly sensitive topic)
Thanks a lot

Related

Is it possible to put nuxt.js (pwa or spa) in the appstore?

The truth is, since nuxt works poorly in some native access, such as accessing the file manager or sending notifications to iPhone users, I am not sure if appstore supports nuxt projects or not. That's why before I start the new project, I had a question whether it is possible to put a nuxt project in appstore or not? (If the answer is yes, please guide how to do it)
Or using something like react or react native is a better option ?
Any answer from you would be greatly appreciated
As per Apple’s App Store policy-
“Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it does not belong on the App Store.” 
So no, you can’t throw a PWA in the App Store.
Google is far more accommodating in this respect, and welcomes PWAs in the Google Play Store. They also have their own publishing guidelines, so you’d want to read up on them.
React Native is an option for both the App Store and Play Store, so I’d recommend that if you’re comfortable with it.
First off, Nuxt is a meta-framework of Vue.
Meaning that it is a superset of Vue, bringing SSR/SSG capabilities + DX features.
It's clearly not a "mobile app-frienly starter" because it's still aimed towards Web.
You could use some modules to bring mobile capabilities like this one: https://ionic.roe.dev/
Here is a video on how to use Ionic + Vue + Vite overall: https://youtu.be/-FwQ6c6OreQ
As for the PWA approach, you can use a TWA app for sure but it's quite a stretch as you can guess.
You've already asked a similar question here btw, not a lot changed since then.
Overall, if you have bigger mobile needs you can always look into webview tools (Ionic, Cordova etc), React Native, Flutter or directly into Kotlin/Swift. All of them having their own pro/cons.

Possible for Expo/React Native to save large amounts of encrypted data to iCloud?

I'm developing an Expo app which stores large amounts of users private data, currently only within the app. In order to allow the user to migrate their app data between devices, we need to store this in iCloud.
I'm currently unable to find documentation or article that explains how to do this.
Is it not currently possible for Expo to save data via the iCloud API?
there are some ways to save the data in the iCloud, one way you write ios native module
for iCloud API, then use it in the js. the detailed guide you can see here.
the other way is to search the third library which is used for react-native.for example:react-native-icloudstore. but it is old.
besides them, you can use CloudKit JS. use it in the native app webView.
you can go to the official site to learn it
In the end, if you can write native ios code, I suggest you use the first way. if you can not write it, you can search ios native relate library, then make your own
native module for ios

Migrating from Firebase JS SDK (Web) to react-native-firebase for offline storage

I have been using Firebase Web SDK for my react-native app (I am using FIRESTORE to store the data). Up to this point, I have had no problems. It all works smoothly. But now I want to add some kind of offline storage mechanism to my app so that I could still offer some functionality or display some content that was cached from the last connected session even if my users are offline. After some investigation, I have the impression that react-native-firebase is the preferred way to go. Now I have some questions and I like to get some advice from the experienced.
Is react-native-firebase the only option to go? I have quickly read about AsyncStorage and it is just a key-value storage. Considering the simplest thing I want to do is page through a list of firestore documents, this kind of storage seems not to be suitable to do this offline. Like If I wanted to do this with AsyncStorage I would have to put all the content (maybe hundreds of documents) I get from the firestore backend, persist them as a single string value, fetch them back, parse them, page them etc. And write custom logic& methods for all these.
If I was to use react-native-firebase, just enabling the offline storage -I assume- takes care of this for you and you don't have to write any custom logic for offline storage usage. I assume the data that has persisted for offline usage has the same structure as it does in firestore database. I feel like If I use anything other than react-native-firebase, I would have to handle all the custom logic for persisting, reading and rendering the data offline myself. Is that right?
The biggest concern I have is the amount of code refactoring that might be required. I have many lines of code and so many .get().then() like lines where I get and render the data from firestore. In the documentation of react-native-firebase it says:
...aims to mirror the official Firebase Web SDK as closely as
possible.
I am not sure to what extent this is true. I have checked the react-native-firebase's firestore module's reference documentation but I just can't tell how many of these querying methods are actually supported.
So, the way to go is react-native-firebase's way? Would it take a heavy toll on me trying to refactor the existing code? Any similar experience do you have?
I would appreciate any help.
Thanks a lot...
Maintainer of the react-native-firebase library here.
...aims to mirror the official Firebase Web SDK as closely as possible.
This is a minor disclaimer as there are some differences between the two, mainly down to how certain things have to be implemented with React Native.
For example, enablePersistence does not exist on RNFB. Instead, persistence is enabled by default and can be toggled off (or on) via settings().
Is react-native-firebase the only option to go? I have quickly read about AsyncStorage and it is just a key-value storage. Considering the simplest thing I want to do is page through a list of firestore documents, this kind of storage seems not to be suitable to do this offline. Like If I wanted to do this with AsyncStorage I would have to put all the content (maybe hundreds of documents) I get from the firestore backend, persist them as a single string value, fetch them back, parse them, page them etc. And write custom logic& methods for all these.
This is technically possible, however there are downsides to this as you have mentioned. With Firestore, when the device goes offline (quite common on apps) and you attempt a read/write it'll read/update your local cache, which will still trigger event listeners. When the app goes back online, it'll automatically re-sync with the server for you.
If I was to use react-native-firebase, just enabling the offline storage -I assume- takes care of this for you and you don't have to write any custom logic for offline storage usage. I assume the data that has persisted for offline usage has the same structure as it does in firestore database. I feel like If I use anything other than react-native-firebase, I would have to handle all the custom logic for persisting, reading and rendering the data offline myself. Is that right?
This is all handled for you. We wrap around the native Firebase SDKs so expect the same level of consistency if you were developing a native Android/iOS app if not using React Native.
The biggest concern I have is the amount of code refactoring that might be required. I have many lines of code and so many .get().then() like lines where I get and render the data from firestore.
Generally everything is the same apart from a few minor methods for reasons mentioned above.
So, the way to go is react-native-firebase's way? Would it take a heavy toll on me trying to refactor the existing code? Any similar experience do you have? I would appreciate any help.
I'd recommend anyone developing with React Native & Firebase to use RNFB. It provides a lot of extra functionality the Web SDK cannot provide with React Native. Apart from a more cumbersome setup & changing imports, it should work very much the same.

Are there any registration/authentication api's which can be used in React Native

I'm developing an IoS and Android app using react-native, and am now starting to consider all the aspects of user registration, so that typically the person will provide some credentials, and then get sent an email (or possibly sms) enabling them to "verify" their account, after which point they are a registered user.
These registration processes (and subsequent emails/sms's seem to be fairly common , so I'm wondering if there are any API's which anyone has come across which make the job of creating the registration/activation process easier m rather than writing code from scratch ?
Many thanks in anticipation
It depends what you want when you ask for an API. If you're developing backend as well you can use Auth0.
If you want just to implement frontend, I guess you have to write your own code. Consider using something like redux or mobx to store your email and other things after logging in.
Anyways the REST part you have to write on your own. As for views you can google for it, for example there's react-native-login-screen

Can paypal Parallel Payments be used in rest api?

Is there any way currently to do a parallel payment in paypal with the rest api? I am building a mobile application and can only use the rest api system however there is no documentation on how you can use parallel payments with REST.
You can do everything else so it seems to me like the developers got to that feature and just gave up :P.
This feature is a huge part of our website and if we cannot use it on the mobile app it will mean we have to redo how we handle transactions on the site so that both areas are consistent.
If this feature is not available since rest was supposed to be the refresh of all their API's to support newer tech is it coming? Does anyone know and if you do any information on a timeline would be helpful.
REST API does not support parallel payments at this time, it's in the product road map but not yet in the released APIs.
An alternative for your use case is to integrate the webview embedded Express Checkout flow into your APP, it provides the most identical experience to payers since the new UI was released.