如何使用 Braintree 从 webhook 获取客户 ID?
How to get a customer's ID from a webhook with Braintree?
如何从 Braintree 的 webhook 通知中获取客户 ID?
例如,我可以执行以下操作来获取他们的 ID:
gateway.webhookNotification.parse(sampleNotification.bt_signature, sampleNotification.bt_payload, (err, webhookNotification) => {
let customerId = webhookNotification.subject.subscription.transactions[0].customer.id;
});
但这需要用户至少先进行一次交易。如果客户还没有任何交易(例如新用户),我如何获取他们的 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: []
}
}
您似乎在使用订阅网络钩子。这似乎 return 一个 payment method token in the payload, which you can use in paymentMethod.find() 调用。
从 paymentMethod.find('token') 结果对象中,您可以检索 customer_id.
编辑:看起来是因为订阅不成功,所以该 webhook 中没有付款方式令牌。但是,有一个订阅 ID,您可以在 Subscription.find() API 调用中使用它,这肯定会 return 一个包含支付方式令牌的结果对象。
如何从 Braintree 的 webhook 通知中获取客户 ID?
例如,我可以执行以下操作来获取他们的 ID:
gateway.webhookNotification.parse(sampleNotification.bt_signature, sampleNotification.bt_payload, (err, webhookNotification) => {
let customerId = webhookNotification.subject.subscription.transactions[0].customer.id;
});
但这需要用户至少先进行一次交易。如果客户还没有任何交易(例如新用户),我如何获取他们的 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: []
}
}
您似乎在使用订阅网络钩子。这似乎 return 一个 payment method token in the payload, which you can use in paymentMethod.find() 调用。
从 paymentMethod.find('token') 结果对象中,您可以检索 customer_id.
编辑:看起来是因为订阅不成功,所以该 webhook 中没有付款方式令牌。但是,有一个订阅 ID,您可以在 Subscription.find() API 调用中使用它,这肯定会 return 一个包含支付方式令牌的结果对象。