A nodejs library to communicate with the RapidCoin API.
npm i --save rapidcoin-api
const rapidCoinApi = require("rapidcoin-api");
const config = {
url: "https://www.rapidcoin.com/api",
apiKey: "my-api-key",
apiVersion: "1.0"
};
const rc = new rapidCoinApi(config);
const response = await rc.createInvoice({});
const response = await rc.createInvoice(params);
The object parameters for creating an invoice are
key |
type |
description |
required? |
reference_id |
string |
Custom reference id associated with invoice |
no |
customer_id |
string |
Custom customer id associated with invoice |
no |
description |
string |
Custom description associated with invoice |
no |
confirmations_required |
integer |
Number of blockchains required to complete invoice transaction & trigger confirmation_url IPN |
no |
notification_url |
string |
Notification URL to POST when transaction is received on address |
no |
confirmation_url |
string |
Notification URL to POST when blockchain confirmations reaches confirmations_required |
no |
redirect_url |
string |
URL to redirect to after successful payment (web flow) |
no |
currency |
string |
Three character currency code, either USD or BTC. Used with amount to calculate rate & amount_btc |
no |
amount |
number |
Amount of invoice in specified currency |
no |
Note: currency and amount are optional, if they are not specified the invoice will be created an "open" invoice
key |
description |
id |
Unique id of invoice |
status |
Invoice status, "open", pending", "confirming", "complete", "expired" |
token |
Unique token of invoice |
invoice_time |
UNIX timestamp when invoice was created |
expiration_time |
UNIX timestamp of when invoice address is expired of invoice |
exception_status |
Exception status of invoice |
currency |
Three character currency code, either USD or BTC. Used with amount to calculate rate & amount_btc |
rate |
Rate used to convert amount in currency to amount_btc in BTC |
amount |
Amount of invoice in specified currency (0 for open invoices) |
amount_btc |
Amount of invoice in BTC, calculated from currency, amount, and rate (0 for open invoices) |
paid_currency |
Three character currency code, either USD or BTC. Used to show what currency customer will be paid out in |
paid_rate |
Rate used to convert amount in BTC to paid amount in paid_currency |
paid_amount |
Amount paid out to customer in paid_currency |
paid_amount_btc |
Amount paid out to customer in BTC |
redirect_url |
URL to redirect to after successful payment |
notification_url |
Notification URL to POST when transaction is received on address |
confirmation_url |
Notification URL to POST when blockchain confirmations reaches required_confirmations |
confirmations_required |
Number of blockchain confirmations required to complete invoice and trigger POST to confirmation_notification_url |
reference_id |
Custom reference id associated with invoice provided on creation |
customer_id |
Custom customer id associated with invoice provided on creation |
description |
Custom description associated with invoice provided on creation (if second deposit on address - description becomes SUB_INVOICE) |
parent_invoice_id |
Unique Id of parent invoice (if second deposit made on the same address - will reference the first invoice created. null if first invoice) |
address |
Bitcoin deposit address of invoice |
paid_btc |
Amount paid by customer in BTC. |
transactions |
array of blockchain transactions of payments to invoice invoice eg. "transactions": [ {"hash":"f7b0989105b03d69e1ef913b3f7a12df3886d334d0d8706ff77ea78e6602493f", "amount": 0, "confirmations" : 6, "time": 0, "received_time": 0}] |
current_time |
Current timestamp of request |
Reading information from an existing invoice
const response = await rc.readInvoice(id);
The id passed in is the uuid of an existing invoice.
key |
description |
id |
Unique id of invoice |
status |
Invoice status, "open", pending", "confirming", "complete", "expired" |
token |
Unique token of invoice |
invoice_time |
UNIX timestamp when invoice was created |
expiration_time |
UNIX timestamp of when invoice address is expired of invoice |
exception_status |
Exception status of invoice |
currency |
Three character currency code, either USD or BTC. Used with amount to calculate rate & amount_btc |
rate |
Rate used to convert amount in currency to amount_btc in BTC |
amount |
Amount of invoice in specified currency (0 for open invoices) |
amount_btc |
Amount of invoice in BTC, calculated from currency, amount, and rate (0 for open invoices) |
paid_currency |
Three character currency code, either USD or BTC. Used to show what currency customer will be paid out in |
paid_rate |
Rate used to convert amount in BTC to paid amount in paid_currency |
paid_amount |
Amount paid out to customer in paid_currency |
paid_amount_btc |
Amount paid out to customer in BTC |
redirect_url |
URL to redirect to after successful payment |
notification_url |
Notification URL to POST when transaction is received on address |
confirmation_url |
Notification URL to POST when blockchain confirmations reaches required_confirmations |
confirmations_required |
Number of blockchain confirmations required to complete invoice and trigger POST to confirmation_notification_url |
reference_id |
Custom reference id associated with invoice provided on creation |
customer_id |
Custom customer id associated with invoice provided on creation |
description |
Custom description associated with invoice provided on creation (if second deposit on address - description becomes SUB_INVOICE) |
parent_invoice_id |
Unique Id of parent invoice (if second deposit made on the same address - will reference the first invoice created. null if first invoice) |
address |
Bitcoin deposit address of invoice |
paid_btc |
Amount paid by customer in BTC. |
transactions |
array of blockchain transactions of payments to invoice invoice eg. "transactions": [ {"hash":"f7b0989105b03d69e1ef913b3f7a12df3886d334d0d8706ff77ea78e6602493f", "amount": 0, "confirmations" : 6, "time": 0, "received_time": 0}] |
current_time |
Current timestamp of request |
const response = await rc.updateInvoice(id, params);
The id passed in is the uuid of an existing invoice.
The object parameters for updating an invoice are
key |
type |
description |
required? |
reference_id |
string |
Custom reference id associated with invoice |
no |
customer_id |
string |
Custom customer id associated with invoice |
no |
description |
string |
Custom description associated with invoice |
no |
key |
description |
id |
Unique id of invoice |
status |
Invoice status, "open", pending", "confirming", "complete", "expired" |
token |
Unique token of invoice |
invoice_time |
UNIX timestamp when invoice was created |
expiration_time |
UNIX timestamp of when invoice address is expired of invoice |
exception_status |
Exception status of invoice |
currency |
Three character currency code, either USD or BTC. Used with amount to calculate rate & amount_btc |
rate |
Rate used to convert amount in currency to amount_btc in BTC |
amount |
Amount of invoice in specified currency (0 for open invoices) |
amount_btc |
Amount of invoice in BTC, calculated from currency, amount, and rate (0 for open invoices) |
paid_currency |
Three character currency code, either USD or BTC. Used to show what currency customer will be paid out in |
paid_rate |
Rate used to convert amount in BTC to paid amount in paid_currency |
paid_amount |
Amount paid out to customer in paid_currency |
paid_amount_btc |
Amount paid out to customer in BTC |
redirect_url |
URL to redirect to after successful payment |
notification_url |
Notification URL to POST when transaction is received on address |
confirmation_url |
Notification URL to POST when blockchain confirmations reaches required_confirmations |
confirmations_required |
Number of blockchain confirmations required to complete invoice and trigger POST to confirmation_notification_url |
reference_id |
Custom reference id associated with invoice provided on creation |
customer_id |
Custom customer id associated with invoice provided on creation |
description |
Custom description associated with invoice provided on creation (if second deposit on address - description becomes SUB_INVOICE) |
parent_invoice_id |
Unique Id of parent invoice (if second deposit made on the same address - will reference the first invoice created. null if first invoice) |
address |
Bitcoin deposit address of invoice |
paid_btc |
Amount paid by customer in BTC. |
transactions |
array of blockchain transactions of payments to invoice invoice eg. "transactions": [{"hash":"f7b0989105b03d69e1ef913b3f7a12df3886d334d0d8706ff77ea78e6602493f", "amount": 0, "confirmations" : 6, "time": 0, "received_time": 0}] |
current_time |
Current timestamp of request |
const response = await rc.createPayout(params);
The object parameters for creating an invoice are
key |
type |
description |
required? |
currency |
string |
Three character currency code, either USD or BTC. Used with amount to calculate rate & amount_btc |
yes |
amount |
number |
Amount of payout to send in specified currency |
yes |
address |
string |
Bitcoin address to send payout too |
yes |
reference_id |
string |
Custom reference id associated with payout |
no |
customer_id |
string |
Custom customer id associated with payout |
no |
description |
string |
Custom description associated with payout |
no |
key |
description |
id |
Unique id of payout |
status |
Payout status, "pending", "complete", "exception" |
address |
Bitcoin address of payout |
currency |
Three character currency code, either USD or BTC. Used with amount to calculate rate & amount_btc |
amount |
Amount of payout to send in specified currency |
amount_btc |
Amount of payout to send in BTC, calculated from currency, amount, and rate |
rate |
Rate used to convert amount in currency to amount_btc in BTC |
reference_id |
Custom reference id associated with payout provided on creation |
customer_id |
Custom customer id associated with payout provided on creation |
description |
Custom description associated with payout provided on creation |
created_at |
Datetime payout transaction was created |
completed_at |
Datetime payout transaction was completed |
transaction |
Details of blockchain transaction of payout eg. "transaction": {"hash":"f7b0989105b03d69e1ef913b3f7a12df3886d334d0d8706ff77ea78e6602493f"} |
Reading information from an existing payout
const response = await rc.readPayout(id);
The id passed in is the uuid of an existing invoice.
key |
description |
id |
Unique id of payout |
status |
Payout status, "pending", "complete", "exception" |
address |
Bitcoin address of payout |
currency |
Three character currency code, either USD or BTC. Used with amount to calculate rate & amount_btc |
amount |
Amount of payout to send in specified currency |
amount_btc |
Amount of payout to send in BTC, calculated from currency, amount, and rate |
rate |
Rate used to convert amount in currency to amount_btc in BTC |
reference_id |
Custom reference id associated with payout provided on creation |
customer_id |
Custom customer id associated with payout provided on creation |
description |
Custom description associated with payout provided on creation |
created_at |
Datetime payout transaction was created |
completed_at |
Datetime payout transaction was completed |
transaction |
Details of blockchain transaction of payout eg. "transaction": {"hash":"f7b0989105b03d69e1ef913b3f7a12df3886d334d0d8706ff77ea78e6602493f"} |
Finding the currency exchange rate
const response = await rc.getRate(currency);
The currency to look up for the exchange rate (currently only BTC or USD).
key |
description |
currency |
the currency |
rate |
currency exchange rate |
Getting the available balance
const response = await rc.getOrganizationBalance();
key |
description |
btc |
the BTC balance |
usd |
the amount in USD using the current exchange rate |