Files
go-cart-actor/pkg/checkout/mutation_payment_declined.go
T
mats 11be8aec56
Build and Publish / BuildAndDeployArm64 (push) Failing after 1m8s
Build and Publish / BuildAndDeployAmd64 (push) Has been cancelled
name
2026-06-17 00:09:30 +02:00

30 lines
545 B
Go

package checkout
import (
"errors"
"time"
messages "git.k6n.net/mats/go-cart-actor/proto/checkout"
)
func asPointer[T any](value T) *T {
return &value
}
var ErrPaymentNotFound = errors.New("payment not found")
func HandlePaymentDeclined(g *CheckoutGrain, m *messages.PaymentDeclined) error {
payment, found := g.FindPayment(m.PaymentId)
if !found {
return ErrPaymentNotFound
}
payment.CompletedAt = asPointer(time.Now())
payment.Status = "failed"
g.PaymentInProgress--
g.AmountInCentsStarted -= payment.Amount
return nil
}