Getting Started
Transactions
Information
Create PayOut allows you to initiate a withdrawal from a merchant wallet to a user.
When a user initiates a deposit with his Luxon account, we send you their walletID (also called recipientWallet parameter) on webhook.
The way to obtain the walletID from our API is when a user performs a deposit.
It’s important that the WalletID remains hidden from users within both your and Luxon’s interfaces. It’s exclusively for backend communication between you and Luxon.
If an indication of this string is needed after all in some cases (although it is not recommended), the display needs to be masked.
The walletID value can be provided by Luxon for a user upon demand in case it is needed for support needs.
This identifier (recipientWallet) should be saved once a user has made his first deposit since it is used to initiate a PAYOUT request using this endpoint.
POST
.../api/v1/merchant/payout
Name | Type | Description |
merchantTransactionId | String | A Unique ID to identify the transaction. |
merchantUserId | String | A unique ID to identify the user. |
recipientWallet | String | The wallet address of the user to whom the PayOut is being sent. |
comment | String | A text comment that accompanies the withdrawal (visible to the user and merchant). |
amount | Integer | A positive integer in cents represents how much the user wishes to withdraw.
e.g. 100 EUR would be 10000 / 50 USD would be 5000 |
currency | String | The ISO 3 letter currency code in lowercase, see the supported currency list for details. |
brand | String | An optional string that can be used to send identifying information for the merchant to allow grouping of transactions. |
{
"merchantTransactionId": "string",
"merchantUserId": "string",
"recipientWallet": "string",
"comment": "string",
"amount": number,
"currency": "String",
"brand": "string"
}
Name | Type | Description |
transactionId | String | A unique Luxon transaction identifier that can be used as a reference in other API calls. |
fee | Integer | The fee charged to the merchant for this transaction in EUR cents. |
status | String | A status object with the results of the call. |
{
"transactionId": "string",
"fee": number
"status": {
"code": "string",
"message": "string"
}
}
Notes:
If ‚recipientWallet‘ is provided, it is checked whether it is valid. If it is not valid, the phone number will be used instead. Otherwise (meaning if ‚recipientWallet‘ is not provided), the email will be used.
You can also use recipientWallet and email as parameters on the same request, but in this case, the recipientWallet will be checked, not the email.
If a user’s status is anything other than ‚ACTIVE‘ (such as ONBOARDING or BLOCKED), their payout attempts will trigger an ‚invalid.user.status‘ error.