get https://api.testwyre.com/v2/paymentMethods
Retrieve all payment methods owned by the current account
This is a paginated endpoint, pagination parameters are defined as follows:
position
: current page.recordsTotal
: amount of total records (for all pages).recordsFiltered
: records on this page.
The limit
and offset
are query string parameters that can be used to navigate in the pages.
curl --request GET \
--url https://api.testwyre.com/v2/paymentMethods \
--header 'Accept: application/json'
'''
This is a Python 3.7 Module that lists all the payment methods in
the test environment
'''
import requests
import time
import os
import urllib.parse
import hashlib
import hmac
import json
class WyreApi:
API_KEY = os.getenv("WYRE_APIKEY")
SEC_KEY = os.getenv("WYRE_TOKEN")
API_URL = "https://api.testwyre.com"
API_VER2 = "/v2"
API_GET_ALL_PAYMENT_METHODS = "/paymentMethods"
def calc_auth_sig_hash(self, url_body):
# calculates a signature per Wyre API:
# https://docs.sendwyre.com/docs/authentication#secret-key-signature-auth
message, secret = bytes(
url_body, 'utf-8'), bytes(WyreApi.SEC_KEY, 'utf-8')
newhash = hmac.new(secret, message, hashlib.sha256)
return newhash.hexdigest()
def calcTimeStamp(self):
# creates a timestamp to the millisecond
return str(round(time.time() * 1000))
def getAllPaymentMethods(self):
'''
Get a payment method
GET https://api.testwyre.com/v2/paymentMethods
'''
params = {
"timestamp": self.calcTimeStamp()
}
url = WyreApi.API_URL + WyreApi.API_VER2 + WyreApi.API_GET_ALL_PAYMENT_METHODS \
+ "?" + urllib.parse.urlencode(params, encoding="utf-8")
headers = {
"X-API-Key": WyreApi.API_KEY,
"X-API-Signature": self.calc_auth_sig_hash(url)
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
return json.loads(response.text)
else:
print(response)
print(response.text)
if __name__ == "__main__":
# initialize a Wyre Object
wyre = WyreApi()
# Get all payment methods
payments = wyre.getAllPaymentMethods()
if payments:
print(payments)