@shockoe.com/react-google-pay
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

React Google Pay Button npm version

by: SHOCKOE.COM, LLC.

This is the React component for the Google Pay button.

Installation

npm install @shockoe.com/react-google-pay
yarn add @shockoe.com/react-google-pay

Example usage

import GooglePayButton from '@shockoe.com/react-google-pay';

const processGooglePayment = (paymentData: any) => {
  console.log('paymentData', paymentData);
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve({ transactionState: 'SUCCESS' });
    }, 3000);
  });
};

<GooglePayButton
  className={styles.paymentMethod}
  environment="TEST"
  apiVersion={2}
  apiVersionMinor={0}
  allowedAuthMethods={['PAN_ONLY', 'CRYPTOGRAM_3DS']}
  allowedCardNetworks={['AMEX', 'DISCOVER', 'MASTERCARD', 'VISA']}
  gateway="example"
  merchantId="12345678901234567890"
  merchantName="Merchant Name"
  transactionInfo={{
    displayItems: [
      {
        label: 'Deposit Amount',
        type: 'SUBTOTAL',
        price: "1.00",
      },
    ],
    countryCode: 'US',
    currencyCode: 'USD',
    totalPriceStatus: 'FINAL',
    totalPrice: "1.00",
    totalPriceLabel: 'Total',
  }}
  processGooglePayment={processGooglePayment}>
  <span>Google Pay</span>
</GooglePayButton>

Documentation

Visit the Google Pay developer site for more information about integrating Google Pay into your website.

Properties

Property Type Info

children

"element"

Requires.

Child elements that will be displayed inside the button.

className

"CSS/SASS Module Class Name" | "Class Name"

Optional.

The class will directly affect the styles of the button and its children.

environment

"string"

Optional.

The Google Pay environment to target.

"TEST" environment. Initial development uses a TEST environment, which returns dummy payment methods that are suitable to reference the structure of a payment response.

"PRODUCTION" environment. In order to use the "PRODUCTION" environment, your website must be registered with Google Pay. This can be done through the Google Pay Business Console.

Default value "TEST".

apiVersion

"number"

Optional.

Declare the version of the Google Pay API that your site uses.

Default value 2.

apiVersionMinor

"number"

Optional.

Declare the minor version of the Google Pay API that your site uses.

Default value 0.

allowedAuthMethods

"array"

Optional.

The Google Pay API might return cards on file on Google.com (PAN_ONLY) or a device token on an Android-powered device authenticated with a 3-D Secure cryptogram (CRYPTOGRAM_3DS). You can control whether both methods or just one of them can be returned.

Before you set allowedCardAuthMethods, confirm with your payment processor and acquirer on whether device tokens (CRYPTOGRAM_3DS) are supported in your region.

Default value ['PAN_ONLY', 'CRYPTOGRAM_3DS'].

allowedCardNetworks

"array"

Optional.

Define the card networks supported by your site and your gateway.

Default value ['AMEX', 'DISCOVER', 'MASTERCARD', 'VISA'].

gateway

"string"

Required.

Identify your gateway

In the following link you will find a table where you can identify the value or name that you need to enter in the property Gateway List.

merchantId

"string"

Required.

Obtain your Merchant ID value from the Google Pay and Wallet Console, and update the merchantId property.

See PaymentDataRequest reference for more information.

merchantName

"string"

Required.

Define your Merchant Name.

transactionInfo

"object"

Required.

Define a total price and currency for a shopper to authorize.

Provide Google Pay API with a payment amount, currency, and amount status

processGooglePayment

"function"

Required.

Function to handle payment authorization callback attempts.

paymentData response from Google Pay API after a payer approves payment through user gesture.

🛠 Local Environment

💽 System Requirements

  • node v12^
  • yarn

🏛️ Resources

🧹 Linting

Linting is ran automatically on commit using Husky

This project was bootstrapped with Create React App.

🛠 Local Setup

Before building/running make sure you run one of the config commands!

  1. Clone the repo
  2. Install dependencies: yarn install
  3. Run the build script: yarn build
  4. Run script: yarn pack
  5. Copy the generated gzip file to the root of your project
  6. in the package.json file, add the following script inside the dependencies section:
"dependencies": {
  ...,
  "react-google-pay": "file:./react-google-pay-v##.##.##.tgz"
}
  1. Install dependencies in your project: yarn install

Available Scripts

In the project directory, you can run:

yarn lint

Runs eslint and outputs any errors. This is done automatically on commit.

yarn lint-fix

Runs eslint and fixes any errors that it possibly can. Useful to run this before staging your changes.

yarn prettier

Runs prettier and formats all files supported by Prettier in the current directory and its subdirectories..

yarn build

Builds the Pack for production to the lib folder.

The build is minified and the filenames include the hashes.
Your Pack is ready to be deployed!

See the section about deployment for more information.

Learn More

You can learn more in the Create React App documentation.

To learn React, check out the React documentation.

Package Sidebar

Install

npm i @shockoe.com/react-google-pay

Weekly Downloads

0

Version

1.0.3

License

MIT

Unpacked Size

53.6 kB

Total Files

18

Last publish

Collaborators

  • shockoe-hatch
  • alejandro.estrada.shockoe