This SDK helps you connect to the Poynt API from your Python apps. You can easily get/create business information, subscribe to webhooks, and send cloud messages to your terminal app.
After you've signed up for a Poynt developer account, check out our API reference or our developer guides!
Install this package:
pip install poynt
You can connect to the Poynt API by passing either a filename or a string containing your PEM-encoded private key you downloaded from Poynt.net.
import poynt
poynt.application_id = 'urn:aid:your-application-id'
poynt.filename = '/path/to/your/key.pem'
or
import poynt
poynt.application_id = 'urn:aid:your-application-id'
poynt.key = '-----BEGIN RSA PRIVATE KEY-----\n.....\n-----END RSA PRIVATE KEY-----'
If you downloaded your API credentials from EU Dev Portal (https://eu.poynt.net) specify the region. This will ensure that the SDK is sending API calls to EU API endpoint (https://services-eu.poynt.net)
poynt.region = 'eu'
Then, make a request signed with your app private key:
business, status_code = poynt.Business.get_business('00000000-0000-0000-0000-000000000000')
if status_code is 200:
# do something with business
else:
# throw an error
We'll handle all the request signing, token refresh, etc. for you!
poynt.CloudMessage.send_cloud_message
poynt.CloudMessage.send_raw_cloud_message
poynt.Hook.get_hooks
poynt.Hook.create_hook
poynt.Hook.get_hook
poynt.Hook.delete_hook
poynt.Business.get_business
poynt.Store.get_store
poynt.Order.get_orders
poynt.Order.get_order
poynt.Transaction.get_transactions
poynt.Transaction.get_transaction
poynt.Customer.get_customers
poynt.Customer.get_customer
poynt.Catalog.get_catalogs
poynt.Catalog.get_catalog
poynt.Catalog.get_full_catalog
poynt.Catalog.create_catalog
poynt.Catalog.create_full_catalog
poynt.Catalog.update_catalog
poynt.Catalog.delete_catalog
poynt.Catalog.get_category
poynt.Catalog.create_category
poynt.Catalog.lookup_categories
poynt.Catalog.delete_category
poynt.Catalog.update_category
poynt.Product.get_products
poynt.Product.get_products_summary
poynt.Product.lookup_products
poynt.Product.get_product
poynt.Product.create_product
poynt.Product.delete_product
poynt.Product.update_product
poynt.Report.get_reports
poynt.Report.create_report
poynt.Tax.get_taxes
poynt.Tax.get_tax
poynt.Tax.create_tax
poynt.Tax.delete_tax
poynt.Tax.update_tax
poynt.BusinessUser.get_business_users
poynt.BusinessUser.get_business_user
poynt.BusinessApplication.get_business_application
poynt.BusinessApplication.get_business_application_status
poynt.BusinessApplication.get_business_account
poynt.BusinessApplication.get_business_orders
poynt.BusinessApplication.get_business_application_profile
HATEOAS pagination using the Poynt API is now available to fetch large numbers of transactions or orders for a business. An example is as follows:
transactions = []
docs, status_code = poynt.Transaction.get_transactions('c00c6ded-ab55-4305-b61e-be7e59e14bdd', start_at='2019-10-14', limit=50)
transactions += docs['transactions']
while len(docs.get('links', [])):
docs, status_code = poynt.Transaction.get_transactions('c00c6ded-ab55-4305-b61e-be7e59e14bdd', link=docs['links'][0]['href'])
transactions += docs['transactions']
print transactions