- 18 Jan 2024
- 3 Minutes to read
- Print
- DarkLight
Managed User Account Creation and Login
- Updated on 18 Jan 2024
- 3 Minutes to read
- Print
- DarkLight
We offer an Evolve portal for the merchants to complete the onboarding forms, view their transactions and remittances, create payment links (Digital Payment Requests) and manage their merchant account.
Access to the Evolve Portal is done by creating a User account that the merchant will use to log in. Each User account should be for a specific person and should not be shared.
With this option, the software provider will create the user account, and log the user into the Evolve Portal to complete their onboarding application. This process assumes the user has been authenticated via a secure area of the software provider's system and logged in.
Pre-requisites
You must have already created a merchant.
Managed Login Type
The ISV is responsible for authenticating and logging this type of User into the Evolve portal.
The ISV will need to send a Login Request every time the User wants to access the Evolve portal.
Creating Managed Login user
As you are not sending an invitation you should either not use the invitation query parameter, or use invitation=false (Create User Account)
curl --location 'https://api.test.pay360evolve.com/demo/pf-api-gateway/apiGateway/user-account/user-account/userAccounts?invitation=false' \
--header 'Content-Type: application/json' \
--header 'API_KEY: <API Key>' \
--data-raw '{
"email": "managedtest@test.com",
"email": "managedtest@test.com",
"firstName": "Managed",
"lastName": "Test User",
"name": "Managed Test User",
"authorities": [
{
"scope": "10000000/10000001",
"roles": [ " MERCHANT_ADMIN_PARTNER_LOGIN" ]
}
],
"idp": "10000000"
}'
Field | Value |
This should be the email of the User | |
name | This should be the name of the User. Please note that once the API changes are implemented this will be populated by concatenating firstName and lastName. Until then you should continue to populate it with the User’s full name |
firstName | This should be the User’s first name. Please note that this will be a mandatory field for new Users, but until the API changes are implemented this field will be ignored by the Evolve API. |
lastName | This should be the User’s last name. Please note that this will be a mandatory field for new Users, but until the API changes are implemented this field will be ignored by the Evolve API. |
scope | This determines which Merchant the User account is linked to and should be <ISV ID>/<Merchant ID> |
roles | This should be MERCHANT_ADMIN_PARTNER_LOGIN |
idp | This indicates which system will authenticate the user. For Managed Login Users it must be your ISV ID. |
externalUserId | DO NOT USE. This field is to be depreciated. |
Please note: this document has been updated to take account of coming changes to the User APIs. All changes are highlighted in green.
Logging in the User
Every time the User wants to log into the Evolve Portal the ISV will need to send a Managed Login request (ISV Managed Merchant Login without SSO).
curl --location 'https://api.test.pay360evolve.com/demo/pf-api-gateway/apiGateway/auth/auth/api/v1/isv-users/login' \
--header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'API_KEY: <API Key>' \
--data-urlencode 'idp=10000000' \
--data-urlencode 'redirectLogoutUrl=https://test.com' \
--data-urlencode 'loginAs=managedtest@test.com'
Field | Value |
idp | This indicates which system will authenticate the user. For Managed Login Users it must be your ISV ID. |
redirectLogoutUrl | This is where the User will be directed to when they log out |
loginAs | This should be the email of the User |
externalUserId | DO NOT USE. This field is to be depreciated. |
This will return a URL encoded string. E.g.
{
"content": "<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head> <meta charset="UTF-8"> <title>Login</title> <script type="text/javascript"> window.onload = function() { document.forms["autoLoginForm"].submit(); } </script></head><body> Logging in, please wait.... <form method="post" action="https://portal.test.pay360evolve.com/demo/pf-api-gateway/apiGateway/auth/auth/api/v1/isv-users/login-token" id="autoLoginForm"> <input type="hidden" name="token" value="eyJraWQiOiIxIiwiYWxnIjoiRVMzODQifQ.eyJyZWRpcmVjdExvZ2luVXJsIjoiaHR0cHM6Ly9wb3J0YWwudGVzdC5wYXkzNjBldm9sdmUuY29tL2RlbW8vbXAtZmUtcG9ydGFsLyIsImlkcCI6IjExMDEzMjQ1IiwicmVkaXJlY3RMb2dvdXRVcmwiOiJodHRwczovL2dvb2dsZS5jb20iLCJ0b2tlblR5cGUiOiJsb2dpbiIsInN1YiI6IjExMDEzMjQ1OnRlc3RAdGVzdC5jb20iLCJleHAiOjE3MDU0OTIzMTd9.Wv0feaJW_fzXvtYJ0F40ApzgiDc27RHw_adsCHsU7t-jNocawR4SH8ayBuEsi4fpsNC_paYDUr-6O-OnNaQ23fR2nxsOo5QagcgS0TJgagfXdFT_Kg9khI6izTF644VU"> </form></body></html>"
}
This should be decoded and provided as a response back to the User, which will log them into the Evolve portal.