Step 4 - Create a Transaction
Create a Transaction
Now that you have linked a bank account from your user, you will be able to create a transaction, which moves funds from your user's linked bank account to your merchant account.
This step will go over how to create a payout transaction.
Create a Transaction Workflow
You will need to retrieve the user to check for their linked bank account. Refer to the previous step to learn more.
Create the Standard Transaction
HTTP request
Sandbox - POST https://staging-api.aeropay.com/transaction
Production - POST https://api.aeropay.com/transaction
Request parameters
Parameter | Required? | Type | Description |
---|---|---|---|
amount | Yes | String | Amount of money. Maximum limit: Default setting for configured in merchant portal or as defined in your Aeropay agreement. Minimum limit: $0.01. |
bankAccountId | no | String | BankAccountId of user. Defaults to user's selected bank |
uuid | no | String | This unique uuid value will be associated with the transaction, and can be used to associate Aeropay transactions with your own system. Required for X-AP-Version: 2023-06-05. Please note, you must generate the UUID according to the standard methods (ISO/IEC 9834-8) |
Code Example - Request
curl --request POST \
--url https://staging-api.aeropay.com/transaction \
--header 'Content-Type: application/json' \
--header 'X-AP-Version: 2023-06-05' \
--header 'accept: application/json' \
--header 'authorizationToken: Bearer {{token}}' \
--data '
{
"attributes": {
"tip": {
"selection": {
"tipAmount": "1.00",
"label": "$1.00",
"totalAmount": "11.00"
}
}
},
"amount": "10.00",
"merchantId": "12345",
"uuid": "transaction-UUID-in-v4-format"
}
'
New transaction version!
As of 2023, we have added a new transaction version X-AP-Version: 2023-06-05 which is recommended for all clients to ensure the fastest and most efficient transaction creation.
Transaction UUIDs
Transaction uuids are used to associate Aeropay transactions with your own system, and must be unique to every transaction. Any transactions sent with duplicated uuids will be blocked by our system.
HTTP status and error codes
HTTP Status | Error Code | Meaning | Resolution | Message |
---|---|---|---|---|
200 | AP110: Missing user info | User is missing required info to transact | Verify user has valid first and last names, email and phone number | "Unable to complete transaction due to incomplete user profile." |
200 | AP109: User is disabled | The user either has an outstanding declined transaction or they were flagged during Aeropay’s identity screening. Refer to user.userStatus for more info | The user should email [email protected] if they’ve made payments. If they are a new user, they should contact [email protected] | "Sorry, your account is suspended. Please reach out to [email protected] to resolve the issue." |
200 | AP300: Bank Connection Error | The balance refresh of this user’s account failed. This is usually caused by the user resetting their banking password or security settings within online banking. Balances will also become stale within 6-12 months | This is called a UAR (User-Action Required) error where the user must reconnect their account or contact Aeropay where we will assess if we can override their balance check. | "We are having issues connecting to your bank. Reconnect your bank or reach out to [email protected] to resolve the issue." |
200 | AP302: Insufficient Funds | The user’s current balance does not meet the transaction amount. Pending transactions in the user’s account may be attributing to the balance they think they have. | The user must deposit additional funds into their connected account. (This may take 1-2 business days to be reflected) | "Available balance does not meet requirement - contact [email protected] for more information." |
200 | AP305: User is disabled | Specific to /payoutTransaction: The user either has an outstanding declined transaction. Refer to user.userStatus for more info | The user should email [email protected] if they’ve made payments. If they are a new user, they should contact [email protected] | "Account disabled. Contact [email protected] to resolve the issue." |
200 | AP307: Transaction Not Approved | Aeropay’s machine learning model did not approve the transaction after assessing its likelihood to decline. | The user may contact the Aeropay Team for a possible override at [email protected] | "Your payment was not approved by our monitoring system. Please try a different amount, connecting a different bank account, or contact [email protected] for more information." |
200 | AP400: User missing bank account | User has no banks connected and cannot transact | Connect a bank account for user | "No bank account for provided user id." |
200 | AP401: Invalid bank account id | Bank account id does not belong to user attempting to transact | Provide valid bankAccountId or remove bankAccountId param and transaction will use user's default bank account | "Bank account does not belong to user." |
200 | AP412: Bank account removed | Bank account has been removed from users account | Provide valid bankAccountId or remove bankAccountId param and transaction will use user's default bank account | "Bank account has already been removed" |
Updated 3 months ago