Skip to content

hey-sourav/react-native-smallcase-gateway

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-native-smallcase-gateway

📖 Complete Guide

Getting started

$ yarn add react-native-smallcase-gateway

or

$ npm install react-native-smallcase-gateway

ios setup

add these lines at the top of your Podfile

# private podspec for smallcase
source '[email protected]:smallcase/cocoapodspecs.git'

# default source for all other pods
source 'https://cdn.cocoapods.org'

# update the ios version if it was previously below 11.0
platform :ios, '11.0'

then run cd ios; pod update

android setup

Add these lines to your project level build.gradle

allprojects {
    repositories {
        // .. your existing repositories
      
      	// Starting from version 2.3.0 all versions of the sdk are now hosted on a public repository
  			maven {
        	url "https://artifactory.smallcase.com/artifactory/SCGateway"
    		}
  
  			// Only for versions < 2.3.0
        maven {
          url "https://artifactory.smallcase.com/artifactory/gradle-dev-local"
          credentials {
            username "react_native_user"
            password "reactNativeUser123"
        }
      }
    }
}

add these lines in AndroidManifest.xml in the main <application /> tag

<activity android:name="com.smallcase.gateway.screens.transaction.activity.TransactionProcessActivity"
          android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data
            android:host="<YOUR_GATEWAY_NAME>"
            android:scheme="scgateway"
        />
    </intent-filter>
</activity>

<activity android:name="com.smallcase.gateway.screens.common.RedirectActivity"
          android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data
            android:host="<YOUR_GATEWAY_NAME>"
            android:scheme="scgatewayredirect"
        />
    </intent-filter>
</activity>

Example Usage

// import gateway into your file
import SmallcaseGateway from "react-native-smallcase-gateway";

await SmallcaseGateway.setConfigEnvironment({
  isLeprechaun: true,
  isAmoEnabled: true,
  gatewayName: "<YOUR_GATEWAY_NAME>",
  // `environmentName` should always be PROD, regardless of your environment
  environmentName: SmallcaseGateway.ENV.PROD,
  brokerList: [],
});
// initialize session
await SmallcaseGateway.init(sdkToken);

// execute a transaction
const res = await SmallcaseGateway.triggerTransaction(transactionId);

// start lead generation flow
SmallcaseGateway.triggerLeadGen({ email: "[email protected]" });

Debug / Contribution

Make sure you have react native dev environment set up

ios

  • remove node_modules in the root directory
  • run yarn install in example/
  • run pod update in example/ios
  • open SmallcaseGateway.xcworkspace in xcode
  • run yarn start (important to get symlinks to work)
  • run in debug mode
  • in xcode, navigate to Pods > Development Pods > react-native-smallcase-gateway
  • you can now edit these file directly and test the results on the running app

android without example app

  • run yarn install in the root directory
  • change directory to android/
  • add a file called gradle.properties
  • add artifactory_user and artifactory_password
  • open this folder in android studio
  • let gradle sync complete
  • you can now write code with just the android folder in context

android with example app

  • run yarn install in example/
  • add a file called gradle.properties in example/android
  • add these lines
android.useAndroidX=true
android.enableJetifier=true

FLIPPER_VERSION=version_string

artifactory_user=sampleUser
artifactory_password=samplePassword
  • run yarn start (important to get symlinks to work)
  • run yarn android to build example project for android

About

Smallcase gateway sdk in React-native framework

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 53.4%
  • Objective-C 15.0%
  • Kotlin 13.9%
  • JavaScript 11.9%
  • Swift 3.5%
  • Ruby 1.4%
  • Shell 0.9%