diff --git a/internal/interface/swagger/money.go b/internal/interface/swagger/money.go index 5e0aa48..9fc54c5 100644 --- a/internal/interface/swagger/money.go +++ b/internal/interface/swagger/money.go @@ -6,6 +6,7 @@ import ( "go.uber.org/zap" "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/errors" "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models" + utils "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/utils/transfer" "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/proto/treasurer" ) @@ -42,6 +43,13 @@ func (api *API2) GetPaymentLinkBankCard(ctx context.Context, request *models.Get ClientIP: request.ClientIP, CallbackHostGRPC: []string{api.grpc.Domen}, ReturnURL: request.Body.ReturnURL, + Customer: &treasurer.Customer{ + FullName: request.Customer.FullName, + INN: request.Customer.INN, + Email: request.Customer.Email, + Phone: request.Customer.Phone, + }, + Items: utils.ReceiptItemsToProto(request.Items), }, }) if err != nil { @@ -61,6 +69,13 @@ func (api *API2) GetPaymentLinkYooMoney(ctx context.Context, request *models.Get ClientIP: request.ClientIP, CallbackHostGRPC: []string{api.grpc.Domen}, ReturnURL: request.Body.ReturnURL, + Customer: &treasurer.Customer{ + FullName: request.Customer.FullName, + INN: request.Customer.INN, + Email: request.Customer.Email, + Phone: request.Customer.Phone, + }, + Items: utils.ReceiptItemsToProto(request.Items), }, }) if err != nil { @@ -80,6 +95,13 @@ func (api *API2) GetPaymentLinkSberPay(ctx context.Context, request *models.GetP ClientIP: request.ClientIP, CallbackHostGRPC: []string{api.grpc.Domen}, ReturnURL: request.Body.ReturnURL, + Customer: &treasurer.Customer{ + FullName: request.Customer.FullName, + INN: request.Customer.INN, + Email: request.Customer.Email, + Phone: request.Customer.Phone, + }, + Items: utils.ReceiptItemsToProto(request.Items), }, }) if err != nil { @@ -99,6 +121,13 @@ func (api *API2) GetPaymentLinkTinkoff(ctx context.Context, request *models.GetP ClientIP: request.ClientIP, CallbackHostGRPC: []string{api.grpc.Domen}, ReturnURL: request.Body.ReturnURL, + Customer: &treasurer.Customer{ + FullName: request.Customer.FullName, + INN: request.Customer.INN, + Email: request.Customer.Email, + Phone: request.Customer.Phone, + }, + Items: utils.ReceiptItemsToProto(request.Items), }, }) if err != nil { diff --git a/internal/utils/transfer/payment.go b/internal/utils/transfer/payment.go index cca5f39..873f558 100644 --- a/internal/utils/transfer/payment.go +++ b/internal/utils/transfer/payment.go @@ -1,3 +1,22 @@ package transfer +import( + "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models" + "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/proto/treasurer" +) +func ReceiptItemToProto(in models.Item) *treasurer.Item { + return &treasurer.Item{ + Description: in.Description, + Measure: in.Measure, + Quantity: in.Quantity, + Money: in.Money, + Currency: in.Currency, + } +} - +func ReceiptItemsToProto(in []models.Item) []*treasurer.Item { + result := make([]*treasurer.Item, len(in), len(in)) + for i, item := range in { + result[i] = ReceiptItemToProto(item) + } + return result +}