1.0.0 • Published 5 years ago

react-native-paypal-gateway v1.0.0

Weekly downloads
12
License
MIT
Repository
github
Last release
5 years ago

react-native-paypal-gateway

version

Or refer to this article https://medium.com/zestgeek/paypal-integration-in-react-native-9d447df4fce1

React Native PayPal Checkout, A React Native Wrapper for iOS and Android to make online payments using Paypal checkout and credit/debit card payments.

Getting started

Installation

 npm i --save react-native-paypal-gateway

or

 yarn add react-native-paypal-gateway

Linking

react-native link react-native-paypal-gateway

Extra steps for iOS 🙄 see here

Usage

Payment

import PayPal from 'react-native-paypal-gateway';

// 3 env available: NO_NETWORK, SANDBOX, PRODUCTION
PayPal.initialize(PayPal.NO_NETWORK, "<your-client-id>");
PayPal.pay({
  price: '40.70',
  currency: 'USD',
  description: 'Your description goes here',
}).then(confirm => console.log(confirm))
  .catch(error => console.log(error));

FuturePayment

import PayPal from 'react-native-paypal-gateway';

// Required for Future Payments
const options = {
  merchantName : "Merchant name",
  merchantPrivacyPolicyUri: "https://example.com/privacy",
  merchantUserAgreementUri: "https://example.com/useragreement",
}
// 3 env available: NO_NETWORK, SANDBOX, PRODUCTION
PayPal.initializeWithOptions(PayPal.NO_NETWORK, "<your-client-id>", options);

PayPal.obtainConsent().then(authorization => console.log(authorization))
  .catch(error => console.log(error));

// To decrease payment declines, you must specify a metadata ID header (PayPal-Client-Metadata-Id)
// in the payment call. See docs:
// https://developer.paypal.com/docs/integration/mobile/make-future-payment/#required-best-practices-for-future-payments

const metadataID = await PayPal.getClientMetadataId();

Disclaimer

This project is created solely to suit our requirements, no maintenance/warranty are provided. Feel free to send in pull requests.

Acknowledgement

This Project is the copied version of Taessina (which had a severe issue of crashing the app on card payment in iOS, since the original repo was archived. We had to made modification to resolve this issue).

This project is inspired by MattFoley (which does not support both Android and iOS simultaneously, and shovelapps a fork of the former repo (which we had some problems trying to integrate due to React Native version).