Allows a merchant to initiate a deposit of funds from a user with an additional step that requires the merchant to confirm the transaction after receiving information about the user’s account on Luxon.

This allows merchants to link a Luxon account to one user and to check the KYC information of a Luxon user.

To activate two step transactions a ConfirmationCallbackURL must be provided to Luxon through the onboarding team.

Parameters


merchantTransactionId

A Unique ID to identify the transaction.


merchantUserId

A unique ID to identify the user.


redirectUrl

The URL we redirect the customer to after the payment is completed.


comment

A text comment that accompanies the deposit (visible to the user and merchant).


amount

A positive integer in cents representing how much the user wishes to deposit.
e.g. 100 EUR would be 10000 / 50 USD would be 5000


currency

The ISO 3 letter currency code in lowercase, see the supported currency list for details.


brand

An optional string that can be used to send identifying information for the merchant to allow grouping of transactions.


useBrand

An optional boolean that will replace the merchant name registered with Luxon with text sent in the brand field in the user payment confirmation screen.


 

Request Post .../api/v1/merchant/payment

{
"merchantTransactionId": "string",
"merchantUserId": "string",
"redirectUrl": "string",
"comment": "string",
"amount": number,
"currency": "String",
"brand": "string",
"useBrand": Boolean
}

Returns


transactionId

A unique Luxon transaction identifier that can be used as a reference in other API calls.


transactionUrl

The URL a user should be redirected to so they can authorise the payment.


status

A status object with the results of the call


 

Response

{
"transactionId": "string",
"transactionUrl": "string",
"status": {
"code": "string", "message": "string"
}
}

Webhook sent to the confirmationCallbackUrl


transactionId

A unique Luxon transaction identifier that can be used as a reference in other API calls.


merchantUserId

A unique ID to identify the user.


userWallet

A unique ID that represents the users wallet.


date

The date and time the transaction was created in ISO8601 format.


comment

The comment field attached to the transaction.


amount

A positive integer in cents representing the value of the transaction.


type

The Type of transaction (“MERCHANT_PAYOUT” “MERCHANT_PAYIN” “MERCHANT_REFUND”).


fee

The fee chargeable to the merchant for this transaction in EUR cents.


status

A status object with the status of the transaction.


firstName

The first name of the user making the deposit.


lastName

The last name of the user making the deposit.


dateOfBirth

The date of birth of the user in ISO8601 format.


phone

The mobile phone number of the user.


email

The email address of the user.


address

The registered address of the user.


country

The 3-letter country of the user in ISO 3166 format.


 

Response

{
"transactionId": "string",
"merchantTransactionId": "string",
"merchantUserId": "string",
"userWallet": "string",
"date": "string",
"comment": "string",
"amount": number,
"type": "string",
"fee": number,
"status": {
"code": "string",
"message": "string"
},
"user": {
“firstName": "string",
"lastName": "string",
"dateOfBirth": "string",
"phone": "string",
"email": "string",
"address": "string",
"country": "string"
}
}

Notes

The response to the first request will be in a state of ‘PENDING’ until a response is received to the webhook sent to the confirmationCallbackUrl.

If PROCEED is returned, authentication is processed as usual. If DECLINE is returned, authentication has FAILED. Other action values will result in an error.

Please refer to the webhook page here for details on how to retrieve a transaction status.

Expected Response

{
"action": "PROCEED|DECLINE"
}