Skip to content

Changelog

Thank you, we'll let you know when we update our APIs.

There was an issue subscribe to the news, please try again later.

Sign up for developer updates:
You can unsubscribe at any time. Read our privacy policy .

Golang SDK

We are happy to announce the beta release of our Go SDK. The SDK is maintained under sumup/sumup-go with its acompanying documentation at pkg.go.dev.

The Golang SDK provides easy access to SumUp APIs:

package main
import (
"context"
"log"
"os"
"github.com/sumup/sumup-go"
)
func main() {
ctx := context.Background()
client := sumup.NewClient().WithAuth(os.Getenv("SUMUP_KEY"))
checkout, err := client.Checkouts.Create(ctx, sumup.CreateCheckoutBody{
Amount: 123,
CheckoutReference: "TX000001",
Currency: "EUR",
MerchantCode: "MK0001",
})
if err != nil {
log.Printf("[ERROR] create checkout: %v", err)
return
}
log.Printf("[INFO] checkout created: id=%q, amount=%v, currency=%q", *checkout.Id, *checkout.Amount, string(*checkout.Currency))
checkoutSuccess, err := client.Checkouts.Process(ctx, *checkout.Id, sumup.ProcessCheckoutBody{
Card: &sumup.Card{
Cvv: "123",
ExpiryMonth: "12",
ExpiryYear: "2023",
Name: "Boaty McBoatface",
Number: "4200000000000042",
},
PaymentType: sumup.ProcessCheckoutBodyPaymentTypeCard,
})
if err != nil {
log.Printf("[ERROR] process checkout: %v", err)
return
}
log.Printf("[INFO] checkout processed: id=%q, transaction_id=%q", *checkoutSuccess.Id, string(*(*checkoutSuccess.Transactions)[0].Id))
}

See the repository for more examples and don't hesitate to let us know if you have any questions.