Skip to content

Breadfast/react-native-we-accept

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-native-we-accept

##[NOTE] iOS is still under development! will be published soon!

Getting started

$ npm install react-native-we-accept --save

Mostly automatic installation

$ react-native link react-native-we-accept

Manual installation

iOS

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-we-accept and add RNWeAccept.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNWeAccept.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.breadfast.reactnative.RNWeAcceptPackage; to the imports at the top of the file
  • Add new RNWeAcceptPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-we-accept'
    project(':react-native-we-accept').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-we-accept/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-we-accept')
    
  3. add repository as below
    allprojects {
    	repositories {
    		google()
    		...
    		maven { url "https://dl.bintray.com/paymobsolutions/paymob_accept_sdk" }
    	}
    }
    
  4. Add to your AndroidManifest.xml
xmlns:tools="http://schemas.android.com/tools"

and

android:allowBackup="false"
android:supportsRtl="true"
tools:replace="android:supportsRtl, android:allowBackup"

to look like this

<manifest
...
xmlns:tools="http://schemas.android.com/tools">

<application
    ...
    android:allowBackup="false"
    android:supportsRtl="true"
    tools:replace="android:supportsRtl, android:allowBackup">
  1. add action bar styles to styles.xml (replace AppTheme if exist)
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>

Usage

Payment with Token

import WeAccept from "react-native-we-accept";

WeAccept.payWithToken({
  token: "12345",
  maskedPanNumber: "XXXXXXXXXXXXXX1234",
  firstName: "first_name",
  lastName: "last_name",
  building: "building",
  floor: "floor",
  apartment: "apartment",
  city: "city",
  state: "state",
  country: "country",
  email: "email",
  phoneNumber: "phoneNumber",
  postalCode: "postalCode",
}, successCallback: function, errorCallback: function);
Prop Description Type Default
paymentKey Generated one-time payment key String Required
token user token String Required
maskedPanNumber last four digits String Required
activityTitle title for the 3d secure Screen String Optional
firstName TODO String Optional
lastName TODO String Optional
building TODO String Optional
floor TODO String Optional
apartment TODO String Optional
city TODO String Optional
state TODO String Optional
country TODO String Optional
email TODO String Optional
phoneNumber TODO String Optional
postalCode TODO String Optional

Payment with No Token

import WeAccept from "react-native-we-accept";

WeAccept.payWithNoToken({
  showSaveCard: false,
  firstName: "first_name",
  lastName: "last_name",
  building: "building",
  floor: "floor",
  apartment: "apartment",
  city: "city",
  state: "state",
  country: "country",
  email: "email",
  phoneNumber: "phoneNumber",
  postalCode: "postalCode",
}, successCallback: function, errorCallback: function);
Prop Description Type Default
paymentKey Generated one-time payment key String Required
showSavedCard show save card checkbox Boolean Required
saveCardDefault default boolean for saving card Boolean Required
activityTitle title for the 3d secure Screen String Optional
firstName TODO String Optional
lastName TODO String Optional
building TODO String Optional
floor TODO String Optional
apartment TODO String Optional
city TODO String Optional
state TODO String Optional
country TODO String Optional
email TODO String Optional
phoneNumber TODO String Optional
postalCode TODO String Optional

Callbacks functions

onSuccess function

Prop Description Type Default
status boolean to determine whether transaction was done successfully or not Boolean Optional
code result code generated by SDK String Optional
message error message mapped from result code String Optional
(status: boolean, code: number, message: string, token?: string)=>{
  ... add your success code block here
}

About

React Native SDK wrapper for Paymob We Accept library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published