github.com/Ingenico-ePayments/connect-sdk-go@v0.0.0-20240318153750-1f8cd329b9c9/merchant/products/GetParams.go (about)

     1  // This class was auto-generated from the API references found at
     2  // https://epayments-api.developer-ingenico.com/
     3  
     4  package products
     5  
     6  import (
     7  	"strconv"
     8  
     9  	"github.com/Ingenico-ePayments/connect-sdk-go/communicator"
    10  )
    11  
    12  // GetParams represents query parameters for Get payment product
    13  // Documentation can be found at https://epayments-api.developer-ingenico.com/s2sapi/v1/en_US/go/products/get.html
    14  type GetParams struct {
    15  	CountryCode    *string
    16  	CurrencyCode   *string
    17  	Locale         *string
    18  	Amount         *int64
    19  	IsRecurring    *bool
    20  	IsInstallments *bool
    21  	Hide           []string
    22  	ForceBasicFlow *bool
    23  }
    24  
    25  // AddHide adds an element to the Hide array.
    26  func (params *GetParams) AddHide(value string) {
    27  	params.Hide = append(params.Hide, value)
    28  	return
    29  }
    30  
    31  // ToRequestParameters converts the query to communicator.RequestParams
    32  func (params *GetParams) ToRequestParameters() communicator.RequestParams {
    33  	reqParams := communicator.RequestParams{}
    34  
    35  	if params.CountryCode != nil {
    36  		param, _ := communicator.NewRequestParam("countryCode", *params.CountryCode)
    37  		reqParams = append(reqParams, *param)
    38  	}
    39  	if params.CurrencyCode != nil {
    40  		param, _ := communicator.NewRequestParam("currencyCode", *params.CurrencyCode)
    41  		reqParams = append(reqParams, *param)
    42  	}
    43  	if params.Locale != nil {
    44  		param, _ := communicator.NewRequestParam("locale", *params.Locale)
    45  		reqParams = append(reqParams, *param)
    46  	}
    47  	if params.Amount != nil {
    48  		param, _ := communicator.NewRequestParam("amount", strconv.FormatInt(*params.Amount, 10))
    49  		reqParams = append(reqParams, *param)
    50  	}
    51  	if params.IsRecurring != nil {
    52  		param, _ := communicator.NewRequestParam("isRecurring", strconv.FormatBool(*params.IsRecurring))
    53  		reqParams = append(reqParams, *param)
    54  	}
    55  	if params.IsInstallments != nil {
    56  		param, _ := communicator.NewRequestParam("isInstallments", strconv.FormatBool(*params.IsInstallments))
    57  		reqParams = append(reqParams, *param)
    58  	}
    59  	for _, hideElement := range params.Hide {
    60  		param, _ := communicator.NewRequestParam("hide", hideElement)
    61  		reqParams = append(reqParams, *param)
    62  	}
    63  	if params.ForceBasicFlow != nil {
    64  		param, _ := communicator.NewRequestParam("forceBasicFlow", strconv.FormatBool(*params.ForceBasicFlow))
    65  		reqParams = append(reqParams, *param)
    66  	}
    67  
    68  	return reqParams
    69  }
    70  
    71  // NewGetParams constructs an instance of GetParams
    72  func NewGetParams() *GetParams {
    73  	return &GetParams{}
    74  }