Skip to main content

A command line app for interacting with Paystack's API

Project description

paystack cli

A command line app for interacting with Paystack's API. Built with Typer and Pypaystack2

a picture of the utility in use

Installation

Binaries of paystack cli be found here. Alternatively, Paystack cli can be installed from pypi with pip as shown below.

pip install paystack-cli

First time configurations

You're required to add your paystack integration secret key as your auth_key for the cli on first use as shown below

paystack config AUTH_KEY

This sets up your paystack cli for use in development mode if the test secret key is used. This auth_key can be removed with paystack reset. Run paystack --help to see available commands

Examples

Retrieve a single transaction from your integration

paystack txn get-txns --pagination 1

Running the command above should yield a result similar to the dump shown below

Response(
    status_code=200,
    status=True,
    message='Transactions retrieved',
    data=[
        {
            'id': 3785557723,
            'domain': 'test',
            'status': 'success',
            'reference': '2769088ddc23d52947c8e845f6a6bbdebd987f457e97f71c',
            'amount': 30000,
            'message': None,
            'gateway_response': 'Approved',
            'paid_at': '2024-05-11T10:00:29.000Z',
            'created_at': '2024-05-11T10:00:27.000Z',
            'channel': 'card',
            'currency': 'NGN',
            'ip_address': None,
            'metadata': {'invoice_action': 'create'},
            'log': None,
            'fees': 450,
            'fees_split': None,
            'customer': {'id': 47948280, 'first_name': 'Gbenga', 'last_name': 'Adeyi', 'email': 'coyotedevmail@gmail.com', 'phone': '', 'metadata': None, 'customer_code': 'CUS_73cb3biedlkbe4a', 'risk_action': 'default'},
            'authorization': {
                'authorization_code': 'AUTH_w1renosr9o',
                'bin': '408408',
                'last4': '4081',
                'exp_month': '12',
                'exp_year': '2030',
                'channel': 'card',
                'card_type': 'visa ',
                'bank': 'TEST BANK',
                'country_code': 'NG',
                'brand': 'visa',
                'reusable': True,
                'signature': 'SIG_JOdryeujwrsZryg0Lkrg',
                'account_name': None
            },
            'plan': {},
            'split': {},
            'subaccount': {},
            'order_id': None,
            'paidAt': '2024-05-11T10:00:29.000Z',
            'createdAt': '2024-05-11T10:00:27.000Z',
            'requested_amount': 30000,
            'source': {'source': 'merchant_api', 'type': 'api', 'identifier': None, 'entry_point': 'charge'},
            'connect': None,
            'pos_transaction_data': None
        }
    ]
)

By default, the results you get from the cli is a Response object which is a NamedTuple returned by Pypaystack2. To get a json result, use the --data-only flag.

paystack txn get-txns --pagination 1 --data-only

Running the command above should yield a result similar to the dump shown below

[{"id": 3785557723, "domain": "test", "status": "success", "reference": "2769088ddc23d52947c8e845f6a6bbdebd987f457e97f71c", "amount": 30000, "message": null, "gateway_response": "Approved", "paid_at": "2024-05-11T10:00:29.000Z", "created_at": 
"2024-05-11T10:00:27.000Z", "channel": "card", "currency": "NGN", "ip_address": null, "metadata": {"invoice_action": "create"}, "log": null, "fees": 450, "fees_split": null, "customer": {"id": 47948280, "first_name": "John", "last_name": "Doe", "email": 
"johndoe@example.com", "phone": "", "metadata": null, "customer_code": "CUS_73cb3biedlkbe4a", "risk_action": "default"}, "authorization": {"authorization_code": "AUTH_w1renosr9o", "bin": "408408", "last4": "4081", "exp_month": "12", "exp_year": "2030", 
"channel": "card", "card_type": "visa ", "bank": "TEST BANK", "country_code": "NG", "brand": "visa", "reusable": true, "signature": "SIG_JOdryeujwrsZryg0Lkrg", "account_name": null}, "plan": {}, "split": {}, "subaccount": {}, "order_id": null, "paidAt": 
"2024-05-11T10:00:29.000Z", "createdAt": "2024-05-11T10:00:27.000Z", "requested_amount": 30000, "source": {"source": "merchant_api", "type": "api", "identifier": null, "entry_point": "charge"}, "connect": null, "pos_transaction_data": null}]

Source code

https://github.com/gray-adeyi/paystack-cli

Videos

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

paystack_cli-0.2.0.tar.gz (131.6 kB view details)

Uploaded Source

Built Distribution

paystack_cli-0.2.0-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file paystack_cli-0.2.0.tar.gz.

File metadata

  • Download URL: paystack_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 131.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.2

File hashes

Hashes for paystack_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 33ee35d12aa65bf36bcd159e6f07f508c72ff8884c2111325e061ec9f121c796
MD5 f66aca39c3d2d2813cb2dc9c7af2de01
BLAKE2b-256 02c9679dae998a8da63f0145d47ee3b8ee47d86722b4e35cfcd8f0d87a0a83a9

See more details on using hashes here.

File details

Details for the file paystack_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: paystack_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 26.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.2

File hashes

Hashes for paystack_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dba198d3314e00b6b8e0ff3aa1b9595bed2adfa96b63bf99353f0d59ed44314a
MD5 8cbae2a61e34261e4cb76969b01388dc
BLAKE2b-256 b734b327f52be11c86e650bb38f068b2dca041bcce089b79e5d9722a7ec14b8d

See more details on using hashes here.

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