В Reactjs, использующем полосу, мне нужно включить netbanking, UPI, оплату дебетовыми и кредитными картами

#reactjs #stripe-payments

Вопрос:

В React js мне нужно включить netbanking, UPI, оплату дебетовыми и кредитными картами. Согласно документам Stripe, я включил оплату кредитной картой. Но я не могу получить никаких рекомендаций по интернет-банкингу, UPI. пожалуйста, предложите мне, если какой — либо образец доступен.

заранее спасибо.

Я могу отобразить формат страницы оплаты ниже

введите описание изображения здесь

На приведенном выше рисунке он отображает номер карты, дату истечения срока действия и cvv в одной строке. Есть ли в любом случае возможность отображать номер карты в первой строке, а во второй строке срок действия и CVV ? а также можем ли мы добавлять ярлыки?

Поставщик платежных средств: —

 import React from 'react'
import {Elements} from '@stripe/react-stripe-js';
import {loadStripe} from '@stripe/stripe-js';
import MyCheckoutForm from './CheckOutForm';

const stripePromise = loadStripe('pk_test_51JWBuuSB2HdD9HME7g...sFfz8O6bY00d1NcxaxX');

export default function PaymentProvider() {
    return (
      <Elements stripe={stripePromise}>
        <MyCheckoutForm />
      </Elements>
    );
  };
 

Форма выписки: —

 import React, { useState } from 'react'
import { CardElement, useElements, useStripe } from '@stripe/react-stripe-js'
import axios from 'axios'

const CARD_OPTIONS = {
    iconStyle: "solid",
    style: {
        base: {
            iconColor: "#c4f0ff",
            color: "#fff",
            fontWeight: 500,
            fontFamily: "Roboto, Open Sans, Segoe UI, sans-serif",
            fontSize: "16px",
            fontSmoothing: "antialiased",
            ":-webkit-autofill": { color: "#fce883" },
            "::placeholder": { color: "#87bbfd" }
        },
        invalid: {
            iconColor: "#ffc7ee",
            color: "#ffc7ee"
        }
    }
}

export default function MyCheckoutForm() {
    const [success, setSuccess] = useState(false)
    const stripe = useStripe()
    const elements = useElements()

    const handleSubmit = async (e) => {
        e.preventDefault()

        const { error, paymentMethod } = await stripe.createPaymentMethod({
            type: "card",
            card: elements.getElement(CardElement)

        })

        if (!error) {
            try {
                const { id } = paymentMethod
                const response = await axios.post("http://localhost:3000/payment", {
                    amount: 1000,
                    id
                })

                if (response.data.success) {
                    console.log("Payment successful")
                    setSuccess(true)
                }
            } catch (error) {
                console.log("Error: ", error)
            }    
        } else {
            console.log("error", error.message)
        }
    }
    
    return (
        <>
            {!success ? 
                <form onSubmit={handleSubmit}>
                    <fieldset className="FormGroup">
                        <div className="FormRow">
                            <CardElement options={CARD_OPTIONS} />
                        </div>
                    </fieldset>
                    <button className="Stripebutton"> Pay</button>
                </form>
            :
                <div>
                    <h2>You just bought a sweet </h2>
                </div>
            }
        </>
    )
}
 

Комментарии:

1. Stripe не поддерживает UPI и поддерживает списание средств с банковских счетов только в определенных странах. Видишь stripe.com/docs/payments/payment-methods/overview для полного списка.

2. И конечно, вы определенно можете разделить число/CVC/срок действия на несколько строк. Посмотрите на другие типы элементов и пример «Разделенные элементы карты» для react-stripe-js codesandbox.io/s/…

3. Спасибо, я рассмотрю вопрос о разделении номера карты/cvc/даты истечения срока действия

4. Когда мы вводим номер карты, например 4242 Visa, для MC номер карты начинается с 2 или 5, он не отображает visa img/MC в левой или правой части поля номер карты.

5.stripe.com/docs/js/elements_object/… .