Siirry sisältöön

Go-SDK

Terminal window
go get github.com/feitpay/feitpay-go
client, err := feitpay.New(os.Getenv("FEITPAY_API_KEY"),
feitpay.WithBaseURL("https://api.feitpay.com"),
feitpay.WithMaxRetries(2),
)
intent, err := client.PaymentIntents.Create(ctx, &feitpay.PaymentIntentCreateParams{
StoreID: "store_YOUR_STORE_ID", Amount: "59.90", Currency: "EUR", IdempotencyKey: "order-123",
})
for pi, err := range client.PaymentIntents.All(ctx, &feitpay.PaymentIntentListParams{
Status: []feitpay.PaymentStatus{feitpay.StatusConfirmed},
}) {
if err != nil {
return err
}
fmt.Println(pi.ID, pi.Fulfillable)
}

Virheet ovat tyyppiä *feitpay.Error, jolla on kentät Type, Code, Param, Status, RequestID ja RetryAfter; nopeisiin tarkistuksiin voit käyttää funktiota feitpay.ErrorType(err). Asiakas on turvallinen samanaikaiseen käyttöön; käytä yhtä instanssia uudelleen.

Palvelut: PaymentIntents (Create, Get, List, All, Cancel, Resolve, Timeline), CheckoutSessions, WebhookEndpoints (Create, List, RotateSecret, SendTest), WebhookDeliveries (Get, Retry) ja Platform (Capabilities). Muut päätepisteet löydät API-viitteestä.

event, err := webhook.Verify(body, r.Header.Get(webhook.SignatureHeader), []string{secret, previousSecret}, nil)
if err != nil {
http.Error(w, string(webhook.ReasonOf(err)), http.StatusBadRequest)
return
}
data, _ := event.PaymentData()

webhook.Options{Tolerance: …, Now: …} mukauttaa toleranssin ja ajan testejä varten; webhook.GenerateTestHeader luo kelvollisia otsakkeita.