尝试发布事务时出现422错误

我试图发布一个事务平方使用uni-rest与节点。 我相信我有所有必需的参数,我怎么会收到一个从方块回来的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' } ] } 

您通过HTTP而不是HTTPS发出请求。 该API仅通过HTTPS提供。

我怀疑这种行为的原因是,HTTP站点正在向您发送redirect到HTTPS站点。 但是,除非明确地处理POSTredirect,否则POST正文(也可能还有其他必要的头文件)正在丢失,从而导致了令人困惑的响应。

Interesting Posts