WhiteLabelName TypeScript Library
The WhiteLabelName TypeScript library wraps around the WhiteLabelName API. This library facilitates your interaction with various services such as transactions, accounts, and subscriptions.
Documentation
WhiteLabelName Web Service API
Requirements
- npm 6+
Installation
NPM install (recommended)
npm install whitelabelmachinename
Usage
The library needs to be configured with your account's space id, user id, and secret key which are available in your WhiteLabelName
account dashboard. Set space_id
, user_id
, and api_secret
to their values. You can also add custom default headers to the configuration.
Configuring a Service
'use strict';
import { WhiteLabelMachineName } from 'whitelabelmachinename';
let spaceId: number = 405;
let userId: number = 512;
let apiSecret: string = 'FKrO76r5VwJtBrqZawBspljbBNOxp5veKQQkOnZxucQ=';
let config = {
space_id: spaceId,
user_id: userId,
api_secret: apiSecret
default_headers: {
'x-meta-header-name-1': 'header-value-1',
'x-meta-header-name-2': 'header-value-2'
}
}
// Transaction Service
let transactionService: WhiteLabelMachineName.api.TransactionService = new WhiteLabelMachineName.api.TransactionService(config);
To get started with sending transactions, please review the example below:
'use strict';
import { WhiteLabelMachineName } from 'whitelabelmachinename';
let spaceId: number = 405;
let userId: number = 512;
let apiSecret: string = 'FKrO76r5VwJtBrqZawBspljbBNOxp5veKQQkOnZxucQ=';
let config = {
space_id: spaceId,
user_id: userId,
api_secret: apiSecret
}
// Transaction Service
let transactionService: WhiteLabelMachineName.api.TransactionService = new WhiteLabelMachineName.api.TransactionService(config);
// TransactionPaymentPage Service
let transactionPaymentPageService: WhiteLabelMachineName.api.TransactionPaymentPageService = new WhiteLabelMachineName.api.TransactionPaymentPageService(config);
// LineItem of type PRODUCT
let lineItem: WhiteLabelMachineName.model.LineItemCreate = new WhiteLabelMachineName.model.LineItemCreate();
lineItem.name='Red T-Shirt';
lineItem.uniqueId='5412';
lineItem.sku='red-t-shirt-123';
lineItem.quantity=1;
lineItem.amountIncludingTax=3.50;
lineItem.type=WhiteLabelMachineName.model.LineItemType.PRODUCT;
// Transaction
let transaction: WhiteLabelMachineName.model.TransactionCreate = new WhiteLabelMachineName.model.TransactionCreate();
transaction.lineItems=[lineItem];
transaction.autoConfirmationEnabled=true;
transaction.currency='EUR';
transactionService.create(spaceId, transaction).then((response) => {
let transactionCreate: WhiteLabelMachineName.model.Transaction = response.body;
transactionPaymentPageService.paymentPageUrl(spaceId, <number> transactionCreate.id).then(function (response) {
let pageUrl: string = response.body;
// window.location.href = pageUrl;
});
});
Configure connection timeout
Connection timeout determines how long the request can take, before cutting off the connection. Same value applies both to inner 'Read timeout' and 'Connection timeout' of a NPM request module.
Default connection timeout is 25s.
Connection timeout can be set 2 ways:
- Via configuration property 'timeout' providing value in seconds.
let config = {
... other properties ...
timeout: 15
}
let transactionService: WhiteLabelMachineName.api.TransactionService = new WhiteLabelMachineName.api.TransactionService(config);
- Via service property 'timeout' providing value in seconds
let config = {
... properties ...
}
let transactionService: WhiteLabelMachineName.api.TransactionService = new WhiteLabelMachineName.api.TransactionService(config);
transactionService.timeout = 15;
License
Please see the license file for more information.