bemfácil.developers
  • Bem-vindo ao bemfácil.developers!
  • 🖥️Serviços
    • 🏦Conta Digital bemfácil®
      • 🏢Estabelecimentos
    • 💲Introdução ao Gateway de Pagamentos bemfácil®
      • 🔐Autenticação do Estabelecimento Comercial para Transações
      • 💳Tokenização de Cartões de Crédito
      • 🔛Criação de Transações: Cartão de Crédito, PIX e Cripto
      • 👨‍💻SDK e Bibliotecas
        • 🐍SDK Python
    • 💳Adquirência
    • 🚘Débitos veiculares
      • 🔐Autenticação entre Sistemas
      • 🖥️Rotas Conta Lógica
        • Solicitação de pagamento de débitos veiculares
        • Listagem de Ordens de pagamento
        • Listagem de Consultas
        • Cálculo de valor total
        • Solicitação de criação de uma consulta
        • Retorno de comprovante
    • 💵Cotação bemfácil®
      • 🔐Autenticação
      • 💱Realizar Cotação
Powered by GitBook
On this page
  • bemfácil® Payment SDK
  • Instalação
  • Uso
  • Integração com Django
  • Testes
  • Usuários de teste
  • Cartões de Teste
  • Contato
  1. Serviços
  2. Introdução ao Gateway de Pagamentos bemfácil®
  3. SDK e Bibliotecas

SDK Python

bemfácil® Payment SDK

Este SDK facilita a integração com o gateway de pagamentos bemfácil®, permitindo que você realize operações como autenticação, tokenização de cartões, criação de transações, captura de pagamentos e consulta de status de transações.

Instalação

Para instalar o SDK, você pode usar o pip:

pip install bemfacil_payment_sdk

Uso

Para usar o SDK, você precisa de um nome de usuário e senha fornecidos pela bemfacil®. Para obter essas credenciais, entre em contato com a bemfacil® para adquirir um usuário de teste ou de produção.

Configuração Inicial

Primeiro, configure o SDK com suas credenciais. Você pode fazer isso diretamente no seu código ou integrá-lo em um projeto Django (veja a seção de Integração com Django abaixo).

from bemfacil_payment_sdk.client import BemFacilPaymentClient

client = BemFacilPaymentClient(
    username='seu_email@empresa.com',
    password='sua_senha'
)

Tokenização de Cartão

Para tokenizar um cartão, você pode usar o seguinte código:

card_token = client.tokenize_card('5555666677778884', '12/25', {
    'first_name': 'John',
    'last_name': 'Doe',
    'birth_date': '01/01/1970',
    'phone': '+5511999999999',
    'email': 'john.doe@example.com'
})
print(card_token)

Criação de Transação

Para criar uma transação, use o seguinte código:

transaction = client.create_transaction('40404040411', 10, 'credit', 1)
print(transaction)

Captura de Pagamento

Para capturar um pagamento, use o seguinte código:

capture_response = client.capture_payment(transaction['transaction_id'], {
    'number': '5555666677778884',
    'expiry_date': '12/25',
    'cvv': '123'
})
print(capture_response)

Consulta de Status de Transação

Para consultar o status de uma transação, use o seguinte código:

status = client.get_transaction_status(transaction['transaction_id'])
print(status)

Atualização de Senha

Para atualizar a senha, use o seguinte código:

response = client.change_password('nova_senha123')
print(response)

Atualização do Token de Autenticação

Para atualizar o token de autenticação, use o seguinte código:

client.refresh_auth_token()
print('Token atualizado:', client.api_key)

Integração com Django

Você pode integrar este SDK em um projeto Django. Aqui está um exemplo de como fazer isso:

Configuração

Adicione as configurações do bemfacil® no seu settings.py:

# settings.py
BEMFACIL_USERNAME = 'seu_email@empresa.com'
BEMFACIL_PASSWORD = 'sua_senha'
BEMFACIL_BASE_URL = 'https://gws-hml.bemfacil.com.br'

Crie um arquivo de configuração para inicializar o cliente do SDK:

config/bemfacil.py:

from django.conf import settings
from bemfacil_payment_sdk.client import BemFacilPaymentClient


def get_bemfacil_client():
    return BemFacilPaymentClient(
        username=settings.BEMFACIL_USERNAME,
        password=settings.BEMFACIL_PASSWORD,
        base_url=settings.BEMFACIL_BASE_URL
    )

Use o SDK em suas views:

views.py:

from django.shortcuts import render
from django.http import JsonResponse
from config.bemfacil import get_bemfacil_client


def tokenize_card_view(request):
    if request.method == 'POST':
        card_number = request.POST.get('card_number')
        card_expiry = request.POST.get('card_expiry')
        card_holder_data = {
            'first_name': request.POST.get('first_name'),
            'last_name': request.POST.get('last_name'),
            'birth_date': request.POST.get('birth_date'),
            'phone': request.POST.get('phone'),
            'email': request.POST.get('email')
        }
        client = get_bemfacil_client()
        try:
            response = client.tokenize_card(card_number, card_expiry, card_holder_data)
            return JsonResponse(response)
        except Exception as e:
            return JsonResponse({'error': str(e)}, status=400)

    return render(request, 'tokenize_card.html')


def create_transaction_view(request):
    if request.method == 'POST':
        document = request.POST.get('document')
        amount = request.POST.get('amount')
        payment_method = request.POST.get('payment_method')
        installments = request.POST.get('installments')
        client = get_bemfacil_client()
        try:
            response = client.create_transaction(document, amount, payment_method, installments)
            return JsonResponse(response)
        except Exception as e:
            return JsonResponse({'error': str(e)}, status=400)

    return render(request, 'create_transaction.html')

Testes

Para rodar os testes, use o comando:

python -m unittest discover tests

Usuários de teste

Username
Password

gateway01@bemfacil.com.br

BemFacil2024@

gateway02@bemfacil.com.br

BemFacil2024@

gateway03@bemfacil.com.br

BemFacil2024@

Cartões de Teste

Aqui estão alguns cartões de teste que você pode usar para simular transações durante o desenvolvimento:

Bandeira
Número do Cartão
Exp Date
Cod. Sec

VISA

x895379980000580

12/23

518

VISA

x895379980000572

12/23

841

VISA

x895379980000564

12/23

11

VISA

x895379980000325

12/23

45

Mastercard

512X342233150747

ANY

ANY

Mastercard

512X343287499758

ANY

ANY

Mastercard

51203501XXX64594

ANY

ANY

Mastercard

222269042006459X

ANY

ANY

Contato

Para obter as credenciais de usuário de teste ou de produção, entre em contato com a bemfacil®.

PreviousSDK e BibliotecasNextAdquirência

Last updated 11 months ago

🖥️
💲
👨‍💻
🐍