83 lines
2.1 KiB
Go
83 lines
2.1 KiB
Go
package constants
|
|
|
|
type PaymentMethodType string
|
|
|
|
const (
|
|
PaymentMethodTypeCash PaymentMethodType = "cash"
|
|
PaymentMethodTypeCard PaymentMethodType = "card"
|
|
PaymentMethodTypeDigitalWallet PaymentMethodType = "digital_wallet"
|
|
PaymentMethodTypeQR PaymentMethodType = "qr"
|
|
PaymentMethodTypeEDC PaymentMethodType = "edc"
|
|
)
|
|
|
|
type PaymentStatus string
|
|
|
|
const (
|
|
PaymentStatusPending PaymentStatus = "pending"
|
|
PaymentStatusCompleted PaymentStatus = "completed"
|
|
PaymentStatusFailed PaymentStatus = "failed"
|
|
PaymentStatusRefunded PaymentStatus = "refunded"
|
|
)
|
|
|
|
type PaymentTransactionStatus string
|
|
|
|
const (
|
|
PaymentTransactionStatusPending PaymentTransactionStatus = "pending"
|
|
PaymentTransactionStatusCompleted PaymentTransactionStatus = "completed"
|
|
PaymentTransactionStatusFailed PaymentTransactionStatus = "failed"
|
|
PaymentTransactionStatusRefunded PaymentTransactionStatus = "refunded"
|
|
)
|
|
|
|
func GetAllPaymentMethodTypes() []PaymentMethodType {
|
|
return []PaymentMethodType{
|
|
PaymentMethodTypeCash,
|
|
PaymentMethodTypeCard,
|
|
PaymentMethodTypeDigitalWallet,
|
|
}
|
|
}
|
|
|
|
func GetAllPaymentStatuses() []PaymentStatus {
|
|
return []PaymentStatus{
|
|
PaymentStatusPending,
|
|
PaymentStatusCompleted,
|
|
PaymentStatusFailed,
|
|
PaymentStatusRefunded,
|
|
}
|
|
}
|
|
|
|
func GetAllPaymentTransactionStatuses() []PaymentTransactionStatus {
|
|
return []PaymentTransactionStatus{
|
|
PaymentTransactionStatusPending,
|
|
PaymentTransactionStatusCompleted,
|
|
PaymentTransactionStatusFailed,
|
|
PaymentTransactionStatusRefunded,
|
|
}
|
|
}
|
|
|
|
func IsValidPaymentMethodType(methodType PaymentMethodType) bool {
|
|
for _, validType := range GetAllPaymentMethodTypes() {
|
|
if methodType == validType {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
|
|
func IsValidPaymentStatus(status PaymentStatus) bool {
|
|
for _, validStatus := range GetAllPaymentStatuses() {
|
|
if status == validStatus {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
|
|
func IsValidPaymentTransactionStatus(status PaymentTransactionStatus) bool {
|
|
for _, validStatus := range GetAllPaymentTransactionStatuses() {
|
|
if status == validStatus {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|