MCPcopy Create free account
hub / github.com/devinterface/startersaas-go-api / HandleWebhook

Method HandleWebhook

services/webhook.service.go:23–39  ·  view source on GitHub ↗

HandleWebhook function

(payload map[string]interface{}, event stripe.Event)

Source from the content-addressed store, hash-verified

21
22// HandleWebhook function
23func (webhookService *WebhookService) HandleWebhook(payload map[string]interface{}, event stripe.Event) (success bool, err error) {
24 go func(payload map[string]interface{}) {
25 webhook := &models.Webhook{}
26 webhook.Payload = payload
27 mgm.CollectionByName("webhook").Create(webhook)
28 }(payload)
29 if event.Type == "invoice.paid" {
30 success, err = webhookService.PaymentSuccessful(event)
31 } else if event.Type == "invoice.payment_failed" {
32 success, err = webhookService.PaymentFailed(event)
33 } else if event.Type == "customer.subscription.created" {
34 success, err = webhookService.SubscriptionUpdated(event)
35 } else if event.Type == "customer.subscription.updated" {
36 success, err = webhookService.SubscriptionUpdated(event)
37 }
38 return success, err
39}
40
41// PaymentSucceeded function
42func (webhookService *WebhookService) PaymentSuccessful(event stripe.Event) (success bool, err error) {

Callers

nothing calls this directly

Calls 4

PaymentSuccessfulMethod · 0.95
PaymentFailedMethod · 0.95
SubscriptionUpdatedMethod · 0.95
CreateMethod · 0.45

Tested by

no test coverage detected