@aberba/slydepay 中文文档教程
Hubtel API
这是用于 Node.js 的非官方 Slydepay API。
Installation
使用 Node.js v8.X 或最新版本,安装时使用:
npm install @aberba/slydepay
警告:在使用此包之前,我建议您阅读 Slydepay 的 REST API 文档,了解您所使用的服务'打算用。
从安全的角度来看,将所有帐户 API 密钥和其他凭据存储在环境变量中比将它们硬编码在源代码中要安全得多。
const Slydepay = require("@aberba/slydepay");
const merchant = new Slydepay({
emailOrMobileNumber:"Account email or mobile number",
merchantKey:"Account merchant key"
});
// NOTE: refer to slydepay docs at http://doc.slydepay.com
// for parameters required for each method.
// Make sure to read on the meaning of the various parameters.
(async () => {
// See http://doc.slydepay.com/#api-Invoicing-ListPayOptions
try {
const payOptions = await merchant.listPayOptions();
console.log("Slydepay payment options: ", payOptions)
// NOTE: you don't need to add your emailOrMobileNumber and
// merchantKey to options since they are automatically injected
// using value passed when calling new Slydepay({...})
const options = {
amount: 123.4,
// e.g an ID you use to keep track of transactions in your app
orderCode: "your custom uniquely generated order/transaction ID"
};
// alternative options format (with orderItems)
/*
const options = {
"emailOrMobileNumber": "merchant@awesomecustomer.com",
"merchantKey": "thatkeyyoushouldkeepsecret",
"amount": 100,
"orderCode": "my-uniquely-generated-order-id",
"orderItems": [
{
"itemCode": "qwerty",
"itemName": "RFC",
"unitPrice": 20,
"quantity": 2,
"subTotal": 40
},
{
"itemCode": "qazxsw",
"itemName": "POC",
"unitPrice": 60,
"quantity": 1,
"subTotal": 60
}
]
}
*/
const result = await merchant.createInvoice(options);
console.log("API response: ", result)
if (result.success) {
// Invoice created successfully
// See http://doc.slydepay.com/#api-Invoicing-CreateInvoice
// to see how a sample response looks like
} else {
// Failed due to some reason, check result.errorMessage and
// result.errorCode
// See http://doc.slydepay.com/#api-Invoicing-CreateInvoice
// for the various errors codes and their meaning to
// handle request accordingly
/**
e.g. response
{
success: false,
result: null,
errorMessage: 'Invalid Merchant Key. Please use a valid merchant key',
errorCode: 'INVALID_MERCHANT_KEY'
}
*/
}
} catch(error){
console.log("Error:", error)
}
})()
Supported methods
Slydepay 的支付选项还提供其他功能。 阅读他们的REST API 文档以了解所需的参数并在制作时将它们添加到选项参数要求。 清单包括:
merchant.listPayOptions()
:merchant.createInvoice(options)
merchant.createAndSendInvoice(options)
merchant.sendInvoice(options)
merchant.checkPaymentStatus(options)
merchant.confirmTransaction(options)
merchant.cancelTransaction(options)
Hubtel API
This is an unofficial Slydepay API for Node.js.
Installation
Using Node.js v8.X or latest, you install using:
npm install @aberba/slydepay
WARNING: Before using this package, I recommend you read on Slydepay's REST API documentation about the service you're planning to use.
From a security standpoint, it much safer to store all account API keys and other credentials in environment variables instead of hard-coding them in your source code.
const Slydepay = require("@aberba/slydepay");
const merchant = new Slydepay({
emailOrMobileNumber:"Account email or mobile number",
merchantKey:"Account merchant key"
});
// NOTE: refer to slydepay docs at http://doc.slydepay.com
// for parameters required for each method.
// Make sure to read on the meaning of the various parameters.
(async () => {
// See http://doc.slydepay.com/#api-Invoicing-ListPayOptions
try {
const payOptions = await merchant.listPayOptions();
console.log("Slydepay payment options: ", payOptions)
// NOTE: you don't need to add your emailOrMobileNumber and
// merchantKey to options since they are automatically injected
// using value passed when calling new Slydepay({...})
const options = {
amount: 123.4,
// e.g an ID you use to keep track of transactions in your app
orderCode: "your custom uniquely generated order/transaction ID"
};
// alternative options format (with orderItems)
/*
const options = {
"emailOrMobileNumber": "merchant@awesomecustomer.com",
"merchantKey": "thatkeyyoushouldkeepsecret",
"amount": 100,
"orderCode": "my-uniquely-generated-order-id",
"orderItems": [
{
"itemCode": "qwerty",
"itemName": "RFC",
"unitPrice": 20,
"quantity": 2,
"subTotal": 40
},
{
"itemCode": "qazxsw",
"itemName": "POC",
"unitPrice": 60,
"quantity": 1,
"subTotal": 60
}
]
}
*/
const result = await merchant.createInvoice(options);
console.log("API response: ", result)
if (result.success) {
// Invoice created successfully
// See http://doc.slydepay.com/#api-Invoicing-CreateInvoice
// to see how a sample response looks like
} else {
// Failed due to some reason, check result.errorMessage and
// result.errorCode
// See http://doc.slydepay.com/#api-Invoicing-CreateInvoice
// for the various errors codes and their meaning to
// handle request accordingly
/**
e.g. response
{
success: false,
result: null,
errorMessage: 'Invalid Merchant Key. Please use a valid merchant key',
errorCode: 'INVALID_MERCHANT_KEY'
}
*/
}
} catch(error){
console.log("Error:", error)
}
})()
Supported methods
Other functions are available for Slydepay's payment options. Read their REST API documentation to understand the parameters required and add them to the options parameter when making a request. List include:
merchant.listPayOptions()
:merchant.createInvoice(options)
merchant.createAndSendInvoice(options)
merchant.sendInvoice(options)
merchant.checkPaymentStatus(options)
merchant.confirmTransaction(options)
merchant.cancelTransaction(options)