Python-Slipe (4 части серии)
EN EL POST PASAA INICIMOS Creando Nuestra Estructura de Archivos Y Directios Para Nuestro Formulio de Pago Con Slipe Usando React Y Flask.
Ya Con ToDo Eso Listo PodeMos IICARIAR CREAR LOS Components de React Que Necesitaremos Para Procesar Los Pagos.
ESTO Es Muy Simple Lo único Que Debemos Hacer ES:
NPM Установка –Save @ Slipe/React-Slipe-JS @ Slipe/Slipe-JS
Y Listo, Ya Se Actualizo Nuestro Package.json y se instalo la libríaa.
Bootstrap ES Framework de frontend con el propósito de estilizar Nuestras Aplicaciones o Sitios Web.
Существуют Манас Манерас де Агрегарло ООН ПРОЕЕКТО РПА РЕАГА La Más Simple Y La Que Vamos A itilizar Es Agregando El CDN A el Index de Nuestra Alplación.
Перо нет ловкий агрегар al index.js si no que dentro de la carpeta publics encontraremos en archivo de nombre index.html y en en este dónde agregaremos el cdn de (bootstrap) [ https://getbootstrap.com/docs/4.5/getting-started/introduction/ Несомненно
AL Igual Que Custquier Archivo CSS ESTE VA DENTRO DE ООН Тег <Ссылка>
y Doctro. дель de la pagina quedando algo como esto.
CUANDO Crowsos unuevo ProyeCto de React Usango Create-raction-app
Este Nos Da Una Estructura de Archivos, Para Este Caso Vamos Модифицированный ООН Poco Esta Estructura.
- ИК ЛА CARPETA SRC
- Dejar únicamente el archivo index.js
Cuando Eliminemos Estos Archivos Y TrateMos de Iniciar El ProyeCto Con NPM начать
Seguramente Tendremos Varios Производители y Estos Serán Buasados POR LAS Importaciones de Archivos Que Ya No Существует POR Lo Que Vamos Модифицированный ESE Archivo Index.js de la Siguiente Manera.
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App' ReactDOM.render(, document.getElementById('root'));
AHORA AUN Tendyremos ООН ОШИБКА DE IMPORTACIONON POR QUE PARA ESTE PUNTO AúN NO SIVELEDE EL Componente Приложение
пункт lo que vamos avel al al mismo nivel que index.js.
PARA TODA ESTA SERIE DE DEUTORIALES VAMOS A UTILIZAR Функциональные компоненты
Que es la forma en la la que react nos dice que deberíamos trabajar, si alguno de ustedes asta acostumbrado atilizar Класскомпоненты
Es Muy Fácil Migrar de Uno Otro.
Ahora Si EL Componente Приложение
// App.js import React from 'react' import { Elements } from '@stripe/react-stripe-js' import { loadStripe } from '@stripe/stripe-js' const App = () => { const stripePromice = loadStripe('stripe_public_key') return () } export default App
Хорошо .. ToDo Se ve Muy Cool Pero que estamos Haciendo, Bueno Partiendo de la Estructura Fuente de un Функциональный компонент
lo que estamos haciendo es inmorthar Элементы
de la librisería de slipe la cual nos va permitir utilizar los objetos Элемент
de slipe en custerquier Componente Heredado.
Y la otra cosa que estamos haciendo es autenticantonos con nuestra clave publeta de slipe esto con la función LoadStripe
la cual cargara de forma asíncrona al script de Slipe.js
Отказ
ESA autenticación se la pasamos como rop el componente Элемент
Y Listo. Ya Podemos Утилизарская полоса.
Doctro de la Carpea Src Vamos a Crage Una Nueva Carpeta LomaDa Компоненты
y Doctro de Esta CrareMos unchivo llamado Checkoutform.js
y escribiremos lo siguiente:
// CheckoutForm.js import React from 'react' import CardSection from './CardSection' const CheckoutForm = () => { return () } export default CheckoutForm
Este Componente NOS VA Сервут Para Agregar ToDos Los DESOS DEL Formulio de Pago Que Vallamos Necesitar, ES DECIR NOMBRE DEL CLINGYE, EMOT и т. Д. Todo Lo Que Queremos Saber del Client y por sudo los datos de su tarjeta para elizar el cobro.
EN ESTE CASO únicamente Estaré Pidiendo Los Datos de la Tarjeta, Pero Desde Este Componente ES Donde Se Pedirá Toda La Información del Clients.
Ahora en este punto no tenemos creado aun el componente Кардио
пункт lo que vamos hacerlo.
Centro de la Carpeta Компоненты Vamos a Crage en archivo llamado Открытки. Джей
, Doctro de Este Archivo Escribimos Lo Sigueinte.
import React, { useState } from 'react' import { CardElement } from '@stripe/react-stripe-js' import '../css/stripe_form.css' const CardSection = () => { const [state, setState] = useState({ 'errorMessage': '' }) const card_element_options = { style: { base: { color: "#32325d", fontFamily: '"Helvetica Neue", Helvetica, sans-serif', fontSmoothing: "antialiased", fontSize: "16px", "::placeholder": { color: "#aab7c4", }, }, invalid: { color: "#fa755a", iconColor: "#fa755a", }, } } const handleOnChanage = (event) => { setState({errorMessage: ''}) if (event.error) { setState({error: true, errorMessage:event.error.message}) } } return ( <> ) } export default CardSection{state.errorMessage}
Muy Bien Vamos a a la explicación.
EN ESTE Componente Estamos Importanto de Slipe EL Componente CardElement
Отказ
Полоса Nos Пропорция Мушос Элементы
Para Crage Nuestro Formulio de Pago, Перо Эль CardElement
es us uno de los mas usities desde mi punto de vista por que engloba todos los deas de la tarjeta que necesitamos en un un rarjeta que necesitamos en un un unio input El Resto de los Elemento que nos прориемую полосу. https://stripe.com/docs/stripe-js
Ahora Tambien Estamos Agregando Algunas Opciones de Estilos Por по умолчанию AL CardElement
Отказ
También Estamos Validando Si Eshivee Algún ошибка EN LOS DESO DE LA TARJETA HACIENDO USO DEL SPOP Onchange
del componente CardElement
Para Esta Validación Hacemos Uso Del Hook de React Уместите
De Tal Forma que cuando Hay en Ошибка El objeto Event Del Componente CardElement
Actualizamos El государство
y lo randerizamos en El Tag
Queí les dejo la documentación de slipe en donde podremos ver todas las реквизит que le podimos pasar a los elementos de slipe
https://stripe.com/docs/js/elements_object/create_element?type=card#elements_create-options
En Este Componente También Agregamos Algunos Estilos POR CSS, Mismos Que Les Dejare El Reppo del Praeecto Para Нет El Escribir Todo El Código Aquí.
Ya Con ToDos Los Compents Listos Solo Nos Queda Importar EL Componente Cardform
Дендор де Приложение
Отказ
{/* Load the checkout form */}
Y Listo Ya TeneMos Nuestro Formulio.
Aun No Actecta Pagos, Pero Esto Lo Iremos Haciendo En Los Siguientes Post.
Les dejo El Reppo del ProyeCto de React EN DONDE PODRARLO VER TODO EL CODIGO O CLONARLO PARA VERLO EN USO EN COMPTYADORAS.
https://github.com/leonardoAlonso/StripeForm
Python-Slipe (4 части серии)
Оригинал: “https://dev.to/leonardoalonso/meses-sin-intereses-en-stripe-con-python-parte-2-48j0”