Skip to main content

Payments using Google Pay in your React Native app Donation Screen (tested)



To add a donation button to your React Native and Expo app, you can follow these steps:

Install Dependencies:

If you haven't already, install the necessary packages for handling donations and payments. You can use libraries like react-native-google-pay for Google Pay integration or react-native-razorpay for Razorpay integration. Install them using npm or yarn: 

Receive payments using Google Pay in your React Native app, you can use the react-native-google-pay library along with the Google Pay API. Below is the code for your Donation Screen component:


npm install react-native-google-pay

# or

yarn add react-native-google-pay


# or for Razorpay

npm install react-native-razorpay

# or

yarn add react-native-razorpay


Configure Native Modules (if required):
Depending on the payment gateway you're using, you may need to configure native modules for Android and iOS. Follow the instructions provided by the respective libraries to set up these configurations.

Import and Use Donation Button Component:
In your React Native component where you want to add the donation button, import the necessary components from the installed package. For example, if you're using react-native-google-pay:



Donation Screen 

import React, { useState } from 'react';
import { View, TextInput, Button, Alert } from 'react-native';
import { GooglePay } from 'react-native-google-pay';

const allowedCardNetworks = ['VISA', 'MASTERCARD'];
const allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];

const requestData = {
  cardPaymentMethod: {
    tokenizationSpecification: {
      type: 'PAYMENT_GATEWAY',
      // Check with your payment gateway on the parameters to pass
      parameters: {
        gateway: 'example',
        gatewayMerchantId: 'exampleGatewayMerchantId',
      },
    },
    allowedCardNetworks,
    allowedCardAuthMethods,
  },
  transaction: {
    totalPrice: '10',
    totalPriceStatus: 'FINAL',
    currencyCode: 'INR',
  },
  merchantName: 'Example Merchant',
};

const DonationScreen = () => {
  const [customAmount, setCustomAmount] = useState('');

  const handleDonation = async (amount) => {
    try {
      const token = await GooglePay.requestPayment({
        ...requestData,
        transaction: {
          ...requestData.transaction,
          totalPrice: amount,
        },
      });

      console.log(token);
      Alert.alert('Donation Successful', `Thank you for donating ${amount} INR!`);
    } catch (error) {
      console.error('Payment Error:', error);
      Alert.alert('Payment Error', 'Failed to process donation. Please try again later.');
    }
  };

  const handleCustomDonation = () => {
    if (customAmount && !isNaN(customAmount)) {
      handleDonation(parseFloat(customAmount).toFixed(2));
    } else {
      Alert.alert('Invalid Amount', 'Please enter a valid donation amount.');
    }
  };

  return (
    <View style={{ padding: 20 }}>
      <Button title="Donate ₹10" onPress={() => handleDonation('10.00')} />
      <Button title="Donate ₹30" onPress={() => handleDonation('30.00')} />
      <Button title="Donate ₹50" onPress={() => handleDonation('50.00')} />
      <Button title="Donate ₹100" onPress={() => handleDonation('100.00')} />

      <View style={{ marginTop: 20 }}>
        <TextInput
          placeholder="Enter custom amount (INR)"
          keyboardType="numeric"
          onChangeText={(text) => setCustomAmount(text)}
          value={customAmount}
          style={{ borderWidth: 1, borderColor: '#ccc', padding: 10 }}
        />
        <Button title="Donate Custom Amount" onPress={handleCustomDonation} />
      </View>
    </View>
  );
};

export default DonationScreen;


This code uses the GooglePay.requestPayment method to initiate a payment request using Google Pay. Ensure that you have set up your Google Pay API integration and have the necessary configurations and credentials (e.g., gateway ID, merchant ID) in place. Adjust the requestData object according to your payment gateway's specifications.

Note: Replace 'exampleGatewayMerchantId' with your actual merchant ID provided by your payment gateway.

Make sure to test this code in a real device or emulator with Google Pay installed and configured properly for testing payments.


Comments

Popular posts from this blog

Story of the Nilavanti Granth

  A story about the Nilavanti Granth: एक समय की बात है, भारत के दिल में एक रहस्यमयी पुस्तक थी जिसे निलावंती ग्रंथ कहा जाता था। यह पुस्तक संस्कृत में एक ऋषि द्वारा लिखी गई थी। यह भारत की सबसे रहस्यमयी और चमत्कारी पुस्तकों में से एक मानी जाती थी। निलावंती ग्रंथ की कहानी निलावंती नामक एक महिला के साथ शुरू होती है, जिसे जादुई क्षमताओं का होना कहा जाता था। कहा जाता था कि उसे सभी जीवित प्राणियों की भाषा समझने की क्षमता थी। इसी अद्वितीय क्षमता के कारण निलावंती ग्रंथ इतना विशेष था। निलावंती उत्तर प्रदेश के एक छोटे से गांव में पैदा हुई थीं। जब वह सिर्फ पांच साल की थी, उसकी मां का निधन हो गया, तब उसके पिता ने उसे लेकर दूसरे गांव में चले गए। निलावंती ने अपने पिता से आयुर्वेद सीखा और उसे पौधों, जानवरों, और पक्षियों की भाषा समझने की अद्वितीय क्षमता भी थी। निलावंती जब बड़ी हुई, तो उसे सपने आने लगे जिसमें भूत-प्रेत उसे पृथ्वी के नीचे छिपे हुए खजानों के बारे में बताते थे। इन खजानों के बारे में जानने के बावजूद, निलावंती, एक सच्ची व्यक्ति होने के नाते, कभी उन्हें खोदकर नहीं निकाली। बजाय इसके, उसने भ...

Calculate Your Fuel Cost

Estimate your one-way and return trip fuel costs with the Fuel Cost Calculator. Choose your currency, enter trip details, and get instant cost calculations for your journey. Plan your travel budget effectively. Fuel Cost Calculator Fuel Cost Calculator Trip Distance (km): ℹ️ Fuel Efficiency (km/l): ℹ️ Price per Liter (in Rupees): ℹ️ Calculate The "Fuel Cost Calculator" is a simple web tool designed to help you estimate the fuel required and the total cost for your one-way and return trips based on your vehicle's mileage and the current price of petrol. Here's how to use it: Input Your Trip Details: Enter the "Trip Distance" in kilometers. This is the one-way distance you plan to travel. Specify your "Fuel Efficiency" in kilometers per liter (km/l). This is the average mileage your vehicle achieves. Enter the "Price ...

Odisha Goverment Public Holidays 2024

Holidays Public Holidays Optional Holidays January February March April May June July August September October November December Introduction The Holidays web page provides information about public and optional holidays for different months. You can explore holidays based on the type (public or optional) and select a specific month to view the corresponding holiday details. Getting Started To use the Holidays web page, follow these steps: 1. Open the web page in a compatible browser. 2. Explore the different tabs and select the type of holidays you want to view (Public or Optional). 3. Choose a specific month from the dropdown menu. 4. The web page will display the corresponding holiday information for the selected type and month. Tabs The web page has two tabs: Public Holidays and Optional Holidays. - Public Holidays Tab : Displays information about public holidays.   - Co...