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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbe68a5b2486057467bea444231df8cbdb410bd245df4f4e5ae4317638220e1c
|
|
| MD5 |
daf8bf16a9b7664910762649e32e7ca9
|
|
| BLAKE2b-256 |
67a735131b502a8bdd6421d75f74402c8d068f105cfadda79b09b118413c9d98
|
File details
Details for the file bf_sdk_gateway_python-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bf_sdk_gateway_python-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c665954eea6a9fb05e043a8e52f7c8fe76730c7bddcf8ec386b6b295814b044
|
|
| MD5 |
30ffa2d62a21558668488e1ca54b0797
|
|
| BLAKE2b-256 |
dfa8ec53be1746e71b2261b698d778d80793218b770b9dcd8d10b99111eb8c82
|