This project is a fork of Getnet-py
To install getnet-py you can use pip:
$ pip install getnet-python
or pipenv:
$ pipenv install getnet-python
- Seller ID
- Client ID
- Client Secret
- Sandbox
- Homolog
- Production
- 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
card_bin = client.card_bin("515590") # Card related information and Status
customer_service = client.customer_service()
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":"[email protected]",
"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)
customer = customer_service.get("77261241563")
customers = customer_service.all()
token = client.generate_card_token("5155901222280001", customer.customer_id)
token.number_token # token genered in getnet
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
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"
)
payment_order = client.order("12345")
payment_customer = client.customer(customer)
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
payment_ajusted = client.adjust_credit_transaction(payment_id, "2000")
payment_ajusted.status # APROVED
captured_payment = client.capture_credit_transaction(payment_id, "2000")
captured_payment.status # CONFIRMED
canceled_order = client.cancel_credit_transaction(payment_id)
canceled_order.status # CANCELED
cancel_payment_credit.credit_cancel.message # "Credit transaction cancelled sucessfully"
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