NAV
javascript php

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:

  1. provide a valid Webhook URL

  2. whitelist our IP address

  3. 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.