Update Payment Token

This commit is contained in:
aditya.siregar 2024-08-19 18:26:57 +07:00
parent 0e5b58ddfb
commit 3252456413
2 changed files with 29 additions and 19 deletions

View File

@ -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))

View File

@ -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 {