Aula 91 - Ecommerce - Introdução ao Stripe
Nesta
Aula 91 do nosso curso de
E-commerce, vamos nos aprofundar no uso do
Stripe, uma ferramenta essencial para qualquer desenvolvedor ou empresário que deseja integrar um sistema de pagamentos online eficiente em suas aplicações web.
O
Stripe se destaca no mercado de plataformas de pagamento pela sua adaptabilidade a diferentes tipos de negócios e pela sua API amigável e robusta, que facilita a integração e o gerenciamento de pagamentos online.
Por que escolher o Stripe?
- Ampla Aceitação: O Stripe permite que você aceite pagamentos de uma vasta gama de cartões de crédito em todo o mundo, aumentando assim o alcance global de seu e-commerce.
- Segurança: Com uma abordagem focada na segurança, o Stripe lida com os aspectos críticos do armazenamento de informações de cartões de crédito, garantindo que os dados dos seus clientes estejam protegidos.
- Integração Simplificada: A API do Stripe é projetada para ser intuitiva para desenvolvedores, permitindo uma integração rápida e personalizável ao seu projeto. Além disso, o Stripe fornece documentação detalhada e suporte para facilitar esse processo.
- Flexibilidade: Independentemente do tamanho do seu negócio, o Stripe se adapta para atender às suas necessidades, oferecendo desde soluções básicas de pagamento até funcionalidades avançadas para gestão de assinaturas e operações financeiras complexas.
Primeiros Passos com o Stripe
Para começar a utilizar o
Stripe, o primeiro passo é criar uma conta na plataforma.
Acesse o link:
https://dashboard.stripe.com/register
Isso pode ser feito rapidamente através do site oficial do
Stripe, e você pode iniciar com uma conta de teste para explorar as funcionalidades sem custos.
Depois de fazer o login, no
dashboard coloque sua conta em
Modo de teste.
Acesso Local ao Stripe
Instale o Stripe CLI, nesse link abaixo, tem as instruções de como fazer em seu sistema operacional.
https://docs.stripe.com/stripe-cli?locale=pt-BR
Para instalar a
Stripe CLI no
Windows: Baixe o arquivo zip windows mais recente em
GitHub.
Descompacte o arquivo
stripe_X.X.X_windows_x86_64.zip.
Adicione o caminho do arquivo
stripe.exe descompactado à variável de ambientePath.
Descompactei em:
C:\stripe_1.19.1_windows_x86_64
Agora coloque o
Stripe CLI no
path do seu
windows com o comando:
[System.Environment]::SetEnvironmentVariable('Path',
[System.Environment]::GetEnvironmentVariable('Path',
[System.EnvironmentVariableTarget]::Machine) + ';C:\stripe_1.19.1_windows_x86_64',
[System.EnvironmentVariableTarget]::Machine)
Login
Depois de intalado o
Stripe CLI, para ter
acesso via cmd ou
shell ao
Stripe, da sua
máquina local, execute o comando:
stripe login
Esse comando é usado para autenticar sua máquina local com sua conta Stripe, permitindo que você interaja com a API Stripe usando a Stripe CLI (Interface de Linha de Comando).
Quando você executa
stripe login, a
CLI irá guiá-lo por um processo de login no navegador, onde você precisa entrar na sua conta Stripe.
Uma vez autenticado, a
CLI salvará as credenciais de acesso localmente, permitindo que você execute outros comandos da
Stripe CLI, como criar ou gerenciar recursos da Stripe, independentemente do diretório em que você está.
No entanto, para trabalhar com comandos específicos que interagem diretamente com o código do seu projeto, como executar operações que dependem de arquivos de configuração específicos do projeto, você precisará estar no diretório do projeto.
Isso se aplica a comandos que não são do stripe login, mas que fazem uso direto da configuração e dos recursos do seu projeto.
Integração com o projeto
Após configurar sua conta, a integração com o seu projeto de
e-commerce pode começar.
O Stripe oferece
SDKs (
Kits de Desenvolvimento de Software) em várias linguagens de programação, incluindo
Python,
Ruby,
PHP, e
Node.js, permitindo que você escolha a melhor opção para o seu ambiente de desenvolvimento.
Durante o processo de integração, você utilizará as chaves
API fornecidas pelo
Stripe para autenticar suas solicitações.
Essas chaves são essenciais para realizar operações seguras e devem ser protegidas adequadamente no seu código.
A documentação do
Stripe oferece guias passo a passo para implementar o sistema de pagamento, incluindo a criação de um formulário de pagamento, a realização de cobranças e a gestão de assinaturas.
Escolhas Estratégicas
Adotar o
Stripe no seu projeto de e-commerce não apenas simplifica a aceitação de pagamentos online, mas também contribui para a segurança e a experiência do usuário.
Com o suporte e as ferramentas oferecidas pelo
Stripe, você pode focar no desenvolvimento e na expansão do seu negócio, enquanto deixa os desafios dos pagamentos online nas mãos de um parceiro confiável.
Lembre-se, o
Stripe é apenas uma das várias opções disponíveis no mercado.
É importante avaliar as necessidades específicas do seu projeto e considerar alternativas como
Braintree,
adyen e
authorize.net, entre outros, para garantir a escolha da solução de pagamento mais adequada para o seu negócio.
Instalação do Stripe no Projeto
Com o
ambiente virtual já
ativado, e dentro da pasta do projeto, aquela onde fica o
manage.py, rode o comando:
pip install stripe
Rode o
freeze
pip freeze
Com o
Stripe instalado, vamos começar a Implementação
Podemos agora começar a integrar funcionalidades de pagamento do projeto.
Isso inclui configurar chaves de API, criar formulários de pagamento e processar transações.
Na raiz do projeto, crie o arquivo
.env, ou seja, na pasta do
manage.py.
STRIPE_API_KEY=sua_chave_de_api_aqui
Instale o
django-environ
pip install django-environ
E no
e_commerce/e_commerce/settings.py, configure o
django-environ.
e_commerce/e_commerce/settings.py
"""
Django settings for e_commerce project.
Generated by 'django-admin startproject' using Django 2.1.4.
For more information on this file, see
https://docs.djangoproject.com/en/2.1/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.1/ref/settings/
"""
import os
import environ
import stripe
# Setup environment variables
env = environ.Env(DEBUG=(bool, False),)
environ.Env.read_env()
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'xjmv-0^l__duq4-xp54m94bsf02lx4&1xka_ykd_(7(5#9^1o^'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = env.list('ALLOWED_HOSTS', default=[])
# Stripe Configuration
stripe.api_key = env('STRIPE_API_KEY')
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#our apps
'addresses',
'analytics',
'billing',
'accounts',
'carts',
'orders',
'products',
'search',
'tags',
]
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
AUTH_USER_MODEL = 'accounts.User' # changes the built-in user model to ours
FORCE_SESSION_TO_ONE = False
FORCE_INACTIVE_USER_ENDSESSION= False
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
LOGOUT_REDIRECT_URL = '/login/'
ROOT_URLCONF = 'e_commerce.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'e_commerce.wsgi.application'
# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Password validation
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/2.1/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static_local")
]
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn", "static_root")
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn", "media_root")
Por essa aula é só, na próxima a gente vai criar o Cliente Stripe.
Código final da aula:
Canais do Youtube
Dêem um joinha 👍 na página do Código Fluente no
Facebook.
Sigam o Código Fluente no Instagram e no TikTok.
Código Fluente no Pinterest.
Meus links de afiliados:
Nos vemos na próxima então, \o/ 😉 Bons Estudos!