http标头响应400

时间:2017-06-10 01:58:26

标签: angularjs rest http ionic-framework

您好我尝试消耗api休息但是我无法正确发送标题我有一个错误400告诉我请求的主体无效,它已经在很多方面被处理,我认为问题是头。 他们让我在标题中发送Public-Merchant-Id,试试这个:

KushkiS: function(card,cvc,total) {
            console.log(card,cvc,total);
            var deferred = $q.defer();
            var req = {
             method: 'POST',
             url: 'https://api-uat.kushkipagos.com/v1/tokens',
             headers: {
               'Authorization': 'Public-Merchant-Id:1000000243'
             },
             request: {
                  "card": {
                    "name": card.data.nombre,
                    "number": card.data.number.toString(),
                    "expiryMonth": "02",
                    "expiryYear": "21",
                    "cvv": cvc
                  },
                  "totalAmount": total,
                  "currency": "USD",
                  "isDeferred": false
                }

            };
            $http(req).then(function(responseData){
                console.log(responseData);
                deferred.resolve(responseData);

            }, function(error){
                console.log(error);
                alert(JSON.stringify(error));
                deferred.reject(error);
            }); 

api的信息包含:

Public-Merchant-Id标头字符串

请求正文

{
  "card": {
    "name": "Lisbeth Salander",
    "number": "4242424242424242",
    "expiryMonth": "02",
    "expiryYear": "21",
    "cvv": "123"
  },
  "currency": "USD"
}

2 个答案:

答案 0 :(得分:0)

看起来你错过了content type,你可以使用配置对象传递headers

   var data = {};

   var config = {
      headers : {
         'Content-Type': 'application/json',
         'Authorization': 'Public-Merchant-Id:1000000243'

      }
    }

    $http.post(url, data, config).success(function (data, status, headers, config) {
        //do something
     }).error(function (data, status, header, config) {
        //do something
     });

答案 1 :(得分:0)

看起来该服务期待“Public-Merchant-Id'标题,但你正在通过'授权'头。

headers: {  'Public-Merchant-Id':'1000000243' }

与您的服务提供商联系或浏览Api文档以获取有关如何正确使用它们的详细信息。