Update Payment VA

This commit is contained in:
aditya.siregar
2024-10-15 11:52:34 +07:00
parent d458f0649d
commit 764ea68bf9
17 changed files with 697 additions and 81 deletions
+58
View File
@@ -0,0 +1,58 @@
package entity
type LinkQuRequest struct {
CustomerID string
CustomerName string
CustomerPhone string
CustomerEmail string
PaymentReferenceID string
PaymentMethod string
TotalAmount int64
BankCode string
OrderItems []OrderItem
}
type LinkQuQRISResponse struct {
Time int `json:"time"`
Amount int64 `json:"amount"`
Expired string `json:"expired"`
CustomerPhone string `json:"customer_phone"`
CustomerID string `json:"customer_id"`
CustomerName string `json:"customer_name"`
CustomerEmail string `json:"customer_email"`
PartnerReff string `json:"partner_reff"`
Username string `json:"username"`
Pin string `json:"pin"`
Status string `json:"status"`
ResponseCode string `json:"response_code"`
ResponseDesc string `json:"response_desc"`
ImageQRIS string `json:"imageqris"`
PartnerReff2 string `json:"partner_reff2"`
FeeAdmin int `json:"feeadmin"`
QRISText string `json:"qris_text"`
Signature string `json:"signature"`
URLCallback string `json:"url_callback"`
}
type LinkQuPaymentVAResponse struct {
Time int `json:"time"`
Amount int `json:"amount"`
Expired string `json:"expired"`
BankCode string `json:"bank_code"`
BankName string `json:"bank_name"`
CustomerPhone string `json:"customer_phone"`
CustomerID string `json:"customer_id"`
CustomerName string `json:"customer_name"`
CustomerEmail string `json:"customer_email"`
PartnerReff string `json:"partner_reff"`
Username string `json:"username"`
Pin string `json:"pin"`
Status string `json:"status"`
ResponseCode string `json:"response_code"`
ResponseDesc string `json:"response_desc"`
VirtualAccount string `json:"virtual_account"`
PartnerReff2 string `json:"partner_reff2"`
Remark string `json:"remark"`
Signature string `json:"signature"`
UrlCallback string `json:"url_callback"`
}
+31 -24
View File
@@ -1,30 +1,32 @@
package entity
import (
"gorm.io/datatypes"
"time"
)
type Order struct {
ID int64 `gorm:"primaryKey;autoIncrement;column:id"`
RefID string `gorm:"type:varchar;column:ref_id"`
PartnerID int64 `gorm:"type:int;column:partner_id"`
Status string `gorm:"type:varchar;column:status"`
Amount float64 `gorm:"type:numeric;not null;column:amount"`
Total float64 `gorm:"type:numeric;not null;column:total"`
Fee float64 `gorm:"type:numeric;not null;column:fee"`
SiteID *int64 `gorm:"type:numeric;not null;column:site_id"`
Site *Site `gorm:"foreignKey:SiteID;constraint:OnDelete:CASCADE;"`
CreatedAt time.Time `gorm:"autoCreateTime;column:created_at"`
UpdatedAt time.Time `gorm:"autoUpdateTime;column:updated_at"`
CreatedBy int64 `gorm:"type:int;column:created_by"`
PaymentType string `gorm:"type:varchar;column:payment_type"`
UpdatedBy int64 `gorm:"type:int;column:updated_by"`
OrderItems []OrderItem `gorm:"foreignKey:OrderID;constraint:OnDelete:CASCADE;"`
Payment Payment `gorm:"foreignKey:OrderID;constraint:OnDelete:CASCADE;"`
User User `gorm:"foreignKey:CreatedBy;constraint:OnDelete:CASCADE;"`
Source string `gorm:"type:varchar;column:source"`
TicketStatus string `gorm:"type:varchar;column:ticket_status"`
VisitDate time.Time `gorm:"type:date;column:visit_date"`
ID int64 `gorm:"primaryKey;autoIncrement;column:id"`
RefID string `gorm:"type:varchar;column:ref_id"`
PartnerID int64 `gorm:"type:int;column:partner_id"`
Status string `gorm:"type:varchar;column:status"`
Amount float64 `gorm:"type:numeric;not null;column:amount"`
Total float64 `gorm:"type:numeric;not null;column:total"`
Fee float64 `gorm:"type:numeric;not null;column:fee"`
SiteID *int64 `gorm:"type:numeric;not null;column:site_id"`
Site *Site `gorm:"foreignKey:SiteID;constraint:OnDelete:CASCADE;"`
CreatedAt time.Time `gorm:"autoCreateTime;column:created_at"`
UpdatedAt time.Time `gorm:"autoUpdateTime;column:updated_at"`
CreatedBy int64 `gorm:"type:int;column:created_by"`
PaymentType string `gorm:"type:varchar;column:payment_type"`
UpdatedBy int64 `gorm:"type:int;column:updated_by"`
OrderItems []OrderItem `gorm:"foreignKey:OrderID;constraint:OnDelete:CASCADE;"`
Payment Payment `gorm:"foreignKey:OrderID;constraint:OnDelete:CASCADE;"`
User User `gorm:"foreignKey:CreatedBy;constraint:OnDelete:CASCADE;"`
Source string `gorm:"type:varchar;column:source"`
TicketStatus string `gorm:"type:varchar;column:ticket_status"`
VisitDate time.Time `gorm:"type:date;column:visit_date"`
Metadata datatypes.JSON `gorm:"type:json;not null;column:metadata"`
}
type OrderDB struct {
@@ -59,10 +61,13 @@ type CheckinExecute struct {
}
type ExecuteOrderResponse struct {
Order *Order
QRCode string
PaymentToken string
RedirectURL string
Order *Order
QRCode string
VirtualAccount string
BankName string
BankCode string
PaymentToken string
RedirectURL string
}
func (Order) TableName() string {
@@ -94,6 +99,8 @@ type OrderRequest struct {
PaymentMethod string `json:"payment_method" validate:"required"`
OrderItems []OrderItemRequest `json:"order_items" validate:"required,dive"`
VisitDate string `json:"visit_date"`
BankCode string `json:"bank_code"`
BankName string `json:"bank_name"`
}
type OrderItemRequest struct {
+23
View File
@@ -0,0 +1,23 @@
package entity
type PaymentRequest struct {
PaymentReferenceID string
Provider string
TotalAmount int64
CustomerID string
CustomerName string
CustomerPhone string
CustomerEmail string
BankCode string
}
type PaymentResponse struct {
Token string
RedirectURL string
QRCodeURL string
OrderID string
Amount int64
VirtualAccountNumber string
BankName string
BankCode string
}