2016-11-07 6 views
0

注文時にPAYMENT_UPDATEDイベントが発生するたびにSquareアカウントがリクエストをしているWebhookがあります。私はここでAPIのドキュメントを次のようだ:https://docs.connect.squareup.com/api/connect/v1/#setupwebhooks正方形API:お支払い通知webhookが間違った販売者IDを返しましたか?

それはウェブフックは、これらのパラメータを使用して私のアプリにリクエストを行うことを言う:

{ 
    "merchant_id": "18YC4JBH91E1H", 
    "location_id": "JGHJ0343", 
    "event_type": "PAYMENT_UPDATED", 
    "entity_id": "Jq74mCczmFXk1tC10GB" 
} 

これは私のノードアプリのコードです:

インデックス.jsファイル

app.post("/payment_notifications", (req, resp) => { 
    paymentService.receivePayment(req.body, resp); 
}); 

payment_service.js

module.exports = { 
    receivePayment(requestBody, response){ 
    const { entity_id, location_id, merchant_id } = requestBody; 
    console.log("payment_id: ", entity_id); 
    console.log("location_id: ", location_id); 
    console.log("merchant_id: ", merchant_id); 
    console.dir("requestBody: ", requestBody); 
    console.dir("requestBody.merchant_id: ", requestBody.merchant_id); 
    console.dir("requestBody.location_id: ", requestBody.location_id); 
    getPayment(entity_id, location_id, merchant_id); 
    response.sendStatus(200); 
    }, 
}; 

私のアプリは、各注文のログにlocation_idmerchant_idの同じ値を印刷しています。私は自分のデータベースをチェックし、そのIDは、ロケーションID、いない何が起こっているマーチャントID

2016-11-07T17:28:55.770302+00:00 app[web.1]: payment_id: paymentId123123 
2016-11-07T17:28:55.770328+00:00 app[web.1]: location_id: 6HB994C06J6PE 
2016-11-07T17:28:55.770366+00:00 app[web.1]: merchant_id: 6HB994C06J6PE 

のですか?

+0

場合によっては、販売者IDと所在地IDが同じである可能性がありますが、あなたのケースを見ている可能性は低いです。私はあなたが大きな多目的喫茶店で働いていることを正解していますか? – tristansokol

+0

はい、あなたは正しいです。私のログからは、すべてのロケーションIDが商人ID – Edmund

+0

Gotchaと同じであるように見えます。最近ウェブフックの設定を更新しましたか? – tristansokol

答えて

0

大変申し訳ございませんが、大部分のマルチユニットビジネスの場合、webhookリクエストはロケーションIDのみを持ちます。 webhooksサービスをv2バージョンにアップグレードする作業を進めており、その過程でこれを修正します。

v1/{{location_id}}/businessエンドポイントを使用して、これらの通知から正しい販売者IDを取得してください。

関連する問題