From 32524564139868e4a45ea692edc5ddd0af062949 Mon Sep 17 00:00:00 2001 From: "aditya.siregar" Date: Mon, 19 Aug 2024 18:26:57 +0700 Subject: [PATCH] Update Payment Token --- internal/handlers/http/customerorder/order.go | 27 ++++++++++++------- internal/handlers/response/order.go | 21 ++++++++------- 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/internal/handlers/http/customerorder/order.go b/internal/handlers/http/customerorder/order.go index 47683a3..978d97b 100644 --- a/internal/handlers/http/customerorder/order.go +++ b/internal/handlers/http/customerorder/order.go @@ -219,22 +219,31 @@ func (h *Handler) toOrderDetail(order *entity.Order) *response.OrderDetail { payment := map[string]string{} paymentLink := "" + paymentToken := "" if order.Payment.RequestMetadata != nil && order.Status != "EXPIRED" { json.Unmarshal(order.Payment.RequestMetadata, &payment) paymentLink = payment["payment_redirect_url"] + paymentToken = payment["payment_token"] + } + + qrCode := "" + + if order.Status == "PAID" { + qrCode = order.RefID } orderDetail := &response.OrderDetail{ - ID: order.ID, - QRCode: order.RefID, - FullName: order.User.Name, - Email: order.User.Email, - PhoneNumber: order.User.PhoneNumber, - TotalAmount: order.Amount, - CreatedAt: order.CreatedAt, - Status: order.Status, - PaymentLink: paymentLink, + ID: order.ID, + QRCode: qrCode, + FullName: order.User.Name, + Email: order.User.Email, + PhoneNumber: order.User.PhoneNumber, + TotalAmount: order.Amount, + CreatedAt: order.CreatedAt, + Status: order.Status, + PaymentLink: paymentLink, + PaymentToken: paymentToken, } orderDetail.OrderItems = make([]response.OrderDetailItem, len(order.OrderItems)) diff --git a/internal/handlers/response/order.go b/internal/handlers/response/order.go index 2c501ba..ec9800a 100644 --- a/internal/handlers/response/order.go +++ b/internal/handlers/response/order.go @@ -150,16 +150,17 @@ type PaymentDistribution struct { } type OrderDetail struct { - ID int64 `json:"id"` // Order ID - QRCode string `json:"qr_code"` // QR code data (can be a URL or base64 string) - FullName string `json:"full_name"` // Customer's full name - Email string `json:"email"` // Customer's email address - PhoneNumber string `json:"phone_number"` // Customer's phone number - OrderItems []OrderDetailItem `json:"order_items"` // List of ordered items - TotalAmount float64 `json:"total_amount"` // Total amount paid - CreatedAt time.Time `json:"created_at"` // Order creation time - Status string `json:"status"` - PaymentLink string `json:"payment_link"` + ID int64 `json:"id"` + QRCode string `json:"qr_code"` + FullName string `json:"full_name"` + Email string `json:"email"` + PhoneNumber string `json:"phone_number"` + OrderItems []OrderDetailItem `json:"order_items"` + TotalAmount float64 `json:"total_amount"` + CreatedAt time.Time `json:"created_at"` + Status string `json:"status"` + PaymentLink string `json:"payment_link"` + PaymentToken string `json:"payment_token"` } type OrderDetailItem struct {