14 $serviceViewFromCUAdmin = (isset($serviceViewFromCUAdmin) ? $serviceViewFromCUAdmin :
false);
15 if (!$serviceViewFromCUAdmin) {
17 $serviceShowInfo =
true;
18 $serviceLoadMenu =
true;
19 $serviceShowMenu =
true;
20 $serviceLiveCheck =
true;
22 require_once(dirname(__FILE__) .
'/../library/hcuService.i');
25 require_once(dirname(__FILE__) .
'/hcuMobilePay.plugin');
26 require_once(dirname(__FILE__) .
'../../../shared/library/cutrusted.i');
32 PermCheckFeatureScreen($dbh, $HB_ENV, $MC, FEATURE_BASIC);
36 $varOk = array(
"mp_token"=>
"string",
"mp_type"=>
"string",
"datemodel"=>
"string",
"allowp2p"=>
"string");
37 HCU_ImportVars( $inputVars,
"", $varOk );
40 if ( strpos( $inputVars[
'mp_token'],
"=" ) !==
false ||
41 strpos( $inputVars[
'mp_token'],
"+" ) !==
false ) {
43 $decodedToken = $inputVars[
'mp_token'];
44 $encodedToken = urlencode( $inputVars[
'mp_token'] );
46 $encodedToken = $inputVars[
'mp_token'];
47 $decodedToken = urldecode( $inputVars[
'mp_token'] );
50 $commonString = hcu_decrypturl( $decodedToken, $HB_ENV[
'2factorkey']);
52 parse_str( $commonString, $commonParms );
54 $mpVendorKey = $commonParms[
"mpVendor"];
55 $mpAccount = $commonParms[
"mpAccount"];
56 $mpDateModel = strtolower($commonParms[
"mpDateModel"]);
57 $mpToken = $commonParms[
"mpToken"];
58 $mobilePayName = $commonParms[
"mpName"];
60 $allowP2P = $commonParms[
"allowp2p"];
62 $frequencyList = GetBillingFreq($HB_ENV[
"MC"]);
65 $extrasString = str_replace(
"|",
"&", $commonParms[
"mpExtras"] );
66 $extrasString = str_replace(
":",
"=", $extrasString );
67 parse_str( $extrasString, $mpExtras );
69 $mpType = $inputVars[
"mp_type"];
72 if ( HCU_array_key_value(
'Recur', $mpExtras) == 1 ) {
75 $allowRecur =
"false";
78 if (strlen( $mpToken )) {
80 $mobilePayParams = array();
81 $mobilePayParams[
"MP_VENDOR"] = $mpVendorKey;
82 $mobilePayParams[
"MP_ACTION"] = $mpType ==
"Scheduled" ?
"MP_SCHEDULED" :
"MP_HISTORY";
83 $mobilePayParams[
"MP_ACCOUNT"] = $mpAccount;
84 $mobilePayParams[
"Token"] = $mpToken;
88 foreach ($mpExtras as $key => $val) {
89 if ( strlen( $extrasString ) > 0 ) $extrasString .=
"|";
90 $extrasString .=
"$key:$val";
94 $commonURL =
"mpToken=$mpToken&mpVendor=$mpVendorKey&mpDateModel=$mpDateModel&mpName=$mobilePayName&mpExtras=$extrasString&allowp2p=$allowP2P&mpAccount=$mpAccount";
95 $encryptedCommonURL = hcu_encrypturl( $commonURL, $HB_ENV[
'2factorkey'] );
96 $encodedCommonURL = urlencode( $encryptedCommonURL );
101 $serviceErrorMsg = $MC->msg(
'Feature Not Set', HCU_DISPLAY_AS_HTML);
102 $serviceErrorCode =
'915';
103 require_once(dirname(__FILE__) .
'/../includes/hcuErrorPage.i');
110 require_once(dirname(__FILE__) .
'/../includes/hcuPreContent.i');
112 <!-- kendo mobile -->
123 padding-bottom: .5em;
129 padding-bottom: .5em;
133 padding-bottom: .5em;
138 <div
id=
"confirmationWindow"></div>
139 <div
id=
"confirmSaveTemplate"></div>
140 <!-- Edit Payment -->
141 <div
id=
"editPaymentWindow" name=
"editPaymentWindow" class=
"container-fluid"><!-- DISPLAY NONE -->
142 <div
class=
"row" style=
"margin: 10px 0px 10px 0px;">
143 <span
class=
"hcu-breadcrumbs"><a href=
'hcuMobilePay.prg?mp_token=<?php echo $encodedCommonURL ?>&<?php echo $HB_ENV['cuquery
'] ?>' class=
"tabReturnBtn"><?php echo $mobilePayName .
" " . $MC->msg(
"Menu", HCU_DISPLAY_AS_HTML) ?></a> / <span
class=
"realname"><?php
if ($mpType ==
"Payment") : ?><?php echo $MC->msg(
"New Payment", HCU_DISPLAY_AS_HTML) ?><?php else : ?><?php echo $MC->msg(
"New Transfer", HCU_DISPLAY_AS_HTML) ?><?php endif; ?></span></span>
146 <div
class=
"k-content col-xs-12 " style=
"max-width: 600px;">
147 <div
id=
"editPaymentFormStatus" class=
"homecu-formStatus k-block k-error-colored" style=
"display:none; margin-bottom:10px;max-width:800px;"></div>
148 <div
id=
'editErrors'></div>
149 <div
class=
"form-horizontal form-widgets well well-sm">
150 <!-- Pay or Transfer to -->
151 <div
class=
"form-group">
153 <label
class=
"col-sm-12" for=
"payTo" id=
"editPayTo">
155 <div
class=
"col-sm-12">
156 <input
id=
'payTo' class=
'distinctAcct hcu-all-100' name=
'payTo' 157 data-role=
'dropdownlist' 158 data-bind=
'value: bpToId, events:{change: setDirty}' 159 data-required-msg=
"<?php echo $MC->msg("Payee is required
", HCU_DISPLAY_AS_HTML) ?>" 164 <!-- from ACCOUNT -->
165 <div
class=
"form-group">
167 <label
class=
"col-sm-12" for=
"toFrom" id=
"editToFrom"><?php echo $MC->msg(
"Account", HCU_DISPLAY_AS_HTML)?>
169 <div
class=
"col-sm-12">
170 <input
id=
'toFrom' class=
'distinctAcct hcu-all-100' name=
'toFrom' 171 data-role=
'dropdownlist' 172 data-bind=
'value: bpFromId, events:{change: setDirty}' 173 data-required-msg=
"<?php echo $MC->msg("Account is required
", HCU_DISPLAY_AS_HTML)?>" 179 <div
class=
"form-group">
181 <label
class=
"col-sm-12" for=
"payAmount"><?php echo $MC->msg(
'Amount', HCU_DISPLAY_AS_HTML); ?>
182 <span
class=
"hcu-required-field"><sup>*</sup></span></label>
183 <div
class=
"col-sm-12">
184 <input type=
"number" id=
"payAmount" name=
"payAmount" class=
"hcu-all-100" 185 placeholder=
"<?php echo $MC->msg('Amount', HCU_DISPLAY_AS_HTML); ?>" 186 data-bind=
"value: bpAmt, events:{change: setDirty}" 187 data-required-msg=
"<?php echo $MC->msg('Amount Missing', HCU_DISPLAY_AS_HTML); ?>" 192 <!-- Process Date -->
193 <div
class=
"form-group">
195 <label
class=
"col-sm-12" for=
"payDate" id=
"editPayDate"><?php echo $MC->msg(
'Transfer On', HCU_DISPLAY_AS_HTML); ?>
196 </label><span
class=
"fa fa-question-circle-o" id=
"edit_date_help"></span>
197 <div
class=
"col-sm-12">
198 <input
class=
"hcu-all-100" type=
"text" placeholder=
"eg. MM/DD/YYYY" id=
"payDate" name=
"payDate" 199 data-role=
'datepicker' 200 data-bind=
"value: bpDate, events:{change: setDirty}" 201 data-format=
'MM/dd/yyyy' 202 data-required-msg=
"<?php echo $MC->msg('Process Date Missing', HCU_DISPLAY_AS_HTML); ?>" 203 onkeydown=
"return false;" 208 <?php
if ( $allowRecur ==
'true' ) : ?>
209 <!-- Billing Frequency -->
210 <div
class=
"form-group">
212 <label
class=
"col-sm-12" for=
"billFreq" id=
"editBillFreq"><?php echo $MC->msg(
'Payment Frequency', HCU_DISPLAY_AS_HTML); ?>
214 <div
class=
"col-sm-12">
215 <input
id=
'billFreq' class=
'distinctAcct hcu-all-100' name=
'billFreq' 216 data-role=
'dropdownlist' 217 data-bind=
'value: bpFreq, events:{change: setDirty}' 218 data-required-msg=
"<?php echo $MC->msg('Payment Frequency Missing', HCU_DISPLAY_AS_HTML); ?>" 223 <!-- Payment Duration -->
224 <div
class=
"form-group">
226 <div
class=
"col-sm-12">
228 <div
class=
"col-sm-12">
229 <h6
id=
"editDuration"><?php echo $MC->msg(
'Duration', HCU_DISPLAY_AS_HTML); ?></h6>
233 <div
class=
"col-sm-12">
235 <div
class=
"col-sm-6">
236 <input
class=
"k-radio" type=
"radio" id=
"rdNvr" name=
"duration" value=
"never"/>
237 <label
class=
"k-radio-label" for=
"rdNvr"><?php echo $MC->msg(
'Never Stop', HCU_DISPLAY_AS_HTML); ?></label>
241 <div
class=
"col-sm-6">
242 <input
class=
"k-radio" type=
"radio" id=
"rdNum" name=
"duration" value=
"number"/>
243 <label
class=
"k-radio-label" for=
"rdNum"><?php echo $MC->msg(
'Until Payments', HCU_DISPLAY_AS_HTML); ?></label>
245 <div
class=
"col-sm-3" style=
"padding-bottom:.5em;">
246 <input
class=
"hcu-all-100" type=
"number" id=
"payNum" name=
"payNum" 247 data-bind=
"value: bpPayNum, events:{change: setDirty}" 248 data-required-msg=
"<?php echo $MC->msg('Number Payments Missing', HCU_DISPLAY_AS_HTML); ?>" 253 <div
class=
"col-sm-6">
254 <input
class=
"k-radio" type=
"radio" id=
"rdEnd" name=
"duration" value=
"date"/>
255 <label
class=
"k-radio-label" for=
"rdEnd"><?php echo $MC->msg(
'Until Date', HCU_DISPLAY_AS_HTML); ?></label>
257 <div
class=
"col-sm-6">
258 <input
class=
"hcu-all-100" type=
"text" placeholder=
"eg. MM/DD/YYYY" id=
"endDate" name=
"endDate" 259 data-role=
'datepicker' 260 data-bind=
"value: bpEndDate, events:{change: setDirty}" 261 data-format=
'MM/dd/yyyy' 262 data-required-msg=
"<?php echo $MC->msg('End Date Missing', HCU_DISPLAY_AS_HTML); ?>" 263 onkeydown=
"return false;" 268 <span
class=
"k-invalid-msg" data-
for=
"duration"></span>
272 <?php
if ( strtolower($mpDateModel) ==
"due") : ?>
273 <!-- proccess date label
for due date model -->
274 <div
class=
"form-group">
276 <label
class=
"col-sm-12" for=
"payDate" id=
"editPayDueDate"><?php echo $MC->msg(
'Process Date', HCU_DISPLAY_AS_HTML); ?></label>
277 <div
class=
"col-xs-12 col-sm-1">
278 <label
class=
"col-sm-12 " for=
"payDate" id=
"valuePayDueDate" data-bind=
"value: bpDueModelProcessDate"></label>
284 <!-- ACTION BUTTONS -->
285 <div
class=
"hcu-template">
286 <div
class=
"hcu-edit-buttons k-state-default">
287 <a href=
"hcuMobilePay.prg?mp_token=<?php echo $encodedCommonURL ?>&<?php echo $HB_ENV['cuquery'] ?>" id=
"lnkCancel" style=
""><?php echo $MC->msg(
"Cancel", HCU_DISPLAY_AS_HTML)?></a>
289 <a href=
"##" id=
"btnAddPayment" class=
"k-button k-primary">
290 <i
class=
"fa fa-check fa-lg"></i><?php echo $MC->msg(
"Add", HCU_DISPLAY_AS_HTML)?>
297 <script
id=
"confirmationTemplate" type=
"text/x-kendo-tmpl">
298 <div
id=
"confirmationStatus"></div>
299 <div
id=
"responseDiv">
300 <div
class=
"local-transfer-msg">
301 <?php echo $MC->msg(
'Payment Saved', HCU_DISPLAY_AS_JS); ?>
302 <?php echo $MC->msg(
'Bill Pay Confirmation', HCU_DISPLAY_AS_JS); ?> #=confNum #
307 var windowStack = [];
309 var dataPayFrom = [];
310 var dsGetAccounts = [];
311 var dsGetPayees = [];
312 var dsGetPayFrom = [];
318 var confirmSaveDialog;
320 var editPaymentModel;
322 var dateModelValue =
"<?php echo($mpDateModel) ?>";
323 var mpType =
"<?php echo $mpType; ?>";
325 var lblPlaceHolder =
"";
326 <?php
if ( $mpType ==
"Payment") : ?>
327 lblPlaceHolder =
"<?php echo $MC->msg("Select Payee
", HCU_DISPLAY_AS_HTML)?>";
329 lblPlaceHolder =
"<?php echo $MC->msg("Select Transfer
", HCU_DISPLAY_AS_HTML)?>";
332 var freqTypes = <?php echo HCU_JsonEncode($frequencyList); ?>;
336 if (! empty($mpDateModel)) {
339 edit_date_help: <?php echo
"'" . EditDateHelpIcon($mpDateModel, $MC) .
"'"; ?>
346 $(
"input:radio[name=duration]").change(
function() {
347 var selectedOption = $(
"input:radio[name=duration]:checked").val();
348 if ( selectedOption ==
'number' ) {
350 $(
"#payNum").attr(
'required',
true);
351 $(
"#endDate").attr(
'required',
false);
352 }
else if ( selectedOption ==
'date' ) {
354 $(
"#endDate").attr(
'required',
true);
355 $(
"#payNum").attr(
'required',
false);
357 $(
"#endDate").attr(
'required',
false);
358 $(
"#payNum").attr(
'required',
false);
360 editPaymentModel.set(
"bpDuration", selectedOption);
363 function InitDataSources() {
366 $(
"#billFreq").kendoDropDownList({
367 dataTextField:
"name",
368 dataValueField:
"value",
369 dataSource: freqTypes,
370 change:
function(e) {
372 var dropdownValue = dropdown.value();
373 editPaymentModel.set(
"bpFreq", dropdownValue);
376 if ( dropdownValue ==
"Once" ) {
378 editPaymentModel.set(
"bpDuration",
"");
379 $(
"input[name=duration]").attr(
'disabled',
true);
380 $(
"#payNum").attr(
'disabled',
true);
381 $(
"#endDate").data(
'kendoDatePicker').enable(
false);
383 $(
"#rdNum").prop(
"checked",
false);
384 $(
"#rdNvr").prop(
"checked",
false);
385 $(
"#rdEnd").prop(
"checked",
false);
387 $(
"input[name=duration]").attr(
'disabled',
false);
388 $(
"input:radio[name=duration]").attr(
"required",
true);
391 $(
"input:radio[name=duration]").attr(
"data-required-msg",
"<?php echo $MC->msg("Duration Required
", HCU_DISPLAY_AS_JS) ?>");
392 $(
"input:radio[name=duration]").attr(
"validationMessage",
"<?php echo $MC->msg("Duration Required
", HCU_DISPLAY_AS_JS) ?>");
393 $(
"#payNum").attr(
'disabled',
false);
394 $(
"#endDate").data(
'kendoDatePicker').enable(
true);
397 optionLabel: {value:
"", name:
"<?php echo $MC->msg("Frequency Select
", HCU_DISPLAY_AS_JS) ?>"},
400 $(
"#payNum").kendoNumericTextBox({
410 var textboxValue = textbox.value();
411 editPaymentModel.set(
"bpPayNum", textboxValue);
414 $(
"#rdNum").prop(
"checked",
true);
416 var selectedOption = $(
"input:radio[name=duration]:checked").val();
417 editPaymentModel.set(
"bpDuration", selectedOption);
422 $(
"#endDate").kendoDatePicker({
426 var datePicker =
this;
427 var dateValue = datePicker.value();
428 editPaymentModel.set(
"bpEndDate", dateValue);
430 $(
"#rdEnd").prop(
"checked",
true);
432 var selectedOption = $(
"input:radio[name=duration]:checked").val();
433 editPaymentModel.set(
"bpDuration", selectedOption);
437 dsGetPayees =
new kendo.data.DataSource ({
443 TxnId: { type:
"number" },
444 Date: { type:
"string" },
445 ToName: { type:
"string" },
446 Amount: { type:
"number" }
452 dsGetDates =
new kendo.data.DataSource ({
455 url:
"hcuMobilePay.data?cu=<?php echo $HB_ENV['cu']; ?>&mp_token=<?php echo $encodedToken ?>&mp_type=DATES&<?php echo $HB_ENV['cuquery'] ?>",
456 contentType:
'application/x-www-form-urlencoded',
463 requestStart:
function( e ) {
466 requestEnd:
function( e ) {
468 <?php
if ( strtolower($mpDateModel) ==
"due") : ?>
470 mindate = kendo.toString(e.response.homecuData.data.PaymentDates[0].Due,
"yyyy-MM-dd");
471 maxindex = e.response.homecuData.data.PaymentDates.length -1;
472 maxdate = kendo.toString(e.response.homecuData.data.PaymentDates[maxindex].Due,
"yyyy-MM-dd");
474 mindate = kendo.toString(e.response.homecuData.data.PaymentDates[0].Proc,
"yyyy-MM-dd");
475 maxindex = e.response.homecuData.data.PaymentDates.length -1;
476 maxdate = kendo.toString(e.response.homecuData.data.PaymentDates[maxindex].Proc,
"yyyy-MM-dd");
478 $(
"#payDate").kendoDatePicker({
482 disableDates:
function (date) {
484 bpDates = e.response.homecuData.data.PaymentDates;
485 var bpFormatDates = [];
486 var i, s, len = bpDates.length;
487 for (i=0; i<len; ++i) {
489 <?php
if ( strtolower($mpDateModel) ==
"due") : ?>
491 s = bpDates[i][
"Due"];
492 s = s.replace(/-/g,
'/')
495 s = bpDates[i][
"Proc"];
497 bpFormatDates.push(
new Date(s));
500 if (date && compareDates(date, bpFormatDates)) {
506 change:
function () {
507 var processDate =
new Date();
508 processDate = editPaymentModel.bpDate;
509 <?php
if ( strtolower($mpDateModel) ==
"due" ) : ?>
511 var sDate = processDates[kendo.toString(processDate,
"yyyy/MM/dd")];
512 $(
"#valuePayDueDate").text(sDate);
513 editPaymentModel.bpDueModelProcessDate = sDate;
515 $(
"#endDate").attr(
"placeholder",
"<?php echo $MC->msg("Select Date
", HCU_DISPLAY_AS_JS) ?>");
516 endMinDate = kendo.toString(kendo.date.addDays(processDate, 1),
"yyyy/MM/dd");
517 $(
"#endDate").kendoDatePicker({
521 var datePicker =
this;
522 var dateValue = datePicker.value();
523 editPaymentModel.set(
"bpEndDate", dateValue);
525 $(
"#rdEnd").prop(
"checked",
true);
527 var selectedOption = $(
"input:radio[name=duration]:checked").val();
528 editPaymentModel.set(
"bpDuration", selectedOption);
530 disableDates: [
"sa",
"su"]
532 $(
"#endDate").data(
"kendoDatePicker").enable(
true);
537 if ( e.response && e.response.homecuErrors )
538 error = e.response.homecuErrors;
539 if ( error && error.length > 0 ) {
541 $.homecuValidator.displayMessage(error, $.homecuValidator.settings.statusError);
548 error:
function( e ) {
549 alert(
"Transport error" );
554 Proc: { type:
"date" },
555 Date: { type:
"date" }
558 data:
"homecuData.data.PaymentDates" 562 dsGetPayFrom =
new kendo.data.DataSource ({
567 dsGetAccounts =
new kendo.data.DataSource ({
570 url:
"hcuMobilePay.data?cu=<?php echo $HB_ENV['cu']; ?>&mp_token=<?php echo $encodedToken ?>&mp_type=Accounts&<?php echo $HB_ENV['cuquery'] ?>",
571 contentType:
'application/x-www-form-urlencoded',
578 requestStart:
function( e ) {
581 requestEnd:
function( e ) {
585 if ( e.response && e.response.homecuErrors )
586 error = e.response.homecuErrors;
587 if ( error && error.length > 0 ) {
589 $.homecuValidator.displayMessage(error, $.homecuValidator.settings.statusError);
596 error:
function( e ) {
597 alert(
"Transport error" );
603 TxnId: { type:
"number" },
604 Date: { type:
"string" },
605 ToName: { type:
"string" },
606 Amount: { type:
"number" }
609 data:
function (response) {
611 var returnData = Array();
613 if (response.homecuData) {
615 dataPayFrom = (response.homecuData.source ? response.homecuData.source : []);
616 dsGetPayFrom.data(dataPayFrom);
619 dataPayTo = (response.homecuData.dest ? response.homecuData.dest : []);
620 dsGetPayees.data(dataPayTo);
622 if (editPaymentModel.bpTxnId > 0){
623 dsGetPayees.filter ({
626 "value": editPaymentModel.bpToId
630 if ( mpType ==
"Payment" ){
631 $(
"#btnAddPayment").text(
"<?php echo $MC->msg("Add
", HCU_DISPLAY_AS_HTML)?> <?php echo $MC->msg("ACH Payment
", HCU_DISPLAY_AS_HTML)?>")
633 $(
"#btnAddPayment").text(
"<?php echo $MC->msg("Add
", HCU_DISPLAY_AS_HTML)?> <?php echo $MC->msg("Transfer
", HCU_DISPLAY_AS_HTML)?>")
637 returnData = response.homecuData;
638 }
else if (response.homecuErrors) {
641 throw "Error Parsing Result From Server";
654 $(
"#payTo").kendoDropDownList({
655 optionLabel: lblPlaceHolder,
656 dataSource: dsGetPayees,
657 dataTextField:
"Name",
658 dataValueField:
"ToId",
659 change:
function(e) {
660 var value = this.value();
662 <?php
if ( strtolower($mpDateModel) ==
"due" || strtolower($mpDateModel) ==
"payeeprocess") : ?>
663 dsGetDates.options.transport.read.data.vPayeeId = value;
664 if (value.length > 0){
665 $(
"#payDate").attr(
"placeholder",
"<?php echo $MC->msg("Select Date
", HCU_DISPLAY_AS_JS) ?>");
667 $(
"#payDate").data(
"kendoDatePicker").enable(
true);
671 $(
"#payDate").kendoDatePicker({
673 disableDates:
function (date) {
return true},
675 $(
"#endDate").kendoDatePicker({
677 disableDates:
function (date) {
return true},
679 <?php
if ( $mpType ==
"Transfer") : ?>
680 $(
"#payDate").attr(
"placeholder",
"<?php echo $MC->msg("Select To Account
", HCU_DISPLAY_AS_JS) ?>");
682 $(
"#payDate").attr(
"placeholder",
"<?php echo $MC->msg("Select Payee First
", HCU_DISPLAY_AS_JS) ?>");
684 $(
"#valuePayDueDate").text(
"");
690 $(
"#toFrom").kendoDropDownList({
691 optionLabel:
"<?php echo $MC->msg("ACH Select Account
", HCU_DISPLAY_AS_JS) ?>",
692 dataSource: dsGetPayFrom,
693 dataTextField:
"Name",
694 dataValueField:
"FromId",
700 $(
"#confirmationWindow").kendoDialog({
701 title:
"<?php echo $MC->msg("Success
", HCU_DISPLAY_AS_JS) ?>",
711 text:
"<?php echo $MC->msg('Close', HCU_DISPLAY_AS_JS); ?>",
716 windowStack.push(
this);
722 $.homecuValidator.settings.formStatusField =
"formStatus";
723 $.homecuValidator.settings.formInfoTitle =
"";
726 window.location =
'hcuMobilePayPayment.prg?mp_token=<?php echo $encodedToken ?>&mp_type=<?php echo $mpType ?>&<?php echo $HB_ENV['cuquery
'] ?>';
731 editPaymentModel = kendo.observable({
737 bpDueModelProcessDate :
"",
743 ResetModel:
function() {
744 this.
set(
"bpFromId",
"" );
745 this.
set(
"bpToId",
"" );
746 this.
set(
"bpAmt",
"" );
747 <?php
if ( strtolower($mpDateModel) ==
"due") : ?>
748 this.
set(
"bpDate",
"" );
749 this.
set (
"bpDueModelProcessDate",
"");
751 this.
set(
"bpDate",
"" );
753 this.
set(
"bpTxnId", 0 );
754 this.
set(
"bpFreq",
"" );
755 this.
set(
"bpPayNum",
"" );
756 this.
set(
"bpEndDate",
"" );
757 this.
set(
"bpDuration",
"" );
759 $(
"#rdNum").prop(
"checked",
false);
760 $(
"#rdNvr").prop(
"checked",
false);
761 $(
"#rdEnd").prop(
"checked",
false);
762 this.
set(
"dirtyFlag", false );
764 setDirty:
function(e) {
765 this.
set(
"dirtyFlag", true );
767 ClearDirty:
function() {
768 this.
set(
"dirtyFlag", false );
771 dsPayment.options.transport.read.data.toid = this.bpToId;
772 dsPayment.options.transport.read.data.fromid = this.bpFromId;
773 dsPayment.options.transport.read.data.amount = this.bpAmt;
774 <?php
if ( $mpType ==
"Payment") : ?>
775 dsPayment.options.transport.read.data.paymentType =
"Payment";
777 dsPayment.options.transport.read.data.paymentType =
"Transfer";
779 <?php
if ( strtolower($mpDateModel) ==
"due") : ?>
780 dsPayment.options.transport.read.data.paydate = kendo.toString(
this.bpDueModelProcessDate,
"yyyy-MM-dd");
782 dsPayment.options.transport.read.data.paydate = kendo.toString(this.bpDate,
"yyyy-MM-dd");
784 dsPayment.options.transport.read.data.freq = this.bpFreq;
785 dsPayment.options.transport.read.data.paynum = this.bpPayNum;
786 dsPayment.options.transport.read.data.enddate = kendo.toString(this.bpEndDate,
"yyyy-MM-dd");
787 dsPayment.options.transport.read.data.duration = this.bpDuration;
792 function PaymentSave() {
796 <?php
if ($mpType ==
"Payment") : ?>
797 confirmBtn =
"<?php echo $MC->msg("Confirm New Payment
", HCU_DISPLAY_AS_JS) ?>" ;
798 type =
"<?php echo $MC->msg("Pay
", HCU_DISPLAY_AS_JS) ?>";
800 confirmBtn =
"<?php echo $MC->msg("Confirm New Transfer
", HCU_DISPLAY_AS_JS)?>" ;
801 type =
"<?php echo $MC->msg("Transfer
", HCU_DISPLAY_AS_JS) ?>" 804 <?php
if ( $allowRecur ==
"true" ) : ?>
805 msgConfirm = type +
" <b>" + kendo.toString(editPaymentModel.bpAmt,
"c2") +
806 "</b> " + ($(
"#billFreq").data(
"kendoDropDownList").text()).toLowerCase() +
" <?php echo $MC->msg("To
", HCU_DISPLAY_AS_JS) ?> <b>".toLowerCase() + $(
"#payTo").data(
"kendoDropDownList").text() +
807 "</b> <?php echo $MC->msg("From Account
", HCU_DISPLAY_AS_JS) ?> <b>".toLowerCase() + $(
"#toFrom").data(
"kendoDropDownList").text();
810 if ( editPaymentModel.bpDuration ==
"never" ) {
811 msgConfirm +=
"</b> <?php echo $MC->msg("starting on
", HCU_DISPLAY_AS_JS) ?> <b>" + kendo.toString(editPaymentModel.bpDate,
"MM/dd/yyyy") +
812 "</b> <?php echo $MC->msg("until
", HCU_DISPLAY_AS_JS) ?> <?php echo $MC->msg("Cancelled
", HCU_DISPLAY_AS_JS) ?>".toLowerCase() +
"?";
813 }
else if ( editPaymentModel.bpDuration ==
"number" ) {
814 msgConfirm +=
"</b> <?php echo $MC->msg("starting on
", HCU_DISPLAY_AS_JS) ?> <b>" + kendo.toString(editPaymentModel.bpDate,
"MM/dd/yyyy") +
815 "</b> <?php echo $MC->msg("for", HCU_DISPLAY_AS_JS) ?> <b>" + editPaymentModel.bpPayNum +
"</b> <?php echo $MC->msg("Payments
", HCU_DISPLAY_AS_JS) ?>".toLowerCase() +
"?";
816 }
else if ( editPaymentModel.bpDuration ==
"date" ) {
817 msgConfirm +=
"</b> <?php echo $MC->msg("starting on
", HCU_DISPLAY_AS_JS) ?> <b>" + kendo.toString(editPaymentModel.bpDate,
"MM/dd/yyyy") +
818 "</b> <?php echo $MC->msg("until
", HCU_DISPLAY_AS_JS) ?> <b>" + kendo.toString(editPaymentModel.bpEndDate,
"MM/dd/yyyy") +
"</b>." ;
820 msgConfirm +=
"</b> <?php echo $MC->msg("on
", HCU_DISPLAY_AS_JS) ?> <b>" + kendo.toString(editPaymentModel.bpDate,
"MM/dd/yyyy") +
"</b>.";
824 msgConfirm = type +
" <b>" + kendo.toString(editPaymentModel.bpAmt,
"c2") +
825 "</b> <?php echo $MC->msg("To
", HCU_DISPLAY_AS_JS) ?> <b>" + $(
"#payTo").data(
"kendoDropDownList").text() +
"</b> <?php echo $MC->msg("From Account
", HCU_DISPLAY_AS_JS) ?> <b>" +
826 $(
"#toFrom").data(
"kendoDropDownList").text() +
"</b> <?php echo $MC->msg("on
", HCU_DISPLAY_AS_JS) ?> <b>" + kendo.toString(editPaymentModel.bpDate,
"MM/dd/yyyy") +
"</b>.";
829 confirmSaveDialog = $(
'#confirmSaveTemplate').kendoDialog({
831 title:
"<?php echo $MC->msg("Save
", HCU_DISPLAY_AS_JS) ?> ",
841 windowStack.push(
function(e) {
842 confirmSaveDialog.close(e);
850 { text:
'<?php echo $MC->msg("Close", HCU_DISPLAY_AS_HTML)?>',
851 action:
function(e) {
857 action:
function(e) {
859 if ( $.homecuValidator.validate() ) {
860 editPaymentModel.Save();
865 }).data(
"kendoDialog");
866 confirmSaveDialog.open();
869 function compareDates(xdate, mdates) {
870 for (var i = 0; i < mdates.length; i++) {
871 if (mdates[i].getDate() == xdate.getDate() &&
872 mdates[i].getMonth() == xdate.getMonth() &&
873 mdates[i].getYear() == xdate.getYear()) {
879 function ShowSuccess(confirmationNum) {
880 var confirmationTemplate = kendo.template($(
"#confirmationTemplate").html());
881 var data = { confNum: confirmationNum };
882 var confirmationDisplay = confirmationTemplate(data);
883 $(
"#confirmationWindow").data(
"kendoDialog").content(confirmationDisplay);
884 $(
"#confirmationWindow").data(
"kendoDialog").open();
885 editPaymentModel.ResetModel();
888 function newPayment (){
890 editPaymentModel.ResetModel();
891 editPaymentModel.bpTypeLabel =
"<?php echo $MC->msg("Payment
", HCU_DISPLAY_AS_JS) ?>";
892 $.homecuValidator.setup({formValidate:
"editPaymentWindow",
893 formErrorTitle:
"<?php echo $MC->msg("Error Occurred
", HCU_DISPLAY_AS_JS) ?>",
894 formStatusField:
"editPaymentFormStatus"});
896 <?php
if ( $mpType ==
"Transfer") : ?>
897 $(
"#editPayTo").text(
"<?php echo $MC->msg("ACH To Account
", HCU_DISPLAY_AS_JS) ?>");
898 $(
"#editToFrom").text(
"<?php echo $MC->msg("From Account
", HCU_DISPLAY_AS_JS) ?>");
899 $(
"#editPayDate").text(
"<?php echo $MC->msg("Process Date
", HCU_DISPLAY_AS_JS) ?>");
900 $(
"#payTo").attr(
"data-required-msg",
"<?php echo $MC->msg("Transfer To Account Missing
", HCU_DISPLAY_AS_JS) ?>");
901 $(
"#toFrom").attr(
"data-required-msg",
"<?php echo $MC->msg("Transfer From Account Missing
", HCU_DISPLAY_AS_JS) ?>");
902 $(
"#payAmount").attr(
"data-required-msg",
"<?php echo $MC->msg("Transfer Amount Missing
", HCU_DISPLAY_AS_JS) ?>");
903 $(
"#payDate").attr(
"data-required-msg",
"<?php echo $MC->msg("Process Date Missing
", HCU_DISPLAY_AS_JS) ?>");
906 $(
"#editPayTo").text(
"<?php echo $MC->msg("ACH Payee
", HCU_DISPLAY_AS_JS) ?>");
907 $(
"#editToFrom").text(
"<?php echo $MC->msg("Account
", HCU_DISPLAY_AS_JS) ?>");
909 <?php
if ( strtolower($mpDateModel) ==
"due") : ?>
910 $(
"#editPayDate").text(
"<?php echo $MC->msg("Deliver By Date
", HCU_DISPLAY_AS_JS) ?>");
911 $(
"#editPayDueDate").text(
"<?php echo $MC->msg("Process Date
", HCU_DISPLAY_AS_JS) ?>");
913 $(
"#editPayDate").text(
"<?php echo $MC->msg("Process Date
", HCU_DISPLAY_AS_JS) ?>");
916 $(
"#payTo").attr(
"data-required-msg",
"<?php echo $MC->msg("Payee Missing
", HCU_DISPLAY_AS_JS) ?>");
917 $(
"#toFrom").attr(
"data-required-msg",
"<?php echo $MC->msg("Account is required
", HCU_DISPLAY_AS_HTML)?>");
918 $(
"#payAmount").attr(
"data-required-msg",
"<?php echo $MC->msg("Payment Amount Missing
", HCU_DISPLAY_AS_JS) ?>");
919 $(
"#payDate").attr(
"data-required-msg",
"<?php echo $MC->msg("Process Date Missing
", HCU_DISPLAY_AS_JS) ?>");
922 $(
"#payDate").attr(
"autocomplete",
"off").kendoDatePicker();
925 $(
"#editPayTo").append(
'<span class="hcu-required-field"><sup>*</sup></span>');
926 $(
"#editToFrom").append(
'<span class="hcu-required-field"><sup>*</sup></span>');
927 $(
"#editPayDate").append(
'<span class="hcu-required-field"><sup>*</sup></span>');
929 <?php
if ( $allowRecur ==
'true' ) : ?>
930 $(
"#editBillFreq").append(
'<span class="hcu-required-field"><sup>*</sup></span>');
931 $(
"#endDate").attr(
"autocomplete",
"off").kendoDatePicker();
932 $(
"#editBillFreq").text(
"<?php echo $MC->msg('Payment Frequency', HCU_DISPLAY_AS_HTML); ?>");
933 $(
"#endDate").kendoDatePicker({
935 disableDates:
function (date) {
return true },
937 $(
"#endDate").data(
"kendoDatePicker").enable(
false);
940 <?php
if ( $mpType ==
"Payment") : ?>
941 dsGetAccounts.options.transport.read.data.paymentType =
"Payment";
943 dsGetAccounts.options.transport.read.data.paymentType =
"Transfer";
946 dsGetAccounts.read();
948 <?php
if ( strtolower($mpDateModel) ==
"process") : ?>
949 $(
"#payDate").attr(
"placeholder",
"<?php echo $MC->msg("Process Date Select
", HCU_DISPLAY_AS_JS) ?>");
953 $(
"#payDate").kendoDatePicker({
955 disableDates:
function (date) {
return true },
957 $(
"#payDate").data(
"kendoDatePicker").enable(
false);
959 <?php
if ( $mpType ==
"Transfer") : ?>
960 $(
"#payDate").attr(
"placeholder",
"<?php echo $MC->msg("Select To Account
", HCU_DISPLAY_AS_JS) ?>");
962 $(
"#payDate").attr(
"placeholder",
"<?php echo $MC->msg("Select Payee First
", HCU_DISPLAY_AS_JS) ?>");
963 $(
"#endDate").attr(
"placeholder",
"<?php echo $MC->msg("Select Process Date First
", HCU_DISPLAY_AS_JS) ?>");
968 kendo.bind($(
"#editPaymentWindow"), editPaymentModel);
970 $(
"#payAmount").val(0);
972 $(
"#payAmount").kendoNumericTextBox({
980 placeholder:
'<?php echo $MC->msg('Amount
', HCU_DISPLAY_AS_JS); ?>' 983 $(
"#btnAddPayment").click(
function() {
984 if ( $.homecuValidator.validate() ) {
991 var dsPayment =
new kendo.data.DataSource({
994 url:
'hcuMobilePay.data?cu=<?php echo $HB_ENV['cu
']; ?>&mp_token=<?php echo $encodedToken ?>&mp_type=AddPayment&<?php echo $HB_ENV['cuquery
'] ?>',
996 contentType:
"application/x-www-form-urlencoded",
1003 parse:
function(response) {
1005 if ( response.homecuData ) {
1006 for (var i = 0; i < response.homecuData.length; i++) {
1007 display.push(response.homecuData[i]);
1013 requestStart:
function( e ) {
1016 requestEnd:
function( e ) {
1022 if ( e.response && e.response.homecuErrors )
1023 error = e.response.homecuErrors;
1024 if ( error && error.length > 0 ) {
1026 $.homecuValidator.displayMessage(error, $.homecuValidator.settings.statusError);
1028 var confirmationNum = e.response.homecuData.data.Confirmation;
1030 ShowSuccess(confirmationNum);
1035 error:
function( e ) {
1036 alert(
"<?php echo $MC->msg("Transport error
", HCU_DISPLAY_AS_JS); ?>: " + e.status );
1040 $(document).on(
"click",
".k-overlay",
function (e) {
1041 if(windowStack.length > 0) {
1043 var fn = windowStack[windowStack.length - 1];
1048 $(document).ready(
function () {
1049 $.homecuValidator.setup({editPaymentFormStatus:
"<?php echo $MC->msg("Error Occurred
", HCU_DISPLAY_AS_JS) ?>"});
1063 require_once(dirname(__FILE__) .
'/../includes/hcuPostContent.i');
1071 function EditDateHelpIcon($mpDateModel, $MC)
1073 if (strtolower($mpDateModel) ==
'due') {
1074 return $MC->msg(
'Process Date Due Help', HCU_DISPLAY_AS_JS);
1076 if ((strtolower($mpDateModel) ==
'process') || (strtolower($mpDateModel) ==
'payeeprocess')) {
1077 return $MC->msg(
'Process Date Payee Help', HCU_DISPLAY_AS_JS);