Skip to content

Commit 711c8c0

Browse files
committed
fix(webhook): set Event.ResourceType field in ParseEvent()
1 parent 42d63ee commit 711c8c0

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

webhook.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,36 +131,52 @@ func (s *ServiceWebhooks) ParseEvent(payload []byte, signatureHeader, webhookSec
131131
resourceName := resourceNameContainer.Data.Resource
132132

133133
switch resourceName {
134+
134135
case "billing_statement":
135136
var resourceContainer eventWithResource[BillingStatement]
136137
if err := json.Unmarshal(payload, &resourceContainer); err != nil {
137138
return nil, fmt.Errorf("could not decode billing statement: %w", err)
138139
}
140+
139141
event.billingStatement = &resourceContainer.Data
142+
event.ResourceType = EventResourceTypeBillingStatement
143+
140144
case "checkout_session":
141145
var resourceContainer eventWithResource[CheckoutSession]
142146
if err := json.Unmarshal(payload, &resourceContainer); err != nil {
143147
return nil, fmt.Errorf("could not decode checkout session: %w", err)
144148
}
149+
145150
event.checkoutSession = &resourceContainer.Data
151+
event.ResourceType = EventResourceTypeCheckoutSession
152+
146153
case "payment_intent":
147154
var resourceContainer eventWithResource[PaymentIntent]
148155
if err := json.Unmarshal(payload, &resourceContainer); err != nil {
149156
return nil, fmt.Errorf("could not decode payment intent: %w", err)
150157
}
158+
151159
event.paymentIntent = &resourceContainer.Data
160+
event.ResourceType = EventResourceTypePaymentIntent
161+
152162
case "payout":
153163
var resourceContainer eventWithResource[Payout]
154164
if err := json.Unmarshal(payload, &resourceContainer); err != nil {
155165
return nil, fmt.Errorf("could not decode payout: %w", err)
156166
}
167+
157168
event.payout = &resourceContainer.Data
169+
event.ResourceType = EventResourceTypePayout
170+
158171
case "refund":
159172
var resourceContainer eventWithResource[Refund]
160173
if err := json.Unmarshal(payload, &resourceContainer); err != nil {
161174
return nil, fmt.Errorf("could not decode refund: %w", err)
162175
}
176+
163177
event.refund = &resourceContainer.Data
178+
event.ResourceType = EventResourceTypeRefund
179+
164180
default:
165181
return nil, fmt.Errorf("unrecognized event resource: '%s'", resourceName)
166182
}

0 commit comments

Comments
 (0)