如何从Braintree的webhook通知中获取客户的ID?
例如,我可以执行以下操作来获取其ID:
gateway.webhookNotification.parse(sampleNotification.bt_signature, sampleNotification.bt_payload, (err, webhookNotification) => {
let customerId = webhookNotification.subject.subscription.transactions[0].customer.id;
});
但这要求用户首先至少拥有一个交易。如果他们还没有任何交易(例如新用户),我如何获得客户的身份证?
以下是记录webhookNotification
时的响应:
WebhookNotification {
timestamp: '2017-04-30T11:01:33Z',
kind: 'subscription_charged_unsuccessfully',
subject: {
subscription: {
id: 'jywgnr',
transactions: [],
addOns: [],
discounts: []
}
},
subscription: Subscription {
id: 'jywgnr',
transactions: [],
addOns: [],
discounts: []
}
}
答案 0 :(得分:2)
看起来您正在使用订阅webhook。这似乎会在有效负载中返回payment method token,您可以在paymentMethod.find()调用中使用。{/ p>
从该paymentMethod.find('token')结果对象中,您可以检索customer_id。
编辑:看起来因为订阅不成功,该webhook中没有付款方式令牌。但是,您可以在Subscription.find() API调用中使用订阅ID,它肯定会返回包含付款方式令牌的结果对象。