Skip to main content

Juno Python NFR

Project description

Juno Python Library

PyPI

The Juno Python library provides integration access to the Juno Gateway.

Installing

This lib can be found on pip. To install it, use:

$ pip install juno-python-nfr

Documentation

Quick Start Example

import juno

juno.init(
    client_id="CLIENT_ID_JUNO",
    client_secret="CLIENT_SECRET_JUNO",
    resource_token="RESOURCE_TOKEN_JUNO",
    idempotency_key="IDEMPOTENCY_KEY",  # only for create pix routes
    sandbox=False,
)

result_charge = juno.charge.create(
    {
        "charge": {
            "description": "Description",
            "amount": "100.00",
            "references": [""],
            "payment_types": ["CREDIT_CARD"],
        },
        "billing": {
            "name": "Name Test",
            "document": "00000000000",  # Add a valid CPF
        },
    }
)

if result_charge.is_success:
    result_payment = juno.payment.create(
        {
            "charge_id": result_charge.charge.id,
            "billing": {
                "email": "name@test.com",  # Add a valid email
                "address": {  # Add a valid address
                    "street": "",
                    "number": "",
                    "complement": "",
                    "neighborhood": "",
                    "city": "",
                    "state": "",
                    "post_code": "",
                },
                "delayed": False,  # for capture delayed, use: "delayed": True
            },
            # if card is attached: "credit_card_details": {"credit_card_id": "id"}
            "credit_card_details": {"credit_card_hash": "hash"},
        }
    )

    if result_payment.is_success:
        print(f"Success payment: {result_payment.payment.id}")
    else:
        print(result_payment.errors)
else:
    print(result_charge.errors)

Tokenize Card

result_card = juno.card.tokenization({"credit_card_hash": "39612e90-ae60-4fdd-a437-fcff56c41bea"})

if result_card.is_success:
    print(f"Attached card id: {result_card.credit_card_id}")
    print(f".... {result_card.last4_card_number} ({result_card.expiration_month}/{result_card.expiration_year})")
else:
    print(result_card.errors)

List Charges

response = juno.charge.find_all(
    query_params={
        "created_on_start": "2022-02-13", "created_on_end": "2022-02-14", "order_asc": False
    }
)

# You can pass the argument with keyword or not
# ... charge.find_all({"created_on_start": "2022-02-13", ...})

for charge in response.charges:
    print(charge)

Detail Charge

response = juno.charge.find_by_id("chr_1EECDF55648943D78BDFC6D852E19266")
print(response.charge)

Cancel Charge

response = juno.charge.cancelation("chr_1EECDF55648943D78BDFC6D852E19266")
print(response)

Capture Delayed

# ...
juno.payment.capture(result_payment.payment.id, {"charge_id": result_charge.charge.id})

Partial Capture Delayed

# ...
juno.payment.capture(result_payment.payment.id, {"charge_id": result_charge.charge.id, "amount": "100.00"})

Refund Payment

response = juno.payment.refund("pay_879D6006555C3309E4504C63B743BF59")
print(response)

Partial Refund Payment

response = juno.payment.refund("pay_879D6006555C3309E4504C63B743BF59", {"amount": "10.00"})
print(response)

Support

If you have any problem or suggestion please open an issue here.

License

Check here.

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

juno-python-nfr-0.4.2.tar.gz (11.0 kB view details)

Uploaded Source

File details

Details for the file juno-python-nfr-0.4.2.tar.gz.

File metadata

  • Download URL: juno-python-nfr-0.4.2.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.3

File hashes

Hashes for juno-python-nfr-0.4.2.tar.gz
Algorithm Hash digest
SHA256 4d57346f2994140a527df4bba095689586523b7dfb04b27c97038f6add84c0df
MD5 2fe9d29a0990a62bf2dcf18997c4ed34
BLAKE2b-256 1c3af9c82b17c8e03cd3b1de30174f331ce2aa2b7830614a00527d2a643c29a0

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