节点Quickpay身份验证

时间:2016-12-11 21:14:36

标签: javascript node.js

我正在尝试使用Node quickpay

然而,他们的文件不是那么简单"理解,我有点坚持认证。

我有API token,我已按照以下SO问题:

QuickPay node.js REST api

要进行以下操作:

    var quickPay = require("quick-pay");
module.exports = function (router, mongoose) {
    var token = "myToken";
    var version = {
        "Accept-Version": "v10",
        "Authorization": "your basic authentication"};

    var transaction_id = {};

    router.route('/api/payment')
        .put(function (req, res) {
            processCreatePayment(req, res);
        });

    function processCreatePayment(req, res) {
        var random_order_id = Math.floor((Math.random() * 1000) + 1);

        var parameters = {
            "currency": "INR",
            "order_id": random_order_id
        };
        quickPay.post("payments/", version, parameters)
            .then(function (result) {
                console.log(result);
                res.send(result);
                transaction_id = result.id;
                console.log(transaction_id);
            })
            .catch(function (err) {

                console.log(err.response);
                res.send(err.response);

            });
    }


    return router;
};

但我不太确定:"Authorization": "your basic authentication"应该是什么。

我希望有人可以帮助我。

请注意我已经尝试过:

    var version = {
    "Accept-Version": "v10",
    "Authorization": "Basic "+token
};

但幸运的是

我得到的只是invalid Basic Auth

3 个答案:

答案 0 :(得分:1)

要使用带令牌的基本身份验证,请尝试添加':'在api密钥之前。所以使用:

"Authorization": ":" + apiKey

答案 1 :(得分:1)

我相信@ maciej-dzikowicki是正确的,但我只是想扩大他的答案,因为这件事使我失去了太多时间。

tr; tl basic auth要求使用冒号分隔的,以base {64}编码的字符串,其前缀为Basic。在Quickpays情况下,由于没有用户名,因此Authorization标头只是您的API密钥,前缀是以base64编码的冒号。

在您的情况下,@ marc-rasmussen Node Quickpay为您完成了此操作,因此您只需将API_KEY提供给库返回的工厂函数即可。

此外,如果有人(像我一样)很难找到自己的API_KEY,请按照以下步骤查找您的文件。

  1. 导航到您的Quickpay帐户的用户部分https://manage.quickpay.net。选择一个用户或“创建系统用户”。

enter image description here

  1. 选择一个用户并确保已设置正确的权限以访问所需的API端点。

enter image description here

  1. 点击“查看API密钥”以获取您的API密钥。

enter image description here

答案 2 :(得分:0)

这未经过测试,但遵循文档。未设置时,标题infos / basic auth应设置为正确的默认值(例如Dim FolderPath As String, Filepath As String, Filename As String FolderPath = "F:\Test\" Filepath = FolderPath & "*.xlsm" Filename = Dir(Filepath) Dim lastrow As Long, lastcolumn As Long Do While Filename <> "" Workbooks.Open (FolderPath & Filename) lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlDown).Row lastcolumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column Range(Cells(2, 1), Cells(lastrow, lastcolumn)).Copy Application.DisplayAlerts = False ActiveWorkbook.Close erow = Sheet1111.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row lastcolumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column Cells(erow, 4)) ActiveSheet.Paste Destination:=Worksheets("Baza").Range(Cells(erow, 1), Filename = Dir Loop End Sub )。

"v10"