Использование Netbanx API

Я пытаюсь использовать Netbanx API и всегда получаю {"error":{"code":401,"message":"Not authorised"}} Я не знаю, что я делаю неправильно.

var url = "https://api.test.netbanx.com/hosted/v1/orders";
$.ajax({
    url: url,
    headers: { 
    "Authorization": "Basic " + btoa("devcentre4157:B-qa2-0-54b6431d-302c021451aabe02869ba82a4a4253d8b2a170d7950d228b021448948677e24be8180f945f1af2b583676c353b9f") 
    },
    type: 'POST',
    dataType: 'jsonp',
    contentType: 'application/json',
    data: "{merchantRefNum:'89983943',currencyCode:'CAD',totalAmount:'10'}",
    success: function (data) {
        alert(JSON.stringify(data));
    },
    error: function (err) {
        console.log(err);
    }
});

2 ответа

Я подтвердил ваш код и получил 401.

Учетные данные хороши, я сделал запрос curl, и он возвращает данные

curl -X POST -H "Content-Type: application/json" \
  -u devcentre4157:B-qa2-0-54b6431d-302c021451aabe02869ba82a4a4253d8b2a170d7950d228b021448948677e24be8180f945f1af2b583676c353b9f \
     https://api.test.netbanx.com/hosted/v1/orders \
  -d '{
          "merchantRefNum" : "89983943",
          "currencyCode"   : "CAD",
          "totalAmount"    : 10
      }'  

{"currencyCode":"CAD","id":"27HBQC4JI28QISA1LM","link":[{"rel":"hosted_payment","uri":"https://pay.test.netbanx.com/hosted/v1/payment/53616c7465645f5f9d3670f3f61d1664e3c0db218618a55369145e7577df013ab0691c526e56a445"},{"rel":"self","uri":"https://devcentre4157:B-qa2-0-54b6431d-302c021451aabe02869ba82a4a4253d8b2a170d7950d228b021448948677e24be8180f945f1af2b583676c353b9f@api.test.netbanx.com/hosted/v1/orders/27HBQC4JI28QISA1LM"},{"rel":"resend_callback","uri":"https://devcentre4157:B-qa2-0-54b6431d-302c021451aabe02869ba82a4a4253d8b2a170d7950d228b021448948677e24be8180f945f1af2b583676c353b9f@api.test.netbanx.com/hosted/v1/orders/27HBQC4JI28QISA1LM/resend_callback"}],"merchantRefNum":"89983943","mode":"live","totalAmount":10,"type":"order"}

Я использовал плагин DHC chrome для еще одной проверки - он также работает. Я уверен, что в вашем примере с JavaScript есть проблема кросс-доменов. NETbanx просто не позволяет делать кросс-доменный запрос к API.

введите описание изображения здесь

Обычно в этих ситуациях проблема заключается в том, как кодируется ключ. возможно, что при копировании и вставке в начале или конце есть пробелы. Полномочия выглядят действительными.

Другие вопросы по тегам