package rudder import ( "context" "net/http" "net/url" "hub.rudder.build/rudder/rudder-go-sdk/models" ) type WalletService struct { transport *transport } type AdjustWalletParameters struct { CurrencyCode string Amount int64 Reason string IdempotencyKey string } func (s *WalletService) Adjust(ctx context.Context, playerID string, parameters AdjustWalletParameters) (*models.WalletDetails, error) { body := models.AdjustPlayerWalletRequest{ PlayerID: playerID, CurrencyCode: parameters.CurrencyCode, Amount: parameters.Amount, Reason: parameters.Reason, IdempotencyKey: parameters.IdempotencyKey, } var response models.WalletDetails if err := s.transport.do(ctx, http.MethodPost, "/players/"+url.PathEscape(playerID)+"/wallet/adjust", nil, body, &response); err != nil { return nil, err } return &response, nil }