Returning User
A returning user is an Aeropay user that has previously used your platform and whose Aeropay userId you have stored in your database.
Step 1 - Generate the userForMerchant Token
The POST /token
endpoint is used to authenticate API integrators for every Aeropay endpoint. The token scope determines who is acting on the system: merchant, user, or userForMerchant (white labeled user). The scope will determine what endpoints are available.
All tokens have a time to live (TTL) of 30 minutes.
HTTP request
Sandbox - POST https://staging-api.aeropay.com/token
Production - POST https://api.aeropay.com/token
Request parameters
Parameter | Required? | Type | Description |
---|---|---|---|
api_key | Yes | String | API Key or user email |
api_secret | Yes | String | API Secret or user password |
scope | Yes | String | Type of token requested |
id | Only for merchant & userForMerchant scope | String | Merchant Id |
userId | Only for userForMerchant scope | String | Id of user |
HTTP status and error codes
HTTP status | Error Code | Meaning | Resolution | Message |
---|---|---|---|---|
200 | AP002 | API credentials are invalid | Confirm correct api key, api secret, and environment | Invalid API key or secret key |
200 | AP700 | Missing request parameter | Add missing parameter | Missing required Parameter: 'userId' |
Code Example - Request
curl --request POST \
--url https://staging-api.aeropay.com/token \
--header 'Content-Type: application/json' \
--header 'accept: application/json' \
--data '
{
"scope": "merchant",
"api_key": "api-key-ab1341-asdflk3",
"api_secret": "api-secret-ab1341-asdflk3",
"id": "1456",
"userId": 123456
}
'
Code Example - Response
{
"TTL": 1800,
"token": "eyJ0eXAiOiJKN7YiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoIjoiNDgiLCJzdWIiOiJtZXJjaGFudCIsImp0aSI6ImZhNGY2NzRmLTJkOTEtNGExNS05OTk3LTc1NWI2ZTYyZDhkYiIsImV4cCI6MTY5NDAzNTc2MSwidXNlcm5hbWUiOiJ1cy1lYXN0LTE6M2NlMjBiZDUtNzg03ZCRMjY5LWExM2UtZmM1MzIyMTk0NTAxIn0.3B1sdyVNpTW644RtpoGmQnRlp9PKGjrk91YUi0Uq2Os"
}
Retrieve the User Details
Aeropay recommends saving the userId and demographic information in your own database, but the user's actively-linked bank accounts must be fetched before making a transaction. The GET /user
API can be used to fetch all relevant user information by searching on the user's Aeropay userid.
HTTP request
Sandbox - GET https://staging-api.aeropay.com/user
Production - GET https://api.aeropay.com/user
Request parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | Yes | String | The User's Aeropay userid |
Code Example - Request
curl --request GET \
--url https://staging-api.aeropay.com/user \
--header 'Content-Type: application/json' \
--header 'accept: application/json' \
--header 'authorizationToken: Bearer {{user or userForMerchant token}}'
Code Example - Response
{
"success": 1,
"user": {
"userId": "1234",
"firstName": "John",
"lastName": "Doe",
"type": "consumer",
"email": "johndoe@gmail.com",
"phone": "+13144949063",
"createdDate": "1605113011",
"bankAccounts": [
{
"bankAccountId": "123456",
"userId": "1234",
"bankName": "Chase Bank",
"accountLast4": "1222",
"name": "Checking - 1222",
"externalBankAccountId": "",
"isSelected": "1",
"accountType": "checking",
"status": "verified",
"createdDate": "1692715066"
}
],
"createdDate": "1716312178",
"aeroPassUserUuid": "0f2542a4-8e60-4a72-b3a1-064f2d6943e8",
"userStatus": "Active"
}
}
Updated about 23 hours ago