forked from kurtulussahin/iyzipay-go
/
create_payment_request.go
52 lines (45 loc) · 2.29 KB
/
create_payment_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
43
44
45
46
47
48
49
50
51
52
package iyzipay
type CreatePaymentRequest struct {
Locale string `json:"locale,omitempty"`
ConversationId string `json:"conversationId,omitempty"`
Price string `json:"price,omitempty"`
PaidPrice string `json:"paidPrice,omitempty"`
BasketId string `json:"basketId,omitempty"`
Installment string `json:"installment,omitempty"`
PaymentGroup string `json:"paymentGroup,omitempty"`
PaymentCard PaymentCard `json:"paymentCard,omitempty"`
Buyer Buyer `json:"buyer,omitempty"`
ShippingAddress Address `json:"billingAddress,omitempty"`
BillingAddress Address `json:"shippingAddress,omitempty"`
BasketItems []BasketItem `json:"basketItems,omitempty"`
PaymentSource string `json:"paymentSource,omitempty"`
Currency string `json:"currency,omitempty"`
PosOrderId string `json:"posOrderId,omitempty"`
ConnectorName string `json:"connectorName,omitempty"`
CallbackUrl string `json:"callbackUrl,omitempty"`
}
func (request CreatePaymentRequest) toPkiString() string {
pkiBuilder := PkiBuilder{}
pkiBuilder.append("locale", request.Locale)
pkiBuilder.append("conversationId", request.ConversationId)
pkiBuilder.appendPrice("price", request.Price)
pkiBuilder.appendPrice("paidPrice", request.PaidPrice)
pkiBuilder.append("basketId", request.BasketId)
pkiBuilder.append("installment", request.Installment)
pkiBuilder.append("paymentGroup", request.PaymentGroup)
pkiBuilder.append("paymentCard", request.PaymentCard.toPkiString())
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("paymentSource", request.PaymentSource)
pkiBuilder.append("currency", request.Currency)
pkiBuilder.append("posOrderId", request.PosOrderId)
pkiBuilder.append("connectorName", request.ConnectorName)
pkiBuilder.append("callbackUrl", request.CallbackUrl)
return pkiBuilder.getRequestString()
}