2016-05-09 2 views
1

ノードでuni-restを使用してトランザクションを四角にポストしようとしています。私はすべての必要なパラメータを持っていると信じています。どのように私は正方形から422のエラーを受け取りましたか?下にいくつかのコードサンプルとエラーを投稿します。トランザクションをポストしようとしたときに422エラーが発生しました

マイリクエスト:

var json = { 
      "idempotency_key": "74ae1696-b1e3-4328-af6d-f1e04d947a13", 
      "shipping_address": { 
      "address_line_1": "123 Main St", 
      "locality": "San Francisco", 
      "administrative_district_level_1": "CA", 
      "postal_code": "94114", 
      "country": "US" 
      }, 
      "billing_address": { 
      "address_line_1": "500 Electric Ave", 
      "address_line_2": "Suite 600", 
      "administrative_district_level_1": "NY", 
      "locality": "New York", 
      "postal_code": "10003", 
      "country": "US" 
      }, 
      "amount_money": { 
      "amount": 5000, 
      "currency": "USD" 
      }, 
      "card_nonce": "CBASEA-NYZAdKADzd5FeF6kh0ko", //sandbox nonce 
      "reference_id": "some optional reference id", 
      "note": "some optional note", 
      "delay_capture": false 
     } 

//console.log(json) 
return unirest.post('http://connect.squareup.com/v2/locations/9T8KRNF0XX6BH/transactions') 
    .headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization' : 'Bearer '+access_token, 'rejectUnauthorized': false}) 
    .type('json') 
    .send(json) 
    .end(function (json) { 
     if(json.error){ 
     console.log(json.error); 
     } 
     console.log(json.body) 
     res.json(json) 
    }); 

}

マイエラー:

{ Error: got 422 response 
at /Users/.../node_modules/unirest/index.js:395:27 
at process._tickCallback (internal/process/next_tick.js:98:9) status: 422 } 
{ errors: [ { category: 'INVALID_REQUEST_ERROR', 
    code: 'BAD_REQUEST', 
    detail: 'body in body is required' } ] } 

答えて

1

あなたは、HTTPではなくHTTPS経由で要求を行っています。 APIはHTTPS経由でのみ提供されます。

この動作の理由は、HTTPサイトからHTTPSサイトへのリダイレクトが送信されているためです。しかし、POSTリダイレクトを明示的に処理していない限り、POST本体(およびおそらく他の必要なヘッダーも)が失われてしまい、この混乱した応答を引き起こします。

+0

ありがとうございました!そんなに小さいものは私にとても悲しみをもたらしました。 –

関連する問題