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

वीर्य कैसे बनता है

वीर्य शरीर की बहुत मूल्यवान् धातु है । भोजन से वीर्य बनने की प्रक्रिया बड़ी लम्बी है | श्री सुश्रुताचार्य ने लिखा है : रसाद्रक्तं ततो मांसं मांसान्मेदः प्रजायते | मेदस्यास्थिः ततो मज्जा मज्जायाः शुक्रसंभवः ॥ जो भोजन पचता है , उसका पहले रस बनता है । पाँच दिन तक उसका पाचन होकर रक्त बनता है । पाँच दिन बाद रक्त में से मांस , उसमें से 5-5 दिन के अंतर से मेद , मेद से हड्डी , हड्डी से मज्जा और मज्जा से अंत में वीर्य बनता है । स्त्री में जो यह धातु बनती है उसे ‘ रज ‘ कहते हैं । वीर्य किस प्रकार छः सात मंजिलों से गुजरकर अपना यह अंतिम रूप धारण करता है , यह सुश्रुत के इस कथन से ज्ञात हो जाता है । कहते हैं कि इस प्रकार वीर्य बनने में करीब 30 दिन व 4 घण्टे लग जाते हैं । वैज्ञनिक लोग कहते हैं कि 32 किलोग्राम भोजन से 700 ग्राम रक्त बनता है और 700 ग्राम रक्त से लगभग 20 ग्राम वीर्य बनता है । आकर्षक व्यक्तित्व का कारण इस वीर्य के संयम से शरीर में एक अदभुत आकर्षक शक्ति उत्पन्न होती है जिसे प्राचीन वैद्य धन्वंतरि ने ‘ ओज ‘ नाम दिया है । यही ओज मनुष्य को अपने परम – लाभ ‘ आत्मदर्शन ‘ कराने में सहायक बनता है ...

How to Make $20 a Day Online: Quick and Easy Methods

Making $20 a day online is an achievable goal if you’re willing to put in some effort and choose the right methods. Here are some effective ways to start earning money online: 1. Freelancing Freelancing is a popular way to earn money online. If you have skills in areas like writing, graphic design, programming, or digital marketing, you can offer your services on freelance platforms such as Upwork, Fiverr, or Freelancer. By taking on small projects, you can quickly start earning and potentially reach your $20-a-day goal. Tips for Success: - Create a compelling profile showcasing your skills and past work. - Start with lower rates to build up your portfolio and client base. - Deliver high-quality work to receive positive reviews and secure more projects. 2. Online Surveys Participating in online surveys is an easy way to earn some extra cash. Several legitimate websites, like Swagbucks, Survey Junkie, and Vindale Research, offer payment for your opinions on various topics. While it migh...

वीर्यरक्षा के उपाय

  सादा रहन – सहन बनायें काफी लोगों को यह भ्रम है कि जीवन तड़क – भड़कवाला बनाने से वे समाज में विशेष माने जाते हैं । वस्तुतः ऐसी बात नहीं है । इससे तो केवल अपने अहंकार का ही प्रदर्शन होता है । लाल रंग के भड़कीले एवं रेशमी कपड़े नहीं पहनो । तेल – फुलेल और भाँति – भाँति के इत्रों का प्रयोग करने से बचो । जीवन में जितनी तड़क – भड़क बढ़ेगी , इन्द्रियाँ उतनी चंचल हो उठेंगी , फिर वीर्यरक्षा तो दूर की बात है । इतिहास पर भी हम दृष्टि डालें तो महापुरुष हमें ऐसे ही मिलेंगे , जिनका जीवन प्रारंभ से ही सादगीपूर्ण था । सादा रहन – सहन तो बडप्पन का द्योतक है । दूसरों को देख कर उनकी अप्राकृतिक व अधिक आवश्यकताओंवाली जीवन शैली का अनुसरण नहीं करो । उपयुक्त आहार ईरान के बादशाह बहमन ने एक श्रेष्ठ वैद्य से पूछा : “ दिन में मनुष्य को कितना खाना चाहिए ? ” “ सौ दिराम ( अर्थात् 31 तोला ) | “ वैद्य बोला | “ इतने से क्या होगा ? ” बादशाह ने फिर पूछा । वैद्य ने कहा : “ शरीर के पोषण के लिये इससे अधिक नहीं चाहिए | इससे अधिक जो कुछ खाया जाता है , वह केवल बोझा ढोना है और आयुष्य खोना है । ” लोग स्वाद के लिये अपने पेट क...

NEET 2025 You Need to Know

NEET 2025 : Everything You Need to Know Preparing for the NEET 2025? Here’s an overview to help you get acquainted with the exam's key details and important dates. Exam Overview The National Eligibility Cum Entrance Test (NEET) is an undergraduate national-level exam conducted by the National Testing Agency (NTA). Held once a year, it is the gateway for aspiring medical students to secure admissions in various courses such as MBBS, BDS, BSc Nursing, BAMS, and BVSc & AH. In 2024, approximately 25 lakh candidates registered for the exam, highlighting its competitive nature. NEET 2025 will be conducted in an offline mode, where candidates will use paper and pencil to answer the questions. Important Details Exam Fees : - General: INR 1,700 - OBC: INR 1,600 - Reserved Categories: INR 1,000 - Foreign Nationals: INR 9,500 Exam Duration and Timing:  The exam will last for 3 hours and 20 minutes, from 2 PM to 5:20 PM (IST). Subjects and Total Marks : The exam includes Physic...

questions and answers for UPSC preparation:

UPSC preparation: General Studies Paper 1 Question 1 : Discuss the impact of globalization on the cultural identity of countries. Answer : Globalization has had both positive and negative impacts on the cultural identity of countries. On the positive side, it has facilitated cultural exchange, leading to greater understanding and appreciation of diverse cultures. For instance, international festivals, cuisine, and art forms have gained global recognition. However, globalization has also led to cultural homogenization, where dominant cultures overshadow local traditions, languages, and customs. The spread of Western culture through media and consumerism has often led to the erosion of indigenous cultures. Balancing globalization with cultural preservation remains a challenge for many countries. Question 2 : Explain the concept of federalism in the Indian context. How does the Indian Constitution ensure a balance between the Union and the States? Answer : Federalism in India ...