Skip to main content

SDK para integração com o gateway de pagamentos bemfácil®

Project description

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®.

Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.


Este `README.md` oferece uma visão clara e detalhada de como utilizar o SDK, incluindo exemplos de código e instruções de configuração. Além disso, informa ao usuário sobre a necessidade de obter credenciais da bemfacil® para testar o SDK.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bf_sdk_gateway_python-0.1.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bf_sdk_gateway_python-0.1.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file bf_sdk_gateway_python-0.1.0.tar.gz.

File metadata

  • Download URL: bf_sdk_gateway_python-0.1.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.12

File hashes

Hashes for bf_sdk_gateway_python-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dbe68a5b2486057467bea444231df8cbdb410bd245df4f4e5ae4317638220e1c
MD5 daf8bf16a9b7664910762649e32e7ca9
BLAKE2b-256 67a735131b502a8bdd6421d75f74402c8d068f105cfadda79b09b118413c9d98

See more details on using hashes here.

File details

Details for the file bf_sdk_gateway_python-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bf_sdk_gateway_python-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c665954eea6a9fb05e043a8e52f7c8fe76730c7bddcf8ec386b6b295814b044
MD5 30ffa2d62a21558668488e1ca54b0797
BLAKE2b-256 dfa8ec53be1746e71b2261b698d778d80793218b770b9dcd8d10b99111eb8c82

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page