GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - thepeerstack/python-sdk: official python sdk for interacting with thepeer payment processing infrastructure

BranchesTags
Open more actions menu

Latest commit

 

History

48 Commits
48 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
tests
tests
 
 
thepeer
thepeer
 
 
.gitignore
.gitignore
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
MANIFEST.in
MANIFEST.in
 
 
README.md
README.md
 
 
pyproject.toml
pyproject.toml
 
 
requirements.txt
requirements.txt
 
 
run_tests.sh
run_tests.sh
 
 
setup.cfg
setup.cfg
 
 
setup.py
setup.py
 
 

Repository files navigation

Thepeer python-sdk

example workflow PyPI - Downloads PyPI - License PyPI Codecov

Thepeer's official python sdk for developers to use in their python projects.

  • To start using this sdk, create an account at https://thepeer.co/ if you haven't already.
  • You can then retrieve your API keys from your dashboard

Installation

To install this sdk, run the command:

pip install pythepeer

Usage

Instantiate Thepeer class like so:

from thepeer import Thepeer

# create an instance of Thepeer class

thepeer_instance = Thepeer("YOUR_API_KEY_HERE")

Available methods exposed by the sdk

Note:

  • For more info about the exposed methods, please refer to the general documentation
  • Be sure to keep your API Credentials securely in environment variables

Indexing a user

This method describes how to index a user on your account (this is usually the first step before using other methods)

test = thepeer_instance.index_user("Osagie Iyayi", "[email protected]", "[email protected]")

Parameters supported

Parameters Data type Required Description
name string true The name of user to be indexed.
identifier string true the identifier of the account(either email or username).
email string true the email of the user

Validating a HMAC signature

This method validates incoming an hmac signature with the payload and credentials that was passed with it

Pro Tip: it is used to verify that an incoming webhook event/response is coming from thepeer's servers

test = thepeer_instance.validate_signature(data,signature)

Parameters supported

Parameters Data type Required Description
data dictionary true the payload containing the data to be authenticated
signature string true The HMAC signature

Get an indexed user

This method gets the information of an indexed user

test = thepeer_instance.view_user("3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd")

Parameters supported

Parameters Data type Required Description
reference string true the unique reference returned when the user was indexed

Get all indexed users

This method returns all indexed users for a specific account

test = thepeer_instance.all_users(1,15)

Parameters supported

Parameters Data type Required Description
page integer false the first page displaying all the indexed users. defaults to 1
per_page integer false The number of users to display per page. defaults to 15

Update an indexed user

This method helps to update the details of an indexed user

test = thepeer_instance.update_user(reference,**data)

Parameters supported

Parameters Data type Required Description
reference string true the unique reference returned when the user was indexed
data Any true A keyword argument which contains on or more of the indexed user's email, name or identifier

Sample

test = thepeer_instance.update_user("3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd", identifier="[email protected]",
    name="Edmond Kirsch",
    email="[email protected]")

Remove an indexed user

This method helps to remove the details of an indexed user from a specific account

test = thepeer_instance.delete_user("3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd")

Parameters supported

Parameters Data type Required Description
reference string true the unique reference returned when the user was indexed

Get Businesses

This method returns businesses based on the API they integrated.

test = thepeer_instance.get_businesses("checkout")

Parameters supported

Parameters Data type Required Description
channel string true The specific API to return businesses of. supported values are send, checkout, and direct_charge

Generate a Checkout

This method allows you to generate a link for your customer to make a one-time payment with

test = thepeer_instance.generate_checkout({
    "amount": 1000000,
    "currency": "NGN",
    "redirect_url": "https://esportfolio.netlify.app",
    "email": "[email protected]",
    "meta":{
        "name": "Eddie Kirsch",
        "identifier": "eddiekirsch",
    }
})

Parameters required

Parameters Data type Required Description
redirect_url string false The url Thepeer should redirect to after the customer completes payment.
amount integer true The amount you are debiting the customer. This should be in kobo. The minimum value is 10000
email string true The customer’s email address
currency string true The currency the transaction should be carried out in. The supported value is NGN.
meta dictionary false An object containing additional attributes you will like to have in your transaction response.

Get user links

This method returns all linked accounts of a user, the user’s account details, as well as the business the account is on.

test = thepeer_instance.get_user_links("3bbb0fbf-82fa-48a0-80eb-d2c0338fe7dd")

Parameters required

Parameters Data type Required Description
reference string true the unique reference returned when the user was indexed

Get single link (linked account)

This method returns a user's linked account's details.

test = thepeer_instance.get_single_link("da14a90c-61c2-4cf7-a837-e3112a2d0c3d")

Parameters required

Parameters Data type Required Description
link_id string true The link’s identifier

Charge a link

This method allows a business to charge a user via their linked account

test = thepeer_instance.charge_link(link_id, amount, remark, currency)

Parameters required

Parameters Data type Required Description
link_id string true The link’s identifier
amount integer true the amount of the whole transaction
remark string true short detail about the transaction
currency string false The denomination medium of paying (either one of NGN and USD). defaults to NGN

Authorize charge

This method allows a business to authorize a direct charge request made by a user

test = thepeer_instance.authorize_charge(charge_reference, event)

Parameters required

Parameters Data type Required Description
charge_reference string true the reference associated to a pending charge request
event string true the type of webhook event

Pro Tip: the various types of webhook events are available here

Get transaction detail

This method gets the details of a transaction

test = thepeer_instance.get_transaction_detail("eda58ee3-4f2c-4aa4-9da7-10a2b8ced453")

Parameters required

Parameters Data type Required Description
transaction_id string true the unique transaction identifier

Refund transaction

This method allows a business to refund a transaction back to the user for obvious reasons

test = thepeer_instance.refund_transaction("28e52edf-16d9-4921-8a54-ef34d7029707", "possible threat actor"):

Parameters required

Parameters Data type Required Description
transaction_id string true the unique transaction identifier
reason string false a short sentence explaining reasons for the refund

About

official python sdk for interacting with thepeer payment processing infrastructure

pypi.org/project/pythepeer/

Topics

fintechhacktoberfestpythonsdk

Resources

Readme
Activity
Custom properties

Stars

10 stars

Watchers

2 watching

Forks

3 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.