@aberba/slydepay 中文文档教程

发布于 6年前 浏览 27 项目主页 更新于 3年前

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)
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文