我有一个端点正在从连接的 Stripe 帐户接收事件。 Webhook 监听 account.updated
事件类型。它按预期工作。但是,当我查看发送到端点的对象时,我不确定什么表明该帐户处于“已启用”状态。我之所以这么问,是因为如果已成功设置连接帐户,我希望客户能够访问他们的 Stripe 仪表板。如果不是,那么我希望他们能够完成帐户设置过程。任何见解将不胜感激。这是我从 Stripe webhook 得到的:
{
"id": "EXAMPLEID",
"object": "event",
"account": "ACCOUNT",
"api_version": "2020-03-02",
"created": 1608614938,
"data": {
"object": {
"id": "ACCOUNTNUMBER",
"object": "account",
"business_profile": {
"mcc": null,
"name": null,
"support_address": null,
"support_email": null,
"support_phone": null,
"support_url": null,
"url": null
},
"capabilities": {
"transfers": "active"
},
"charges_enabled": true,
"country": "US",
"default_currency": "usd",
"details_submitted": true,
"email": null,
"payouts_enabled": true,
"settings": {
"bacs_debit_payments": {
},
"branding": {
"icon": null,
"logo": null,
"primary_color": null,
"secondary_color": null
},
"card_payments": {
"statement_descriptor_prefix": null,
"decline_on": {
"avs_failure": false,
"cvc_failure": false
}
},
"dashboard": {
"display_name": "Books For Everyone",
"timezone": "Etc/UTC"
},
"payments": {
"statement_descriptor": null,
"statement_descriptor_kana": null,
"statement_descriptor_kanji": null
},
"sepa_debit_payments": {
},
"payouts": {
"debit_negative_balances": true,
"schedule": {
"delay_days": 2,
"interval": "daily"
},
"statement_descriptor": null
}
},
"type": "express",
"created": 1608614884,
"external_accounts": {
"object": "list",
"data": [
{
"id": "ID_NUMBER_HERE",
"object": "bank_account",
"account": "ACCOUNT_NUMBER_HERE",
"account_holder_name": null,
"account_holder_type": null,
"available_payout_methods": [
"standard"
],
"bank_name": "STRIPE TEST BANK",
"country": "US",
"currency": "usd",
"default_for_currency": true,
"fingerprint": "x9ELfUw7u81waQkl",
"last4": "6789",
"metadata": {
},
"routing_number": "110000000",
"status": "new"
}
],
"has_more": false,
"total_count": 1,
"url": "/v1/accounts/ACCOUNT_NUMBER/external_accounts"
},
"login_links": {
"object": "list",
"total_count": 0,
"has_more": false,
"url": "/v1/accounts/ACCOUNT_NUMBER/login_links",
"data": [
]
},
"metadata": {
},
"requirements": {
"current_deadline": null,
"currently_due": [
],
"disabled_reason": null,
"errors": [
],
"eventually_due": [
"individual.dob.day",
"individual.dob.month",
"individual.dob.year",
"individual.ssn_last_4"
],
"past_due": [
],
"pending_verification": [
]
},
"tos_acceptance": {
"date": 1608614937
}
},
"previous_attributes": {
"capabilities": {
"transfers": "inactive"
},
"charges_enabled": false,
"details_submitted": false,
"payouts_enabled": false,
"requirements": {
"currently_due": [
"tos_acceptance.date",
"tos_acceptance.ip"
],
"disabled_reason": "requirements.past_due",
"eventually_due": [
"individual.dob.day",
"individual.dob.month",
"individual.dob.year",
"individual.ssn_last_4",
"tos_acceptance.date",
"tos_acceptance.ip"
],
"past_due": [
"tos_acceptance.date",
"tos_acceptance.ip"
]
},
"tos_acceptance": {
"date": null
}
}
},
"livemode": false,
"pending_webhooks": 1,
"request": {
"id": "ID_NUMBER_HERE",
"idempotency_key": null
},
"type": "account.updated"
}
最佳答案
由于现在一个帐户可能用于多种用途,因此不一定需要检查单个属性是否总体“启用”。大多数情况下,您需要查看功能
( docs 、 API reference ),例如在数据中您会看到 transfers: 'active'
,这表明当前已启用帐户transfers .
您还需要关注 requirements
哈希( docs 、 API ref ),Stripe 将通过它通知您需要其他信息 now (或eventually)。
关于javascript - 对于 Stripe 连接帐户,account.updated webhook 对象的哪一部分表明该帐户已启用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65411625/