msasinowski / react-native-expo-braintree

React Native library that implements PayPal(Braintree) checkout, vault, and tokenize card flow using Braintree SDK, and pure native code using swift and kotlin. And add possibility to integrate the braintree sdk with expo based project.
MIT License
5 stars 3 forks source link

Questions and remarks on integrating the module #19

Open fbele opened 1 month ago

fbele commented 1 month ago

Hey there,

Thank you for your amazing effort. I am implementing your module and so far so good. I have few remarks considering the integration and the current Readme documentation:

  1. The ExpoBraintreeConfig.swift file is not necessary to be created manually as it is being created automatically when using npx expo prebuild. Same goes with the update to AppDelegate.m or AppDelegate.mm file, so perhaps this part can be removed from Readme? What I only notice, but it doesn't really matter, is that the Swift file and class are named BraintreeExpoConfig instead of ExpoBraintreeConfig.
  2. The updates on AndroidManifest.xml and Info.plist can also be removed as all necessary is being automatically added using npx expo prebuild
  3. Is xCodeProjectAppName configuration of react-native-expo-braintree plugin declaration in app.json file necessary?
  4. Is it correct to import expo-braintree module when using it instead of importing react-native-expo-braintree like specified in your usage examples?
  5. I see at the bottom of Readme your to do about integrating the rest of the payment methods. Do you have an approximate when do you want to be done with that?

Thanks

msasinowski commented 1 month ago

hey @fbele So in Readme are 2 tracks the first one is for Expo Based Project the second one is for Bare React Native Project

image image

Points 1 & 2 Are related to the bare react native Project Without Expo

  1. Yeah, cuz the expo plugin that I write to make an updates automatically needs that
  2. It should be fixed react-native-expo-braintree is correct one
  3. I have plan for that, but so far no one ask about it, that's should not be that hard to add it. At this moment I can't give you the exact date for that, need to think about that.
fbele commented 1 month ago

Hey @msasinowski thanks for prompt reply. Ok, I understand, perhaps I somehow oversaw the 2 tracks of documentation.

It would be great if you could implement API for the rest of the payment methods, so there is at least one request for them now. :)

The tokenizeCard() method is as I understand for payments with cards. In this is case it is expected a developer needs to implement own UI (form) for putting in the card data, is that right? Then these card data is tokenized using this method, to receive the nonce for further processing, is that correct?

Cheers

msasinowski commented 1 month ago

I will try to add that ASAP, at least a 3D Secure one.

fbele commented 1 month ago

@msasinowski Perfect! Thanks for that. If you manage to implement also Apple Pay and Google Pay later on it would be exceptional! As for me, this is now the only library that implements a seamless integration with Braintree SDK. It would be really awesome if it would support all functionalities of the SDK.

fbele commented 1 month ago

Perhaps one more thing that I noticed: The tokanizeCard() method options type TokenizeCardOptions is missing some fields as per Braintree SDK documentation: https://developer.paypal.com/braintree/docs/reference/client-reference/javascript/v2/credit-cards#options, like expirationDate and billingAdress.

Do you plan to add these fields too?

fbele commented 4 weeks ago

@msasinowski I see your opened pull request for quite a while now. How do we proceed? Who can approve your pull request so the code can get merged?