创建结帐会话NBG

问题描述 投票:1回答:1

我想通过javascript发出基本的HTTP身份验证调用请求,但我不知道该怎么做。我有一个javascript代码,并且在其中有一个会话参数。因此,我需要先进行此调用,从该调用中获取session_id作为响应,然后继续执行我的JavaScript代码。这是此基本HTTP身份验证的文档:https://ibanke-commerce.nbg.gr/api/documentation/apiDocumentation/rest-json/version/latest/operation/Session%3a%20Create%20Checkout%20Session.html?locale=en_US

关于银行和电子商务之间的付款方式。

如何用javascript编写?我的代码结构目前是这样的:

<script
//need call auth somewhere here I guess

Payment.Config({
... ... ..
Url: "...",
Name: "...",
session: "here I need the response of the call"
...
...
});
</script>

任何帮助/指南将不胜感激

javascript payment-gateway basic-authentication cs-cart
1个回答
0
投票

您需要三件事:

1。创建用于身份验证的基本标头

基本标头是您的用户的Base64编码的字符串,密码。为此,您应该对凭据进行编码,如下所示。

user_id:password

如果您是user_idmerchantId

您可以使用this之类的在线服务来对您的凭据字符串进行编码

您可以像这样在您的JavaScript代码中对其进行编码

var clientId = "user_id";
var clientSecret = "password";

// var authorizationBasic = $.base64.btoa(clientId + ':' + clientSecret); // jQuery
var authorizationBasic = window.btoa(clientId + ':' + clientSecret); // Javascript

我会推荐第一个选项。

2。使用“基本标题”进行发布请求

您可以按照此答案进行操作make an HTTP POST authentication basic request using Javascript

3。在代码中使用身份验证请求的响应

所以您的最终代码将是这样的

var url = 'your_url_server';
var authorizationBasic = 'the_created_basic_header';

var request = new XMLHttpRequest();
request.open('POST', url, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.setRequestHeader('Authorization', 'Basic ' + authorizationBasic);
request.setRequestHeader('Accept', 'application/json'); // Modify according to the response format
request.send("parameter1=parameter1_value&parameter2=parameter2_value"); // Any parameter you might need

request.onreadystatechange = function () {
    if (request.readyState === 4) {
       alert(request.responseText);
       Payment.Config({
          ... ... ..
          Url: "...",
          Name: "...",
          session: request.responseText // Here is the response of the call
          ...
          ...
       });
    }
};
© www.soinside.com 2019 - 2024. All rights reserved.