12
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
See the License for the specific language governing permissions and
14
14
limitations under the License.
15
+
16
+
17
+ Changes:
18
+ 9/5/2012 Pawel Dulak: added "credit", "void", "setBaseParams", "setReferenceTransaction" functions and a possibility to use Reference Transaction ID in "run"
19
+
15
20
--->
16
21
17
22
< cfcomponent >
20
25
< cfargument name = " gateway" >
21
26
< cfset variables .transactionID = CreateUUID ()>
22
27
< cfset variables .gateway = arguments .gateway >
28
+ < cfset variables .origID = " " >
23
29
< cfreturn this >
24
30
< / cffunction >
25
31
45
51
< cfset variables .cardNumber = arguments .cardNumber >
46
52
< / cffunction >
47
53
54
+ < cffunction name = " setReferenceTransaction" output = " no" >
55
+ < cfargument name = " pnref" >
56
+ < cfset variables .origid = arguments .pnref >
57
+ < / cffunction >
58
+
48
59
< cffunction name = " setExpirationMonthAndYear" output = " no" >
49
60
< cfargument name = " month" >
50
61
< cfargument name = " year" >
59
70
< cfreturn " " >
60
71
< / cfif >
61
72
< / cffunction >
62
-
73
+
63
74
< cffunction name = " pnRef" output = " no" >
64
75
< cfif isDefined (" variables.response.pnRef" )>
65
76
< cfreturn variables .response .pnRef >
66
77
< cfelse >
67
78
< cfreturn " " >
68
79
< / cfif >
69
80
< / cffunction >
70
-
71
- < cffunction name = " run " output = " no" >
81
+
82
+ < cffunction name = " setBaseParams " output = " no" >
72
83
< cfset var params = structNew ()>
73
84
< cfset params .user = variables .username >
74
85
< cfset params .pwd = variables .password >
75
86
< cfset params .partner = " Verisign" >
76
87
< cfset params .vendor = variables .vendor >
77
- < cfset params .trxtype = " S" >
78
88
< cfset params .tender = " C" >
89
+ < cfreturn params >
90
+ < / cffunction >
91
+
92
+ < cffunction name = " run" output = " no" >
93
+ < cfset params = setBaseparams ()>
94
+ < cfset params .trxtype = " S" >
79
95
< cfset params .amt = variables .amount >
80
- < cfset params .expdate = formatExpirationDate ()>
81
- < cfset params .acct = variables .cardNumber >
82
-
83
- < cfset variables .response = variables .gateway .chargeCard (params , variables .transactionID )>
84
-
96
+ < cfif variables .origID NEQ " " >
97
+ < cfset params .origID = variables .origID >
98
+ < cfelse >
99
+ < cfset params .expdate = formatExpirationDate ()>
100
+ < cfset params .acct = variables .cardNumber >
101
+ < / cfif >
102
+
103
+ < cfset variables .response = variables .gateway .executeTransaction (params , variables .transactionID )>
104
+
105
+ < / cffunction >
106
+
107
+ < cffunction name = " credit" output = " no" >
108
+ < cfset params = setBaseparams ()>
109
+ < cfset params .trxtype = " C" >
110
+ < cfset params .amt = variables .amount >
111
+ < cfset params .origID = variables .origID >
112
+
113
+ < cfset variables .response = variables .gateway .executeTransaction (params , variables .transactionID )>
114
+
85
115
< / cffunction >
86
116
117
+ < cffunction name = " void" output = " no" >
118
+ < cfset params = setBaseparams ()>
119
+ < cfset params .trxtype = " V" >
120
+ < cfset params .origID = variables .origID >
121
+
122
+ < cfset variables .response = variables .gateway .executeTransaction (params , variables .transactionID )>
87
123
124
+ < / cffunction >
88
125
89
126
< cffunction name = " formatExpirationDate" output = " no" >
90
127
< cfreturn numberFormat (variables .expiresMonth , " 00" ) & numberFormat (right (variables .expiresYear , 2 ), " 00" )>
111
148
< cffunction name = " approved" output = " no" >
112
149
< cfreturn 0 eq resultCode ()>
113
150
< / cffunction >
114
-
115
- < / cfcomponent >
116
151
152
+ < cffunction name = " transactionID" output = " no" >
153
+ < cfif isDefined (" variables.transactionID" )>
154
+ < cfreturn variables .transactionID >
155
+ < cfelse >
156
+ < cfreturn - 1 / >
157
+ < / cfif >
158
+ < / cffunction >
159
+
160
+ < / cfcomponent >
0 commit comments