The Veem Python SDK provides an interface to make it easier to call Veem Global Payments APIs.
- Latest SDK Version:
3.0.0 - Latest supported API Endpoint Version:
v1.1
- The SDK works on Python 2.7, Python 3.4 and beyond.
- A developer account
- An application with a customer account and the associated client id and secret (Authorization flow / Client Credentials flow)
- pypi install with command:
pip install veem - Import the package to your python
Or
- Clone the GitHub repo to your computer.
- Run installation with command
python setup.py install - Import the package to your python script
Veem Python SDK utilize configuration YAML file to manage your SDK credential. Here is the sample content:
client_id: VeemTester-1234abcd
client_secret: 8djduf8e-d798-3534-afe3-123sdc3r4fe
url: https://sandbox-api.veem.com/
authorizationCode: VeemAbckeieifh
redirectUrl: http://your-veem-redirct.yourbusiness.com
To test the code locally, follow the steps below:
- cd to the project directory
- Client can either integrate with Authorization flow or Client Credential Flow;
- For Authorization flow, fill in the
clientId,clientSecret,authorizationCode, andredirectUrl(optional) in your configuration yaml. - For Client Credentials flow, fill in the
clientId, andclientSecretin your configuration yaml. - To exercise all Veem Global Payment APIs, fill access_token received from either step 3 or 4 to your configuration yaml.
- Save the configuration yaml to a readable location or passing the content of yaml file as a yaml loadable string.
In order to get the access tokens from the Developer Portal;
Sign In with Veem - Sign into developer Portal .
Create an Application- Create a new application by providing the Name, OAuth2 Redirection URLs and Payment Status Webhooks.
Create a Customer- Create a new customer by providing Business Name, Country and Primary Email
Get Credentials- Go the Application and select the Customer and copy the Access Token.
In order to get the access token programmatically, get the client id, client secrets (Optional redirect url for Authorization flow).
from veem.configuration import ConfigLoader
from veem.client.authentication import AuthenticationClient
# loading SDK configuration from your yaml file
config = ConfigLoader(yaml_file='/path/to/your/configuration.yaml')
# login to Veem server with client credentials
tokenResponse= AuthenticationClient(config).getTokenFromClientCredentials()
The following example is to send invoice using Invoice Client
from veem.client.veem import VeemClient
from veem.client.requests.invoice import InvoiceRequest
# define a VeemClient Context Manager with yaml+file and auto login.
with VeemClient(yaml_file='/path/to/your/configuration.yaml',
useClientCredentials=True) as veem:
# define an InvoiceRequest
invoice = InvoiceRequest(payer=dict(type='Business',
email='username@yourbusiness.com',
firstName='Joe',
lastName='Doe',
businessName='Your Business Inc.',
countryCode='US',
phoneCountryCode='1',
phone='02222222222'),
amount=dict(number=50, currency='USD'))
# create an invoice
sentInvoice = veem.inoviceClient.create(invoice)
More Examples can be found under examples folder