Product Site | Payment Gateway | Demo Exchange | Bureau de Change
× #message#
×

Warning

API Installation Manual

Introduction

API

LimitlexPAY allows users to interact with trading platform programmatically via HTTP API (view, add and cancel payments as well as check if payment was successful). Service URL:

  • https://pay.limitlex.com/api/v2/
Webhook Notifications

Webhook Notifications URL can be set to notify when payments status changes.


Performing a call

API calls are generated with URL, followed by endpoint URL and request data. Each API call requires:

  • pos_id

For localization you can use locale parameter:

  • locale

Authentication

API calls are authenticated using HTTP Basic access authentication. You can generate your API key in your Account.


Error handling

On error there will be err element in result. Err value contains error description.


API reference

API calls are performed by sending a HTTP request to URL starting with link, followed by endpoint URL and request data.

MethodRequestResponse
GET/GetRate/?pos_id={pos_id}&invoice_currency={invoice_currency}&invoice_amount={invoice_amount}&currency= {currency}&accept_zero_confirmations={accept_zero_confirmations}returns {invoice_amount, invoice_currency, currency, rate, amount_exchange, network_processing_fee, amount, fast_transaction_fee, fast_transaction_fee_currency, wait_time}
GET /StartPayment/?pos_id={pos_id}&invoice_currency={invoice_currency}&invoice_amount={invoice_amount}&currency={currency}&payment_id={payment_id}&reference_no={reference_no}&accept_zero_confirmations={accept_zero_confirmations}returns {payment_id, invoice_amount, invoice_currency, currency, rate, amount_exchange, network_processing_fee, amount, fast_transaction_fee, fast_transaction_fee_currency, wait_time, address, payment_deeplink, payment_deeplink_alt, qr, qr_alt, qr_img, qr_alt_img, access_token, access_url}
GET/CheckPayment/?pos_id={pos_id}&currency={currency} &payment_id={payment_id}&address={address}returns {invoice_amount, invoice_currency, currency, amount, payment, confirmations, min_confirmations, confirmed, wait_time, status}
GET /CancelPayment/?pos_id={pos_id}&currency={currency}&payment_id={payment_id} &address={address}returns {cancelled}
GET/GetCurrencyList/ returns [{currency, description}...]
GET/GetTransactions/?offset= {offset}&limit={limit}returns [{status, pos_id, payment_id, invoice_currency, invoice_amount, currency, amount, address, type,payment, refund, refund_amount_opened, refund_status, invoice_date, inserted, confirmed, cancelled, double_spending_alert, accept_zero_confirmations, item_name, access_token}...]

Replace {text} with request data: (e.g {pos_id} -> 123 , {invoice_currency} -> EUR)

ParameterMeaning
pos_idPoint of service identification number
payment_idUnique payment ID (optional in case of StartPayment)
reference_noReference number for your record (e.g. invoice or order number)
invoice_no-- deprecated --
invoice_currencyCurrency code for FIAT currency on invoice (EUR, USD..)
invoice_amountAmount on invoice for FIAT currency
currency Cryptocurrency symbol (BTC, ETH..)
accept_zero_confirmationsConfirms small payment on zero confirmations (use only when POS is under video surveillance)
user Set user id (available for customers with multiple user accounts)
offsetHow many payments to skip (optional, default 0)
limit Limit how many payments to request (optional, default 20, max 50)
localeSet locale string for requested localization
OutputMeaning
rateExchange rate
amount_exchangeAmount to exchange to get value on the invoice
network_processing_feeAmount needed to transfer cryptocurrency from merchant to exchange
amountTotal amount to pay
fast_transaction_fee Minimum TX fee/Gas price for fast transacion.
fast_transaction_fee_currencyCurrency for fast_transaction_fee (e.g.: BTC/byte, Gwei/Gas)
address Address for payment
payment_deeplinkDeeplink to open wallet app
qrString for qr code that includes cryptocurrency, address and amount
qr_altAlternative string for qr code for legacy wallets including address only
qr_imgURL for qr code image download
qr_alt_imgURL for qr_alt code image download
access_tokenAccess token for check payment access
access_urlPublic URL for check payment preview
paymentRecevied amount of payment
confirmations Received confirmations of payment
min_confirmationsMinimum confirmations to wait (this is informal data. Allways wait till confirmed=true)
wait_time Expected time to wait
confirmedIs transaction successful and confirmed
cancelledIs cancellation successful
status Status info for user about payment status

Return values

API returns results in JSON format.


Get rate

Display informational rate and amount to customer. Should be refreshed on GUI every five seconds till StartPayment is called.

Example:

https://pay.limitlex.com/api/v2/GetRate/?pos_id=123&invoice_currency=EUR&invoice_amount=43.21&currency=BTC&accept_zero_confirmations=true

