react-native-yoco
TypeScript icon, indicating that this package has built-in type declarations

0.2.9 • Public • Published

yoco-react-native-banner

React Native Yoco

The Yoco SDK allows app developers to integrate with Yoco card machines to accept in-person payments from within their application. The most common scenario is to accept Yoco payments from within your Point of Sale application.

This react native module is a wrapper around the native Yoco SDKs for iOS and Android, powered by Expo Modules.

Limitations

  • Printing and handling receipts is not supported yet
  • Only works using physical devices (not simulators)

Requirements

  • Please see the Yoco documentation for the latest requirements.
  • This is an Expo Module, therefore you need to install Expo in your project. Please see the Expo documentation for more information on this.

Installation

  • Install the package from npm:
npx expo install react-native-yoco
npx expo prebuild
  • If your app is to be installed on a Yoco device, additional steps are needed. If you are not installing it on a special Yoco device, please ignore this and the rest of the steps. Install expo-gradle-ext-vars:
npx expo install expo-gradle-ext-vars
  • Configure the plugin. expo-gradle-ext-vars will automatically be added as a plain string from the installation command above. Replace that string with this array:
[
  "expo-gradle-ext-vars",
  {
    "yocoDevice": true
  }
]

yocoDevice must be set to true if you are installing on a Yoco device

So your plugins should look something like this (if you have other plugins, they will be there too):

"plugins": [
      "react-native-yoco",
      [
        "expo-gradle-ext-vars",
        {
          "yocoDevice": true,
        }
      ],
]

Android

The PaymentsSDK uses the Data Binding Library and therefore requires any module using the library to enable data binding. https://developer.android.com/jetpack/androidx/releases/databinding

Also you will need to add the remote repository (maven url) to your gradle dependencies in your build.gradle

    repositories {
        mavenCentral()
        +maven { url 'https://yocotechnologies.jfrog.io/artifactory/public/' }
   }

iOS

  • You need to add the following in your Podfile, under ios:
  post_install do |installer|
    # This overrides YocoSDK deployment target to make it compatible
    # with expo modules
    installer.pods_project.targets.each do |target|
      if target.name == 'YocoSDK'
        target.build_configurations.each do |config|
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
        end
      end
    end

    # This is needed for Apple Silicon
    # see https://gitlab.com/yoco-public/yoco-sdk-mobile-ios/-/issues/1
    installer.pods_project.build_configurations.each do |config|
      config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
    end
  end

License

MIT license. For more information, see the LICENSE file.

Package Sidebar

Install

npm i react-native-yoco

Weekly Downloads

19

Version

0.2.9

License

MIT

Unpacked Size

70 kB

Total Files

61

Last publish

Collaborators

  • tolypash