@@ -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