package cart import ( "errors" "time" messages "git.k6n.net/go-cart-actor/pkg/messages" ) func asPointer[T any](value T) *T { return &value } var ErrPaymentNotFound = errors.New("payment not found") func PaymentDeclined(grain *CartGrain, req *messages.PaymentDeclined) error { payment, found := grain.FindPayment(req.PaymentId) if !found { return ErrPaymentNotFound } payment.CompletedAt = asPointer(time.Now()) payment.Status = PaymentStatusFailed return nil }