Skip to main content

A Getnet SDK

Project description

getnet-python

This project is a fork of Getnet-py

This project provider a SDK to handler Getnet API.

Installation

To install getnet-py you can use pip:

$ pip install getnet-python

or pipenv:

$ pipenv install getnet-python

Usage

For use this library the following information is needed:
  • Seller ID
  • Client ID
  • Client Secret
The following environments are supported:
  • Sandbox
  • Homolog
  • Production
At moment, we have support to the following services:
  • Token
  • Payments
    • Credit Card

Instancing the client

from getnet import Environment, Client

client = Client("seller_id", "client_id", "client_secret", Environment.SANDBOX)
client.auth() # Optional, will be executed if needed

Using the Services

Examples

Consult Card BIN Informations
card_bin = client.card_bin("515590") # Card related information and Status

Customer

customer_service = client.customer_service()

Create Customer

customer_data = client.customer(
    {
        "first_name":"Joao",
        "last_name":"Pedro da Silva",
        "document_type":"CPF",
        "document_number":"77261241563",
        "birth_date":"1988-04-08",
        "phone_number":"5575999999999",
        "celphone_number":"5575999999999",
        "email":"fabvitor@test.com",
        "observation":"Test CLient",
        "customer_id":"77261241563", # or uuid4
        "seller_id":"6eb2412c-165a-41cd-b1d9-76c575d70a28",
        "address":{
            "street": "Rua Test",
            "number": "40",
            "complement": "Casa",
            "district": "Centro",
            "city": "São Paulo",
            "state": "SP",
            "country": "Brasil",
            "postal_code": "77019098",
        },
    }
)

customer = customer_service.create(customer_data)

Get Customer

customer = customer_service.get("77261241563")

List All Customers Saved in Getnet

customers = customer_service.all()
Tokenizing a Credit Card
token = client.generate_card_token("5155901222280001", customer.customer_id)
token.number_token # token genered in getnet
Verify a Credit Card
card_verified: bool = client.card_verified(
    number_token=tokenizado.number_token,  
    expiration_month="12",
    expiration_year="28"
    cardholder_name="JOAO DA SILVA",
    brand="Mastercard",
    security_code="123",
) # True or False

Generate a Credit Card

payment_card = client.credit_card(
    number_token=tokenizado.number_token,  
    cardholder_name="JOAO DA SILVA",
    security_code="123",
    brand="Mastercard",
    expiration_month="12",
    expiration_year="28"
    )

Generate a Order

payment_order = client.order("12345") 

Generate a Payment Customer

payment_customer = client.customer(customer) 

Generate a Credit Card Payment

payment = client.create_credit_transaction(
    amount="1000",
    delayed=False,
    pre_authorization=True,
    save_card_data=False,
    transaction_type="FULL",
    number_installments=1,
    order=payment_order,
    customer=payment_customer,
    card=payment_card,
    shipping_address={
        "street": "Rua Test",
        "number": "40",
        "city": "São Paulo",
        "state": "SP",
        "postal_code": "77019098"
    }, # The user's address may be different from the address registered with the consumer
)

payment_id = payment.payment_id # ID
status = payment.status # AUTHORIZED

Adjust a Payment Amount

payment_ajusted = client.adjust_credit_transaction(payment_id, "2000")
payment_ajusted.status # APROVED

Capture a Credit Card Payment

captured_payment = client.capture_credit_transaction(payment_id, "2000")
captured_payment.status # CONFIRMED

Cancel a Credit Card Payment

canceled_order = client.cancel_credit_transaction(payment_id)
canceled_order.status # CANCELED
cancel_payment_credit.credit_cancel.message # "Credit transaction cancelled sucessfully"

Handling error returns

Errors related to specific getnet returns can be accessed through the BusinessError Class

Example in Cancel Transaction:

try:
    canceled_order = client.cancel_credit_transaction(payment_id)
except Exception as getnet_error:
    error_code = getnet_error.details["error_code"]
    print(error_code)  # PAYMENTS-082

    error_msg = getnet_error.details["description"]
    print(error_msg) # Cancelamento inválido

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

getnet-python-2.1.tar.gz (22.6 kB view hashes)

Uploaded Source

Built Distribution

getnet_python-2.1-py2.py3-none-any.whl (42.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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