forked from kurtulussahin/iyzipay-go
/
create_bkm_initialize_request.go
42 lines (35 loc) · 1.8 KB
/
create_bkm_initialize_request.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package iyzipay
type CreateBkmInitializeRequest struct {
Locale string `json:"locale,omitempty"`
ConversationId string `json:"conversationId,omitempty"`
Price string `json:"price,omitempty"`
BasketId string `json:"basketId,omitempty"`
PaymentGroup string `json:"paymentGroup,omitempty"`
Buyer Buyer `json:"buyer,omitempty"`
ShippingAddress Address `json:"billingAddress,omitempty"`
BillingAddress Address `json:"shippingAddress,omitempty"`
BasketItems []BasketItem `json:"basketItems,omitempty"`
CallbackUrl string `json:"callbackUrl,omitempty"`
PaymentSource string `json:"paymentSource,omitempty"`
EnabledInstallments []string `json:"enabledInstallments,omitempty"`
}
func (request CreateBkmInitializeRequest) toPkiString() string {
pkiBuilder := PkiBuilder{}
pkiBuilder.append("locale", request.Locale)
pkiBuilder.append("conversationId", request.ConversationId)
pkiBuilder.appendPrice("price", request.Price)
pkiBuilder.append("basketId", request.BasketId)
pkiBuilder.append("paymentGroup", request.PaymentGroup)
pkiBuilder.append("buyer", request.Buyer.toPkiString())
pkiBuilder.append("shippingAddress", request.ShippingAddress.toPkiString())
pkiBuilder.append("billingAddress", request.BillingAddress.toPkiString())
basketItemsPki := []string{}
for i := range request.BasketItems {
basketItemsPki = append(basketItemsPki, request.BasketItems[i].toPkiString())
}
pkiBuilder.appendArray("basketItems", basketItemsPki)
pkiBuilder.append("callbackUrl", request.CallbackUrl)
pkiBuilder.append("paymentSource", request.PaymentSource)
pkiBuilder.appendArray("enabledInstallments", request.EnabledInstallments)
return pkiBuilder.getRequestString()
}