-
Notifications
You must be signed in to change notification settings - Fork 58
/
model_virtual_account_channel_code.go
151 lines (128 loc) · 4.36 KB
/
model_virtual_account_channel_code.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/*
Payment Requests
This API is used for Payment Requests
API version: 1.45.2
*/
package payment_request
import (
"encoding/json"
"fmt"
)
// VirtualAccountChannelCode Virtual Account Channel Code
type VirtualAccountChannelCode string
// List of VirtualAccountChannelCode
const (
VIRTUALACCOUNTCHANNELCODE_BCA VirtualAccountChannelCode = "BCA"
VIRTUALACCOUNTCHANNELCODE_BJB VirtualAccountChannelCode = "BJB"
VIRTUALACCOUNTCHANNELCODE_BNI VirtualAccountChannelCode = "BNI"
VIRTUALACCOUNTCHANNELCODE_BRI VirtualAccountChannelCode = "BRI"
VIRTUALACCOUNTCHANNELCODE_MANDIRI VirtualAccountChannelCode = "MANDIRI"
VIRTUALACCOUNTCHANNELCODE_PERMATA VirtualAccountChannelCode = "PERMATA"
VIRTUALACCOUNTCHANNELCODE_BSI VirtualAccountChannelCode = "BSI"
VIRTUALACCOUNTCHANNELCODE_CIMB VirtualAccountChannelCode = "CIMB"
VIRTUALACCOUNTCHANNELCODE_SAHABAT_SAMPOERNA VirtualAccountChannelCode = "SAHABAT_SAMPOERNA"
VIRTUALACCOUNTCHANNELCODE_ARTAJASA VirtualAccountChannelCode = "ARTAJASA"
VIRTUALACCOUNTCHANNELCODE_PV VirtualAccountChannelCode = "PV"
VIRTUALACCOUNTCHANNELCODE_VIETCAPITAL VirtualAccountChannelCode = "VIETCAPITAL"
VIRTUALACCOUNTCHANNELCODE_WOORI VirtualAccountChannelCode = "WOORI"
VIRTUALACCOUNTCHANNELCODE_MSB VirtualAccountChannelCode = "MSB"
VIRTUALACCOUNTCHANNELCODE_STANDARD_CHARTERED VirtualAccountChannelCode = "STANDARD_CHARTERED"
VIRTUALACCOUNTCHANNELCODE_AMBANK VirtualAccountChannelCode = "AMBANK"
VIRTUALACCOUNTCHANNELCODE_BNC VirtualAccountChannelCode = "BNC"
VIRTUALACCOUNTCHANNELCODE_HANA VirtualAccountChannelCode = "HANA"
VIRTUALACCOUNTCHANNELCODE_MUAMALAT VirtualAccountChannelCode = "MUAMALAT"
VIRTUALACCOUNTCHANNELCODE_XENDIT_ENUM_DEFAULT_FALLBACK VirtualAccountChannelCode = "UNKNOWN_ENUM_VALUE"
)
// All allowed values of VirtualAccountChannelCode enum
var AllowedVirtualAccountChannelCodeEnumValues = []VirtualAccountChannelCode{
"BCA",
"BJB",
"BNI",
"BRI",
"MANDIRI",
"PERMATA",
"BSI",
"CIMB",
"SAHABAT_SAMPOERNA",
"ARTAJASA",
"PV",
"VIETCAPITAL",
"WOORI",
"MSB",
"STANDARD_CHARTERED",
"AMBANK",
"BNC",
"HANA",
"MUAMALAT",
"UNKNOWN_ENUM_VALUE",
}
func (v *VirtualAccountChannelCode) UnmarshalJSON(src []byte) error {
var value string
err := json.Unmarshal(src, &value)
if err != nil {
return err
}
enumTypeValue := VirtualAccountChannelCode(value)
for _, existing := range AllowedVirtualAccountChannelCodeEnumValues {
if existing == enumTypeValue {
*v = enumTypeValue
return nil
}
}
*v = VIRTUALACCOUNTCHANNELCODE_XENDIT_ENUM_DEFAULT_FALLBACK
return nil
}
// NewVirtualAccountChannelCodeFromValue returns a pointer to a valid VirtualAccountChannelCode
// for the value passed as argument, or an error if the value passed is not allowed by the enum
func NewVirtualAccountChannelCodeFromValue(v string) (*VirtualAccountChannelCode, error) {
ev := VirtualAccountChannelCode(v)
if ev.IsValid() {
return &ev, nil
} else {
return nil, fmt.Errorf("invalid value '%v' for VirtualAccountChannelCode: valid values are %v", v, AllowedVirtualAccountChannelCodeEnumValues)
}
}
// IsValid return true if the value is valid for the enum, false otherwise
func (v VirtualAccountChannelCode) IsValid() bool {
for _, existing := range AllowedVirtualAccountChannelCodeEnumValues {
if existing == v {
return true
}
}
return false
}
func (v VirtualAccountChannelCode) String() string {
return string(v)
}
// Ptr returns reference to VirtualAccountChannelCode value
func (v VirtualAccountChannelCode) Ptr() *VirtualAccountChannelCode {
return &v
}
type NullableVirtualAccountChannelCode struct {
value *VirtualAccountChannelCode
isSet bool
}
func (v NullableVirtualAccountChannelCode) Get() *VirtualAccountChannelCode {
return v.value
}
func (v *NullableVirtualAccountChannelCode) Set(val *VirtualAccountChannelCode) {
v.value = val
v.isSet = true
}
func (v NullableVirtualAccountChannelCode) IsSet() bool {
return v.isSet
}
func (v *NullableVirtualAccountChannelCode) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableVirtualAccountChannelCode(val *VirtualAccountChannelCode) *NullableVirtualAccountChannelCode {
return &NullableVirtualAccountChannelCode{value: val, isSet: true}
}
func (v NullableVirtualAccountChannelCode) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableVirtualAccountChannelCode) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}