Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
An unofficial Python SDK for Braspag.
This SDK is created for personal use and the functionality is limited to the needs of my projects. You are more than welcome to contribute the code you need as soon as it follows the same code style. Fortunately, this is a very simple SDK, so it should be easy to understand and extend.
pip install --upgrade braspag-sdk
import os
from braspag_sdk import Braspag, MerchantCredentials, SplitCredentials, EMV3DSCredentials, SilentOrderPostCredentials
merchant_creds = MerchantCredentials(
merchant_id=os.environ.get('BRASPAG_MERCHANT_ID'),
merchant_key=os.environ.get('BRASPAG_MERCHANT_KEY'),
)
split_creds = SplitCredentials(
client_secret=os.environ.get('BRASPAG_SPLIT_CLIENT_SECRET'),
)
emv3ds_creds = EMV3DSCredentials(
client_id=os.environ.get('BRASPAG_EMV3DS_CLIENT_ID'),
client_secret=os.environ.get('BRASPAG_EMV3DS_CLIENT_SECRET'),
)
sop_creds = SilentOrderPostCredentials(
client_id=os.environ.get('BRASPAG_SOP_CLIENT_ID'),
client_secret=os.environ.get('BRASPAG_SOP_CLIENT_SECRET'),
)
braspagSdk = Braspag(merchant_creds, is_sandbox=True)
braspagSdk.add_split(split_creds)
braspagSdk.add_emv3ds(emv3ds_creds)
braspagSdk.add_sop(sop_creds)
from braspag_sdk import Braspag, Sale, Customer, Address, CreditCard, Payment, SplitPayment
# Configuration
braspagSdk: Braspag = ...
print(f'Creating payment transaction in Braspag...')
# Prepare the basic sale info.
sale = Sale(merchant_order_id=...)
# Prepare the customer info.
sale.customer = Customer(name=...)
sale.customer.email = ...
sale.customer.identity = ...
sale.customer.identity_type = ... # 'cpf' or 'cnpj'
# Prepare the customer's address.
sale_address = Address()
sale_address.street = ...
sale_address.number = ...
sale_address.complement = ...
sale_address.zip_code = ...
sale_address.city = ...
sale_address.state = ...
sale_address.country = ...
sale.customer.address = sale_address
# Prepare the payment info and credit card for it.
# Most likely, you are not PCI compliant, so you will need to use Braspag's card tokenization.
credit_card = CreditCard(security_code=None, brand=None)
credit_card.card_token = ''
sale.payment = Payment(amount=..., installments=...)
sale.payment.soft_descriptor = ...,
sale.payment.credit_card = credit_card
# Split payment with subourdintate merchants.
subordinate_merchant_id = ...
amount = ...
sale.payment.do_split = True
sale.payment.split_payments = [
SplitPayment(subordinate_merchant_id, amount, mdr=..., fee=...)
]
# Create the payment in Cielo.
sale_response = braspagSdk.payments.create_sale(sale)
payment_response = sale_response['Payment']
# Save the payment reference in Dizconto's database.
payment_id = payment_response['PaymentId']
payment_method = payment_response['Type']
payment_status = payment_response['Status']
payment_reason = payment_response['ReturnCode']
payment_amount = payment_response['Amount']
print(f'Created Braspag Payment: {payment_id}')
from braspag_sdk import Braspag, SplitMerchant, SplitMerchantAddress, SplitMerchantBank, SplitMerchantAgreement
# Configuration.
braspagSdk: Braspag = ...
braspagSdk.add_split(...)
print(f'Creating Braspag Split Subordinate Merchant...')
address = SplitMerchantAddress(
street=...,
number=...,
complement=...,
neighborhood=...,
zip_code=...,
city=...,
state=...,
)
bank_account = SplitMerchantBank(
bank=...,
bank_account_type=...,
number=...,
verifier_digit=...,
agency_number=...,
agency_digit=...,
operation=...,
)
agreements = [
SplitMerchantAgreement(
percent=...,
fee=...,
)
]
split_merchant = SplitMerchant(master_merchant_id=...)
split_merchant.fancy_name = ...
split_merchant.website = ...
split_merchant.mail_address = ...
split_merchant.contact_name = ...
split_merchant.contact_phone = ...
split_merchant.corporate_name = ...
split_merchant.document_number = ...
split_merchant.document_type = ...
split_merchant.address = address
split_merchant.bank_account = bank_account
split_merchant.agreements = agreements
result = braspagSdk.split.create_split_merchant(split_merchant)
merchant_id = result['id']
print(f'Created Braspag Split Subordinate Merchant: {merchant_id}')
from braspag_sdk import Braspag
# Configuration.
braspagSdk: Braspag = ...
# Payments
payment_id = ...
braspagSdk.payments.get_sale(payment_id)
braspagSdk.payments.capture_sale(payment_id, amount=...)
braspagSdk.payments.cancel_sale(payment_id, amount=...)
# Generate access token for EMV 3DS.
# Learn more: https://braspag.github.io//manual/emv3ds#1.-criando-o-token-de-acesso
establishment_code = ...
merchant_name = ...
mcc = ...
braspagSdk.emv3ds.get_access_token(establishment_code, merchant_name, mcc)
# Generate access token for Silent Order Post.
# Learn more: https://braspag.github.io//manualp/braspag-silent-order-post#2.-obtendo-accesstoken-sop
braspagSdk.sop.get_access_token()
Licensed under the MIT license, see LICENSE
.
FAQs
An unofficial Python SDK for Braspag
We found that braspag-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.