Zenkipay Token
Zenkipay API is designed on REST, so you will find that the URLs are resource-oriented. In addition HTTP response codes are used to indicate API errors.
It is necessary to have a Zenki account, otherwise it will be necessary to register the merchant at zenki.fi . The Zenki account must be enrolled in the Zenkipay product and have at least one successful test payment.
Successful Zenkipay API requests require the following:
HTTP authorization using the Bearer Token scheme.
Access credentials for Zenkipay API.
Generate access credentials
To generate access credentials we go to the Zenkipay menu under Settings -> Security , here in the Zenkipay Access Credentials section we click on the “Generate” button.
As a result we will get the necessary credentials to make Zenkipay API requests.
As a first step it is necessary to consume the authentication EndPoint to obtain the Bearer Token and thus be able to consume the Zenkipay API services. At this point is when we will use the Zenkipay API access credentials we obtained earlier.
💡 For the token generation request, the access key is the username and the secret key is the equivalent of the password.
username (Access key): 8dc469a1de4b42759c07c4f2bd6c03f4
password (Secret key): F7E85E907A0DD5FC4B6D6D9E0EE6B0E147BD901ADF66AC24
ENDPOINT
POST https://api.zenki.fi/auth/
Headers
Accept : application/json
Content-Type : application/x-www-form-urlencoded
Body [urlencoded]
client_id : zenkipay-api (string )
username : 8dc469a1de4b42759c07c4f2bd6c03f4 (string | required )
password : F7E85E907A0DD5FC4B6D6D9E0EE6B0E147BD901ADF66AC24 (string | required )
grant_type : password (string )
Response attributes
access_token : (string)
expires_in : (number)
refresh_expires_in : (string)
token_type : (number)
not-before-policy : (number)
session_state : 1 (number)
scope : (string)
1
2
3
4
5
6
7
8
curl --request POST \
--url https://api.zenki.fi/auth/ \
--header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data client_id = zenkipay-api \
--data grant_type = password \
--data username = 8dc469a1de4b42759c07c4f2bd6c03f4 \
--data password = F7E85E907A0DD5FC4B6D6D9E0EE6B0E147BD901ADF66AC24.
1
2
3
4
5
6
7
8
9
10
{
"access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIwenJMTnEwbzBab1R4NTlaeWVPaTI1RGxZLWl6cV91SVFSLThWS0RaWjlFIn0.eyJleHAiOjE2NjE3ODEyMzcsImlhdCI6MTY2MTc3OTQzNywianRpIjoiMjRmNDI4YWItMTdjNy00MjUxLTg2YzMtOTUxZTQ1ZTMyMmUzIiwiaXNzIjoiaHR0cHM6Ly9kZXYtYXV0aC56ZW5raS5maS9hdXRoL3JlYWxtcy9wYnciLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiZWQ3ZWQ1ZmMtZjBmNy00OWEwLWEwNWYtNWNiZTFkMjZkYTlkIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiemVua2ktcGF5Iiwic2Vzc2lvbl9zdGF0ZSI6IjM1NWFmMTgzLTg3MTgtNDRmYS1hZTA3LTVlMWMxOWQ3ZDkwNSIsImFjciI6IjEiLCJhbGxvd2VkLW9yaWdpbnMiOlsiIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJhcGkiLCJhcGlfemVua2lwYXkiLCJkZWZhdWx0LXJvbGVzLW1ldGFiYW4iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJzaWQiOiIzNTVhZjE4My04NzE4LTQ0ZmEtYWUwNy01ZTFjMTlkN2Q5MDUiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibmFtZSI6IlJlYWwgTWFkcmlkIEZDIFJlYWwgTWFkcmlkIEZDIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiOGRjNDY5YTFkZTRiNDI3NTljMDdjNGYyYmQ2YzAzZjQiLCJnaXZlbl9uYW1lIjoiUmVhbCBNYWRyaWQgRkMiLCJsb2NhbGUiOiJlbiIsImZhbWlseV9uYW1lIjoiUmVhbCBNYWRyaWQgRkMiLCJlbWFpbCI6IjhkYzQ2OWExZGU0YjQyNzU5YzA3YzRmMmJkNmMwM2Y0In0.fFWp1vCaHTbdBO-jBqDhhtIaDOve4fnIlIPfoYLRZDAKfvuFjyYrShdRADS7fGgXdqPBDDElil551FmhnerGz5K5pvMIPDlnZqpVu2EJbqy3ueEM6fQVrFUWPCw5B6jczPqugAoK73VkURvNA22X9vUIUBYAT9snLeJNFW1duMF3JIm3V7oJK_zFBsNs_YH0DA7Zn1j1LFEm5fqcsUXxTLY_A7Jw1CMIkX3EookiC-xayCACynbE2USnAddmxWCWRv0ZblbmscKYoKWvA9Kra1UoOEyRknzMq2JQ9-Sco2mnK6Bagg7FvORF5JpBQ-IIxJqkZdoP2_HH2VhBEyQ0Og" ,
"expires_in" : 1800 ,
"refresh_expires_in" : 3600 ,
"refresh_token" : "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJkN2U1ZDMzYy00ZGExLTQ4ZWUtYTJhMi02ZjhlNjg2NTcxNzcifQ.eyJleHAiOjE2NjE3ODMwMzcsImlhdCI6MTY2MTc3OTQzNywianRpIjoiNjM0MDMyZjgtNjZlMC00ZjJkLTg1ZTMtMmJiYTc4MzBmMTNhIiwiaXNzIjoiaHR0cHM6Ly9kZXYtYXV0aC56ZW5raS5maS9hdXRoL3JlYWxtcy9wYnciLCJhdWQiOiJodHRwczovL2Rldi1hdXRoLnplbmtpLmZpL2F1dGgvcmVhbG1zL3BidyIsInN1YiI6ImVkN2VkNWZjLWYwZjctNDlhMC1hMDVmLTVjYmUxZDI2ZGE5ZCIsInR5cCI6IlJlZnJlc2giLCJhenAiOiJ6ZW5raS1wYXkiLCJzZXNzaW9uX3N0YXRlIjoiMzU1YWYxODMtODcxOC00NGZhLWFlMDctNWUxYzE5ZDdkOTA1Iiwic2NvcGUiOiJwcm9maWxlIGVtYWlsIiwic2lkIjoiMzU1YWYxODMtODcxOC00NGZhLWFlMDctNWUxYzE5ZDdkOTA1In0.MstH5TJjR99Bu7SkCnXXYasfNGHolUv7UdYBrx6Cujk" ,
"token_type" : "Bearer" ,
"not-before-policy" : 1646418979 ,
"session_state" : "355af183-8718-44fa-ae07-5e1c19d7d905" ,
"scope" : "profile email"
}
Code
Description
json
401
The request has not been executed because it lacks valid authentication credentials for the requested resource.
{ “error”: “invalid_request”, “error_description”: “Missing parameter: username” }