Anikesh02 / ShopMart

https://shop-mart-rust.vercel.app
1 stars 0 forks source link

Add Payment Module After Checkout #3

Open Anikesh02 opened 3 days ago

Anikesh02 commented 3 days ago

Add Payment Module After Checkout

Description

Implement a secure and user-friendly payment module to be integrated into the checkout process of our e-commerce platform. This module should support multiple payment methods and ensure a smooth, secure transaction experience for our customers.

Proposed Implementation

  1. Payment Gateway Integration:

    • Integrate with a reputable payment gateway (e.g., Stripe, PayPal, Square, RazorPay)
    • Implement server-side API calls to process payments securely
  2. Supported Payment Methods:

    • Credit/Debit Cards
    • PayPal
    • Apple Pay / Google Pay
    • Bank Transfer (ACH)
  3. User Interface:

    • Design a clean, intuitive payment form
    • Implement real-time form validation
    • Create a responsive design for mobile devices
  4. Payment Processing:

    • Handle successful payments
    • Manage failed transactions and provide clear error messages
    • Implement retry logic for failed payments

Admin Interface:

Acceptance Criteria

ahammadabdullah commented 1 day ago

@Anikesh02 i want to work on it but I have some queries.

  1. Where is the backend code to "Implement server-side API calls to process payments securely"
  2. I can't see any database integrated so where I'm gonna save the transaction history
  3. What do you mean by implement functionality for manual payment processing ? elaborate please .
Anikesh02 commented 1 day ago

Checkout.jsx: Right now, only a component for handling the checkout process, including billing information and placing an order is present.

The transaction history can be saved in the Firestore database. Configuration for db is present in the firebase config file. firebase.config.js

Manually handling payment methods that are not automated, such as cash on delivery or manual bank transfers. It would be great if there's a functionality to record these transactions in the database and update the order status manually.