Stripe 托管帐户网络挂钩和 rails
Stripe managed account webhooks and rails
我正在 rails 建立一个市场 5. 我已经能够使用 'stripe gem'
通过 条带连接 'custom managed account' .
我也在使用 'stripe_event gem'
来捕获来自 stripe 的 webhook。我可以使用标准条带帐户毫无问题地做到这一点。
但是,基于使用 stripe connect 时的 stripe docs,我必须在某处添加另一个 account attribute
。由于被挂钩的事件不存在于主条带帐户中,而是存在于连接的帐户中。
完全有道理我只是不知道如何更新我的 class 来这样做。
Stripe.api_key = Rails.configuration.stripe[:secret_key]
class RecordAccount
def call(event)
myevent = event.data.object
#Look up StripeAccount in our database
stripe_account = StripeAccount.where(stripe_id: myevent.account).last
#Record Verification details and status in StripeAccount
u = stripe_account.update_attributes(
verification_status: myevent.legal_entity.verification.status,
verification_details: myevent.legal_entity.verification.details,
)
u.save
end
end
StripeEvent.configure do |events|
events.subscribe 'account.updated', RecordAccount.new
end
我从上面得到的响应是 404 - 事件 XXXX 未找到。这是有道理的,但我该如何解决它。我知道这是一个简单的答案,我只是盯着屏幕看了太久。
我没有使用过您提到的 gem,但我在连接帐户事件时遇到了同样的问题。就我而言,我刚刚在我的应用程序中设置了一个端点来接收 Stripe webhook 事件。
重要的是,对于连接的帐户,您必须在有效负载中使用 "account" 属性 和事件 ID,而对于与您的帐户相关的事件,您只需使用事件id.
这是我的意思的代码示例
begin
payload = JSON.parse(request.body.read)
# Verify the event by fetching it from Stripe
if payload['account'].present?
# This is for connected accounts
Stripe::Event.retrieve(payload['id'], stripe_account: payload['account'])
else
# Normal events
Stripe::Event.retrieve(payload['id'])
end
rescue Stripe::StripeError => e
# Handle this however you prefer
raise ActiveRecord::RecordNotFound.new(e)
end
希望对您有所帮助!
我正在 rails 建立一个市场 5. 我已经能够使用 'stripe gem'
通过 条带连接 'custom managed account' .
我也在使用 'stripe_event gem'
来捕获来自 stripe 的 webhook。我可以使用标准条带帐户毫无问题地做到这一点。
但是,基于使用 stripe connect 时的 stripe docs,我必须在某处添加另一个 account attribute
。由于被挂钩的事件不存在于主条带帐户中,而是存在于连接的帐户中。
完全有道理我只是不知道如何更新我的 class 来这样做。
Stripe.api_key = Rails.configuration.stripe[:secret_key]
class RecordAccount
def call(event)
myevent = event.data.object
#Look up StripeAccount in our database
stripe_account = StripeAccount.where(stripe_id: myevent.account).last
#Record Verification details and status in StripeAccount
u = stripe_account.update_attributes(
verification_status: myevent.legal_entity.verification.status,
verification_details: myevent.legal_entity.verification.details,
)
u.save
end
end
StripeEvent.configure do |events|
events.subscribe 'account.updated', RecordAccount.new
end
我从上面得到的响应是 404 - 事件 XXXX 未找到。这是有道理的,但我该如何解决它。我知道这是一个简单的答案,我只是盯着屏幕看了太久。
我没有使用过您提到的 gem,但我在连接帐户事件时遇到了同样的问题。就我而言,我刚刚在我的应用程序中设置了一个端点来接收 Stripe webhook 事件。
重要的是,对于连接的帐户,您必须在有效负载中使用 "account" 属性 和事件 ID,而对于与您的帐户相关的事件,您只需使用事件id.
这是我的意思的代码示例
begin
payload = JSON.parse(request.body.read)
# Verify the event by fetching it from Stripe
if payload['account'].present?
# This is for connected accounts
Stripe::Event.retrieve(payload['id'], stripe_account: payload['account'])
else
# Normal events
Stripe::Event.retrieve(payload['id'])
end
rescue Stripe::StripeError => e
# Handle this however you prefer
raise ActiveRecord::RecordNotFound.new(e)
end
希望对您有所帮助!