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{} payment := map[string]string{}
paymentLink := "" paymentLink := ""
paymentToken := ""
if order.Payment.RequestMetadata != nil && order.Status != "EXPIRED" { if order.Payment.RequestMetadata != nil && order.Status != "EXPIRED" {
json.Unmarshal(order.Payment.RequestMetadata, &payment) json.Unmarshal(order.Payment.RequestMetadata, &payment)
paymentLink = payment["payment_redirect_url"] paymentLink = payment["payment_redirect_url"]
paymentToken = payment["payment_token"]
}
qrCode := ""
if order.Status == "PAID" {
qrCode = order.RefID
} }
orderDetail := &response.OrderDetail{ orderDetail := &response.OrderDetail{
ID: order.ID, ID: order.ID,
QRCode: order.RefID, QRCode: qrCode,
FullName: order.User.Name, FullName: order.User.Name,
Email: order.User.Email, Email: order.User.Email,
PhoneNumber: order.User.PhoneNumber, PhoneNumber: order.User.PhoneNumber,
TotalAmount: order.Amount, TotalAmount: order.Amount,
CreatedAt: order.CreatedAt, CreatedAt: order.CreatedAt,
Status: order.Status, Status: order.Status,
PaymentLink: paymentLink, PaymentLink: paymentLink,
PaymentToken: paymentToken,
} }
orderDetail.OrderItems = make([]response.OrderDetailItem, len(order.OrderItems)) orderDetail.OrderItems = make([]response.OrderDetailItem, len(order.OrderItems))

View File

@ -150,16 +150,17 @@ type PaymentDistribution struct {
} }
type OrderDetail struct { type OrderDetail struct {
ID int64 `json:"id"` // Order ID ID int64 `json:"id"`
QRCode string `json:"qr_code"` // QR code data (can be a URL or base64 string) QRCode string `json:"qr_code"`
FullName string `json:"full_name"` // Customer's full name FullName string `json:"full_name"`
Email string `json:"email"` // Customer's email address Email string `json:"email"`
PhoneNumber string `json:"phone_number"` // Customer's phone number PhoneNumber string `json:"phone_number"`
OrderItems []OrderDetailItem `json:"order_items"` // List of ordered items OrderItems []OrderDetailItem `json:"order_items"`
TotalAmount float64 `json:"total_amount"` // Total amount paid TotalAmount float64 `json:"total_amount"`
CreatedAt time.Time `json:"created_at"` // Order creation time CreatedAt time.Time `json:"created_at"`
Status string `json:"status"` Status string `json:"status"`
PaymentLink string `json:"payment_link"` PaymentLink string `json:"payment_link"`
PaymentToken string `json:"payment_token"`
} }
type OrderDetailItem struct { type OrderDetailItem struct {