Introduction
Welcome to Nebulox's technical document.
Crypto payment gateway by Nebulox is leading solutions for Merchants and Business clients. It’s a decentralized Crypto payment gateway that enables businesses to accept transactions in Bitcoin and other crypto currencies.
This payment API allows you to integrate & accept cryptocurrencies payments into your website. The Payment API links the checkout system of your business to a payment processing network that allows your clients to make transactions from you.
Nebulox Crypto Gateway
Nebulox Gateway simplifies cryptocurrency transactions for businesses. By creating a gateway with essential details, including a Webhook URL, it facilitates real-time notifications. Valid transactions trigger automatic webhook alerts, delivering comprehensive details instantly. This user-friendly system ensures seamless integration, making cryptocurrency payments straightforward and efficient.
API Key
with An API Key you can seamlessly integrate with Nebulox's Crypto payment gateway services. follow these steps to acquire an API key:
Create an Account: Start by creating an account on Nebulox.io using this registration link.
Access Gateway Setup: In your dashboard, navigate to the gateway section in the side menu. Click on the "Setup Your Free Gateway" button to create your first gateway.
Provide Gateway Details: Fill in some simple inputs: - Business Name - Payment Expiration Time - Website URL - Webhook URL - Business Logo file(optional).
Create Gateway: Click on the create gateway button
Save Your API Key
Integrate Nebulox's APIs: Once the gateway is created, you will be provided with an API key in a dialogue box. Utilize this unique API key for integrating Nebulox's APIs into your applications.
Copy and Save Your API Key: Copy and securely save this API key. Note that once saved, you won't have access to it again. In case of loss, you can regenerate a new API key.
Confirm API Key: Click on the confirmation button indicating that you have saved the API key.
Webhook Connection
Receive Webhook Notifications:
When a you have an incoming transaction, Nebulox will send a POST request to the specified webhook URL with a payload that includes details of the transaction.
Steps
Here are the steps to setting up your webhook connection:
provide a valid Webhook URL
whitelist our IP address
verify your invoice (Optional)
1. provide a valid Webhook URL
if your Webhook URL is valid, you will be posted a payload like this:
{
"orderId": "dpkg-1234",
"txId": "cf2efce87f85a16e4bac7d0b3cdd548700f074fa375c0640b0da02155266d200",
"amount": "6.9",
"confirmations": 1,
"status": "COMPLETED"
}
The configuration of a new Nebulox gateway necessitates the provision of a mandatory webhook URL. By providing a valid webhook URL during this setup, you empower Nebulox to relay real-time notifications regarding new transactions. This not only facilitates a seamless integration process but also lays the foundation for automated operations within your payment processing flow.
2. whitelist our IP address
Once you've set up your URL make sure you whitelist our IP address.
We call your webhooks through one or more of these following IP addresses:
1.1.1.1
, 1.1.1.1
, 1.1.1.1
3. verify your invoice (Optional)
const axios = require('axios');
axios.get('https://api.nebulox.io/api/invoice/trackingCode/100061')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.error(error);
});
const axios = require('axios');
axios.get('https://api.nebulox.io/api/invoice/trackingCode/100061')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.error(error);
});
If the invoice is correct you get a response like this:
{
"message": "Operation was successful.",
"result": {
"amount": "10.47657961",
"paidAmount": "0.00000000",
"baseCurrency": "EUR",
"id": "f91fa492-5858-4607-91e9-7ef484e36857",
"trackingCode": 100061,
"orderId": "HIX-2112e",
"price": 1,
"description": "test",
"itemName": "TITAB",
"from": "instagram 1",
"status": "EXPIRED",
"expirationDate": "2023-12-23T11:01:40.993Z",
"created_at": "2023-12-23T09:21:41.423Z",
"updated_at": "2024-01-06T09:46:12.000Z",
"gateway": null,
"address": "TSwEBXcr6mGazCTCpoaNgrN2S2MLTMs1ZW",
"network": {
"name": "Tron"
},
"coin": {
"name": "Tron",
"symbol": "TRX"
},
"transactions": [],
"url": "https://nebulox.io/app/user-invoice/f91fa492-5858-4607-91e9-7ef484e36857",
"expirationRemainingTime": 0
},
"meta": {}
}
You can use the following API to verify your incoiming Invoice in your provided URL. This is a security check that we suggest you take as an additional step in order to block any malicious activity.
HTTP Request
GET https://api.nebulox.io/api/invoice/trackingCode/100061
Invoice
Create Invoice
const axios = require('axios');
axios.post('https://api.nebulox.io/api/invoice/create', {
apiKey: 'YOUR_API_KEY',
price: '100',
orderId: 'YOUR_ORDER_ID',
baseCurrency: 'usd',
coinSymbol: 'BTC',
networkName: 'Bitcoin'
amount:'0.0025'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.error(error);
});
$client = new GuzzleHttp\Client();
$response = $client->request(
'POST',
'https://api.nebulox.io/api/invoice/create',
[
'form_params' => [
'apiKey': 'YOUR_API_KEY',
'price': 100,
'orderId': 'YOUR_ORDER_ID',
'baseCurrency': 'USD',
'coinSymbol': 'BTC',
'networkName': 'Bitcoin'
'amount' :'0.0025'
]
]
);
$headers = $response->getHeaders();
$body = $response->getBody();
var_dump($headers, $body);
If everything you sent is correct you will get a response like bellow with status code 201:
{
"message": "Operation was successful.",
"result": {
"price": 10,
"orderId": "DGK-324324",
"status": "PENDING",
"gatewayId": "41c6fe17-b72f-4923-9da2-dc7a91173e73",
"userId": "d6646cf8-0b65-4d7d-ab2b-02e8dcd1ede3",
"addressId": null,
"amount": 0.0025,
"coinId": null,
"networkId": null,
"info": null,
"id": "5c5a7933-51ad-4542-b0b6-9157552e8230",
"created_at": "2023-02-13T12:18:00.672Z",
"updated_at": "2023-02-13T12:18:00.672Z",
"url": "https://nebulox.io/invoice/5c5a7933-51ad-4542-b0b6-9157552e8230"
},
"meta": {}
}
If you send an invalid apiKey you will get response by status 406:
{
"message": "This gateway is not active",
"result": [],
"meta": {}
}
This payment crypto API allows you to integrate & accept cryptocurrency payments on your website. So create a payment!
HTTP Request
POST https://api.nebulox.io/api/invoice/create
Request Body
Key | Type | Required | Description |
---|---|---|---|
apiKey |
string | Yes | Merchant's API key which has been provided after gateway creation. |
price |
number | Yes | Order's price (in merchant's base currency - default: EUR). |
orderId |
string | Yes | Merchant's order unique identifier. It will be used to track order. |
baseCurrency |
string | No | Your price currency. (if not entered, it will be set to EUR). |
coinSymbol |
string | No | Your order payment coin, If you send us this parameter, your user will skip the select coin page. |
networkName |
string | No | Your order payment network, If you send us this parameter, your user will skip the select network page. |
amount |
string | Yes | Order's amount. |
Errors
The Nebulox API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your API key is wrong. |
403 | Forbidden -- The endpoint requested is hidden for administrators only. |
404 | Not Found -- The specified endpoint could not be found. |
405 | Method Not Allowed -- You tried to access an endpoint with an invalid method. |
406 | Not Acceptable -- You requested a format that isn't json. |
429 | Too Many Requests -- You're making too many requests! Slow down! |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |