2017-05-11 10 views
0

ここで見つけたSquare REST APIをhttps://docs.connect.squareup.com/api/connect/v2/#endpoint-createcustomercardからNode.jsで実行するバックエンドコードに変換しています。現在、私は、CreateCustomerCardエンドポイントを持つ既存の顧客にカードを追加しようとしています。 card_nonceを提出しようとしたときNode Unirest(Square)でcard_nonceを設定する方法

はしかし、私は、次のエラーが発生します:customerCard.jsを参照

const square = require('./square'), 
    unirest = require('unirest'); 

let access_token = 'access-token-string'; 

square.CustomerCards.createCustomerCard({ 
    "customer_id": 'customer-id-string', 
    "card_nonce": 'card-nonce-string', 
    "cardholder_name": 'Name Name' 
}).then(response => { 
    console.log(response.raw_body); 
}) 

を次のように

errors: 
    [{ category: 'INVALID_REQUEST_ERROR', 
    code: 'MISSING_REQUIRED_PARAMETER', 
    detail: 'Field must be set', 
    field: 'card_nonce' 
}] 

私はtest.jsから機能を実行しています

const unirest = require('unirest'); 

module.exports = { 
    // Adds a card on file to an existing customer 
    // Requires access_token, customer_id, and card_nonce 
    createCustomerCard: function({access_token, card_nonce, billing_address, cardholder_name, customer_id}) { 
    return new Promise((resolve, reject) => { 
     unirest.post(this.domain + '/customers/' + customer_id + '/cards') 
     // Required permissions: CUSTOMERS_WRITE 
     .headers({ 
      'Content-Type': 'application/json', 
      "Authorization": "Bearer " + access_token 
     }) 
     .send({ 
      // Required: A card nonce representing the credit card to link to the customer. 
      "card_nonce": card_nonce, 
      "billing_address": billing_address, 
      "cardholder_name": cardholder_name 
     }) 
     .end(function (response) { 
      resolve(response) 
     }) 
    }); 
    } 
}; 
+0

https://www.npmjs.com/package/square-connect-apiを試してみましたか? – tristansokol

+0

Hm、no。私がNPMで「広場」を検索したとき、最初の数ページには出てこなかった。今すぐ試してみてください... – KVNA

+0

本来の約束をサポートするバージョンはありますか? – KVNA

答えて

0

変数this.domainは正規表現が無効で混乱しているSquareのエラーハンドラになるように、https://connect.squareup.com/v2/を設定します。

関連する問題