Code Monkey home page Code Monkey logo

Comments (5)

Hollister009 avatar Hollister009 commented on May 28, 2024 1

Can I take a look into this one, please?

from react-native-braintree.

Hollister009 avatar Hollister009 commented on May 28, 2024 1

@vasylnahuliak Good to know! Can I create the issue regarding it?

from react-native-braintree.

Hollister009 avatar Hollister009 commented on May 28, 2024

@vasylnahuliak There is a possibility to convert objC files to Swift.
For Example:

//  RNBrainTree.swift

import Foundation

@objc(RNBraintree)
class RNBraintree: NSObject {
    public var apiClient: BTAPIClient!
    public var dataCollector: BTDataCollector!
    
    @objc
    func showPayPalModule(
        _ options: NSDictionary,
        resolver resolve: @escaping RCTPromiseResolveBlock,
        rejecter reject: @escaping RCTPromiseRejectBlock
    ) {
        let clientToken = options["clientToken"] as? String ?? ""
        let amount = options["amount"] as? String ?? ""
        let currencyCode = options["currencyCode"] as? String ?? ""
        
        self.apiClient = BTAPIClient(authorization: clientToken)
        self.dataCollector = BTDataCollector(apiClient: self.apiClient)
        
        let payPalDriver = BTPayPalDriver(apiClient: self.apiClient)
        let request = BTPayPalCheckoutRequest(amount: amount)
        request.currencyCode = currencyCode

        payPalDriver.tokenizePayPalAccount(with: request) { tokenizedPayPalAccount, error in
            if let error = error {
                reject("ONE_TIME_PAYMENT_FAILED", error.localizedDescription, nil)
                return
            }
            if tokenizedPayPalAccount == nil {
                reject("ONE_TIME_PAYMENT_CANCELLED", "Payment has been cancelled", nil)
                return
            }
            
            self.dataCollector.collectDeviceData { deviceData in
                resolve(["deviceData": deviceData,
                        "email": tokenizedPayPalAccount?.email ?? "",
                        "nonce": tokenizedPayPalAccount?.nonce ?? ""])
            }
        }
    }
}

from react-native-braintree.

vasylnahuliak avatar vasylnahuliak commented on May 28, 2024

@Hollister009 Thanks a ton for your contribution. We will use this code in the future!

from react-native-braintree.

vasylnahuliak avatar vasylnahuliak commented on May 28, 2024

@Hollister009 according to LOW OR NON CODE CONTRIBUTIONS you can create the pull request with these code in markdown format in docs folder with "swift-migration" filename for tracking your progress.

from react-native-braintree.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.