Response:

{
"invoice_amount": "48.25",
"invoice_currency": "EUR",
"currency": "BTC",
"rate": "6467.18",
"amount_exchange": "0.00701574",
"network_processing_fee": "0.00000152",
"amount": "0.00701726",
"fast_transaction_fee": "0.00000009",
"fast_transaction_fee_currency": "BTC/Byte",
"wait_time": "5 seconds"
}

Start payment

StartPayment is called when customer confirms that will pay in crypto. New address is generated and returned. On return invoice should be finished and transfer window displayed in one edge.

Example:

https://pay.limitlex.com/api/v2/StartPayment/?pos_id=123&invoice_currency=EUR&invoice_amount=43.21&currency=BTC&payment_id=12-23-456&accept_zero_confirmations=true

Response:

{
"invoice_amount": "48.25",
"invoice_currency": "EUR",
"currency": "BTC",
"rate": "6467.35",
"amount_exchange": "0.00701496",
"network_processing_fee": "0.00000152",
"amount": "0.00701648",
"fast_transaction_fee": "0.00000009",
"fast_transaction_fee_currency": "BTC/Byte",
"wait_time": "5 seconds",
"address": "33P6AnQfheFxnajXQwFas5jyo1nuhTY4M8",
"qr": "bitcoin:33P6AnQfheFxnajXQwFas5jyo1nuhTY4M8?amount=0.00843504",
"qr_alt": "33P6AnQfheFxnajXQwFas5jyo1nuhTY4M8",
"qr_img": "https://api.limitlex.com/qr/?d=bitcoin%3A33P6AnQfheFxnajXQwFas5jyo1nuhTY4M8%3Famount%3D0.00701648",
"qr_alt_img": "https://api.limitlex.com/qr/?d=33P6AnQfheFxnajXQwFas5jyo1nuhTY4M8"
}

Check payment

CheckPayment checks the payment to blockchain and returns if transaction is confirmed or not. It shoud be refreshed periodically till confirmed=true or CancelPayment must be called if payment will not be made.

Example:

https://pay.limitlex.com/api/v2/CheckPayment/?pos_id=123&currency=BTC&payment_id=12-23-456&address=33P6AnQfheFxnajXQwFas5jyo1nuhTY4M8

Response:

{
"invoice_amount": "48.25",
"invoice_currency": "EUR",
"currency": "BTC",
"amount": "0.00668125",
"payment": "0.00000000",
"confirmations": 0,
"min_confirmations": 0,
"confirmed": false,
"status": "Waiting for transaction.",
"wait_time": "5 seconds"
}

Cancel payment

It is very important that payment is Canceled if transfer will not be made from any reason.

Example:

https://pay.limitlex.com/api/v2/CancelPayment/?pos_id=123&currency=BTC&payment_id=12-23-456&address=33P6AnQfheFxnajXQwFas5jyo1nuhTY4M8

Response:

{
"cancelled": true
}

Get a list of currencies

GetCurrencyList returns array of currencies for current user.

Example:

https://pay.limitlex.com/api/v2/GetCurrencyList/

Response:

[
{"currency":"BTC","description":"Bitcoin"},
{"currency":"LTC","description":"Litecoin"},
{"currency":"ETH","description":"Ethereum"}
]

Get a list of transactions

GetTransactions returns array of transactions for current user.

Example:

https://pay.limitlex.com/api/v2/GetTransactions/?offset=0&limit=20

Response:

[
{
"status": "Confirmed",
"pos_id": "123",
"payment_id": "12-23-456",
"invoice_currency": "EUR",
"invoice_amount": "100",
"currency": "BTC",
"amount": "0.01729569",
"address": "33P6AnQfheFxnajXQwFas5jyo1nuhTY4M8",
"type": "Sell",
"payment": 0.01729569,
"refund": "",
"refund_amount_opened": "",
"refund_status": null,
"invoice_date": null,
"inserted": "2020-03-27 11:00:00",
"confirmed": null,
"cancelled": "2020-03-27 11:00:00",
"double_spending_alert": null,
"accept_zero_confirmations": false,
"item_name": "",
"access_token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
...
]

Webhook Notifications

Setup webhook notifications URL to be notified when payment status changes.

Webhook data is sent as JSON in the POST request body.

Example URL:

https://myserver.com/payment/webhook/

You can setup your webhook notifications URL in your profile under payment settings.

Request:

{
"pos_id":"123",
"currency":"BTC",
"payment_id":"12-23-456",
"address":"33P6AnQfheFxnajXQwFas5jyo1nuhTY4M8"
}

Tip: make a CheckPayment API call to get status information about the payment.


×