package handlers import ( "bytes" "html/template" ) type paymentSuccessPageData struct { Title string Headline string Body string Helper string BadgeLabel string StatusLabel string Reference string PlanName string ActionLabel string ActionHref string } func renderPaymentSuccessPage(data paymentSuccessPageData) (string, error) { const tpl = ` {{.Title}}
{{.BadgeLabel}}

Yimaru Academy

{{.Headline}}

{{.Body}}

{{if .Helper}}

{{.Helper}}

{{end}}

Status

{{.StatusLabel}}

{{if .PlanName}}

Plan: {{.PlanName}}

{{end}} {{if .Reference}}

Reference: {{.Reference}}

{{end}}

Yimaru Academy subscription payments are verified securely before access is granted.

` t, err := template.New("payment-success").Parse(tpl) if err != nil { return "", err } var buf bytes.Buffer if err := t.Execute(&buf, data); err != nil { return "", err } return buf.String(), nil } func defaultPaymentSuccessPage() paymentSuccessPageData { return paymentSuccessPageData{ Title: "Subscription Payment Successful", Headline: "Your Yimaru Academy payment was received", Body: "Thank you for your payment. Your subscription is being activated and you can return to Yimaru Academy shortly.", BadgeLabel: "Payment successful", StatusLabel: "Activation in progress", ActionLabel: "Continue learning", ActionHref: "/", } } func firstNonEmpty(values ...string) string { for _, value := range values { if value != "" { return value } } return "" } func derefString(value *string) string { if value == nil { return "" } return *value }