Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PERFORMA_REPLICA
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Usman
PERFORMA_REPLICA
Commits
a4945b01
Commit
a4945b01
authored
Feb 08, 2018
by
Nilu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added billing, plan and invoice tabs
parent
282d184e
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
599 additions
and
8 deletions
+599
-8
MakePaymentFP.java
cmsWebApp/src/performa/form/MakePaymentFP.java
+124
-0
common.css
cmsWebApp/webroot/css/common.css
+34
-4
GeneralConfig_adminPortal.xml
...root/extensions/adminportal/GeneralConfig_adminPortal.xml
+4
-0
billing.jsp
cmsWebApp/webroot/extensions/adminportal/billing.jsp
+107
-0
card_payment.jsp
cmsWebApp/webroot/extensions/adminportal/card_payment.jsp
+69
-0
my_company_tabs.jsp
...pp/webroot/extensions/adminportal/inc/my_company_tabs.jsp
+24
-3
invoices.jsp
cmsWebApp/webroot/extensions/adminportal/invoices.jsp
+63
-0
manage_plan.jsp
cmsWebApp/webroot/extensions/adminportal/manage_plan.jsp
+92
-0
my_company.jsp
cmsWebApp/webroot/extensions/adminportal/my_company.jsp
+1
-1
performaStripe.js
cmsWebApp/webroot/scripts/performaStripe.js
+81
-0
No files found.
cmsWebApp/src/performa/form/MakePaymentFP.java
0 → 100644
View file @
a4945b01
package
performa
.
form
;
import
java.util.HashMap
;
import
java.util.Map
;
import
oneit.appservices.config.ConfigMgr
;
import
oneit.servlets.forms.SubmissionDetails
;
import
oneit.servlets.process.SaveFP
;
import
oneit.utils.BusinessException
;
import
oneit.utils.StringUtils
;
import
oneit.utils.math.NullArith
;
import
oneit.utils.parsers.FieldException
;
import
javax.servlet.http.HttpServletRequest
;
import
oneit.logging.LogLevel
;
import
oneit.logging.LogMgr
;
import
oneit.objstore.StorageException
;
import
oneit.servlets.forms.SuccessfulResult
;
import
oneit.servlets.process.ORMProcessState
;
import
performa.orm.Job
;
import
com.stripe.Stripe
;
import
com.stripe.exception.StripeException
;
import
com.stripe.model.Charge
;
import
com.stripe.model.Customer
;
import
com.stripe.model.Subscription
;
import
java.util.Calendar
;
import
java.util.Date
;
import
oneit.utils.DateDiff
;
public
class
MakePaymentFP
extends
SaveFP
{
public
static
final
String
STRIPE_KEY
=
ConfigMgr
.
getKeyfileString
(
"stripe.key"
,
""
);
public
static
final
String
STRIPE_PUB_KEY
=
ConfigMgr
.
getKeyfileString
(
"stripe.pubkey"
,
""
);
@Override
public
SuccessfulResult
processForm
(
ORMProcessState
process
,
SubmissionDetails
submission
,
Map
p
)
throws
BusinessException
,
StorageException
{
HttpServletRequest
request
=
submission
.
getRequest
();
LogMgr
.
log
(
Job
.
LOG
,
LogLevel
.
PROCESSING1
,
"In MakePaymentFP : "
);
Stripe
.
apiKey
=
STRIPE_KEY
;
try
{
Customer
customer
=
Customer
.
retrieve
(
"cus_C8kIeItf64JnHe"
);
System
.
out
.
println
(
"customer :: "
+
customer
);
// Map<String, Object> item = new HashMap<>();
// item.put("plan", "0001");
//
// Map<String, Object> items = new HashMap<>();
// items.put("0", item);
//
// Map<String, Object> params = new HashMap<>();
// params.put("items", items);
// params.put("coupon", "EAP");
// params.put("customer", "cus_C8kIeItf64JnHe");
//
// Date today = new Date();
// Date trialExpiry = DateDiff.add(today, Calendar.DATE, 30);
//
// params.put("trial_end", trialExpiry.getTime() / 1000L);
//
// Subscription subscription = Subscription.create(params);
//
// System.out.println("subscription : " + subscription);
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"error occured : "
+
e
);
}
// performStripePayment(submission);
return
super
.
processForm
(
process
,
submission
,
p
);
}
private
void
performStripePayment
(
SubmissionDetails
submission
)
throws
FieldException
,
BusinessException
{
HttpServletRequest
request
=
submission
.
getRequest
();
String
token
=
request
.
getParameter
(
"stripe-token-id"
);
if
(
StringUtils
.
subBlanks
(
token
)
==
null
)
{
throw
new
BusinessException
(
"Stripe payment was failed, Please contact adminstrator for more info."
);
}
Stripe
.
apiKey
=
STRIPE_KEY
;
// Charge the Customer instead of the card:
Map
<
String
,
Object
>
chargeParams
=
new
HashMap
<
String
,
Object
>();
chargeParams
.
put
(
"amount"
,
NullArith
.
intVal
(
NullArith
.
multiply
(
100
d
,
100
,
0
d
)));
chargeParams
.
put
(
"currency"
,
"aud"
);
chargeParams
.
put
(
"description"
,
"Charges of creating job"
);
chargeParams
.
put
(
"source"
,
token
);
Charge
charge
;
try
{
charge
=
Charge
.
create
(
chargeParams
);
}
catch
(
StripeException
e
)
{
throw
new
BusinessException
(
"Stripe payment failure. Reason :: "
+
e
.
getMessage
());
}
if
(
charge
.
getFailureCode
()
!=
null
)
{
String
errorMsg
=
"Stripe payment failure Code :: "
+
charge
.
getFailureCode
()
+
", Message :: "
+
charge
.
getFailureMessage
();
if
(
charge
.
getFraudDetails
()
!=
null
)
{
errorMsg
+=
", Fraud Details :: "
+
charge
.
getFraudDetails
();
}
throw
new
BusinessException
(
errorMsg
);
}
System
.
out
.
println
(
"stripe response : "
+
charge
.
toJson
());
}
}
\ No newline at end of file
cmsWebApp/webroot/css/common.css
View file @
a4945b01
...
@@ -5368,15 +5368,45 @@ label, label .label-title span {
...
@@ -5368,15 +5368,45 @@ label, label .label-title span {
font-weight
:
normal
;
font-weight
:
normal
;
}
}
.company-content-area
label
.company-content-area
label
{
{
font-family
:
"Usual-Regular"
;
font-family
:
"Usual-Regular"
;
}
}
.company-content-area
.fileLink
.company-content-area
.fileLink
{
{
display
:
none
;
display
:
none
;
}
}
.company-content-area
.grey-area
{
background-color
:
#EFF0F2
;
border-radius
:
2px
;
padding
:
5%
10%
;
margin-top
:
10px
;
}
.company-content-area
.line-break
{
border
:
solid
1px
#EFF0F2
;
display
:
inline-block
;
width
:
100%
;
margin-top
:
5px
;
}
.company-content-area
.footer-note
{
margin-top
:
150px
;
}
.label-20
{
font-size
:
20px
;
}
.label-14
{
font-size
:
14px
;
}
.company-content-area
.bold
{
font-family
:
"Usual-Medium"
;
}
.company-content-area
.large-btn
{
width
:
50%
;
height
:
60px
;
border-radius
:
100px
;
font-size
:
15px
;
font-family
:
"Usual-Medium"
;
margin-top
:
20px
;
}
/*My Company Pages End*/
/*My Company Pages End*/
...
...
cmsWebApp/webroot/extensions/adminportal/GeneralConfig_adminPortal.xml
View file @
a4945b01
...
@@ -40,6 +40,7 @@
...
@@ -40,6 +40,7 @@
<RenderMode
name=
"WorkplaceCulture"
preIncludeJSP=
"extensions/adminportal/workplace_culture.jsp"
/>
<RenderMode
name=
"WorkplaceCulture"
preIncludeJSP=
"extensions/adminportal/workplace_culture.jsp"
/>
<RenderMode
name=
"JobMatchAssessment"
preIncludeJSP=
"extensions/adminportal/job_match_assessment.jsp"
/>
<RenderMode
name=
"JobMatchAssessment"
preIncludeJSP=
"extensions/adminportal/job_match_assessment.jsp"
/>
<RenderMode
name=
"JobReview"
preIncludeJSP=
"extensions/adminportal/job_review_submit.jsp"
/>
<RenderMode
name=
"JobReview"
preIncludeJSP=
"extensions/adminportal/job_review_submit.jsp"
/>
<RenderMode
name=
"CardPayment"
preIncludeJSP=
"extensions/adminportal/card_payment.jsp"
/>
<RenderMode
name=
"CreatedJob"
preIncludeJSP=
"extensions/adminportal/created_job.jsp"
/>
<RenderMode
name=
"CreatedJob"
preIncludeJSP=
"extensions/adminportal/created_job.jsp"
/>
</NODE>
</NODE>
</MAP>
</MAP>
...
@@ -73,6 +74,9 @@
...
@@ -73,6 +74,9 @@
<INHERITS
nodename=
"StandardJSP"
/>
<INHERITS
nodename=
"StandardJSP"
/>
<RenderMode
name=
"Page"
preIncludeJSP=
"extensions/adminportal/my_company.jsp"
/>
<RenderMode
name=
"Page"
preIncludeJSP=
"extensions/adminportal/my_company.jsp"
/>
<RenderMode
name=
"ManagePlan"
preIncludeJSP=
"extensions/adminportal/manage_plan.jsp"
/>
<RenderMode
name=
"Billing"
preIncludeJSP=
"extensions/adminportal/billing.jsp"
/>
<RenderMode
name=
"Invoices"
preIncludeJSP=
"extensions/adminportal/invoices.jsp"
/>
</NODE>
</NODE>
</MAP>
</MAP>
...
...
cmsWebApp/webroot/extensions/adminportal/billing.jsp
View file @
a4945b01
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<oneit:dynIncluded>
<oneit:dynIncluded>
<%
SecUser loggedInUser = SecUser.getTXUser(transaction);
CompanyUser companyUser = loggedInUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
Company company = companyUser.getCompany();
Debug.assertion(company != null , "Invalid company in admin portal my company");
String nextPage = WebUtils.getSamePageInRenderMode(request, "Page");
%>
<script src="https://js.stripe.com/v3/"></script>
<script>
var stripePubKey = '<%= MakePaymentFP.STRIPE_PUB_KEY %>';
</script>
<oneit:script>
<!-- MUST be included after initializing stripePubKey -->
<oneit:script src="/scripts/performaStripe.js"/>
</oneit:script>
<script type="text/javascript">
$(document).ready(function()
{
recalcFunction = setupRecalc ($("form"), {'recalcOnError':true});
});
</script>
<div class="container-fluid">
<div class="row content">
<div class="main-content-area">
<h1 class="page-title">My Hiring Team</h1>
<div class="my-company-area">
<oneit:form name="editCompany" method="post" enctype="multipart/form-data">
<div style="padding-left: 15px; padding-right: 15px;">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div>
<oneit:dynInclude page="/extensions/adminportal/inc/my_company_tabs.jsp" TabNumber="3" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="company-content-area">
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="company-detail">
<div class="tabpage-title">
<label class="label-20">Billing</label>
</div>
<div>
<label class="label-14 bold">Add a payment method</label><br/>
<label class="label-14">Your card details will be saved for future billing</label>
</div>
<div class="grey-area">
<div class="form-group hide">
<input type="hidden" name="stripe-token-id" />
</div>
<div class="form-group">
<label>Card Number</label>
<oneit:ormInput obj="<%= company %>" type="text" attributeName="CompanyName" cssClass="form-control" />
</div>
<div class="form-group">
<label>Name on Card</label>
<oneit:ormInput obj="<%= company %>" type="text" attributeName="CompanyName" cssClass="form-control" />
</div>
<div class="form-group row">
<div class="col-md-4">
<label>Expires</label>
<oneit:ormEnum obj="<%= company %>" attributeName="Country" cssClass="form-control"/>
</div>
<div class="col-md-4">
<label>CCV</label>
<oneit:ormEnum obj="<%= company %>" attributeName="State" cssClass="form-control"/>
</div>
<div class="col-md-4">
<label>Postal Code</label>
<oneit:ormInput obj="<%= company %>" type="text" attributeName="PostCode" cssClass="form-control" />
</div>
</div>
<div class="form-group">
<oneit:button value="Save Card" name="saveCompany" cssClass="btn btn-primary btn-green large-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("Company", company)
.toMap() %>" />
</div>
</div>
</div>
</div>
</div>
<form action="/charge" method="post" id="payment-form">
<div class="form-row">
<label for="card-element">
Credit or debit card
</label>
<div id="card-element">
a Stripe Element will be inserted here.
</div>
Used to display Element errors
<div id="card-errors" role="alert"></div>
</div>
<button>Submit Payment</button>
</form>
</oneit:form>
</div>
</div>
</div>
</div>
</oneit:dynIncluded>
</oneit:dynIncluded>
cmsWebApp/webroot/extensions/adminportal/card_payment.jsp
0 → 100644
View file @
a4945b01
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<oneit:dynIncluded>
<%
String nextPage = WebUtils.getSamePageInRenderMode(request, "CardPayment");
%>
<oneit:form name="editJob" method="post" enctype="multipart/form-data">
<div class="container-fluid">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title">Enter Payment Details</h1>
<div class="row">
<div class="col-lg-4 col-md-4 col-sm-6">
<div class="form-group hide">
<input type="hidden" name="stripe-token-id" />
</div>
</div>
</div>
<oneit:button value="Pay" name="savePayment" cssClass="btn btn-primary btn-lg" id="payNow"
requestAttribs='<%= CollectionUtils.mapEntry("nextPage", nextPage)
.toMap() %>'/>
</div>
</oneit:form>
<form action="/charge" method="post" id="payment-form">
<div class="form-row">
<label for="card-element">
Credit or debit card
</label>
<div id="card-element">
a Stripe Element will be inserted here.
</div>
<div id="card-number">
a Stripe Element will be inserted here.
</div>
<div id="card-expiry">
a Stripe Element will be inserted here.
</div>
<div id="card-cvc">
a Stripe Element will be inserted here.
</div>
Used to display Element errors
<div id="card-errors" role="alert"></div>
</div>
<button>Submit Payment</button>
</form>
<script src="https://js.stripe.com/v3/"></script>
<script>
var stripePubKey = '<%= MakePaymentFP.STRIPE_PUB_KEY %>';
</script>
<oneit:script>
<!-- MUST be included after initializing stripePubKey -->
<oneit:script src="/scripts/performaStripe.js"/>
</oneit:script>
</oneit:dynIncluded>
\ No newline at end of file
cmsWebApp/webroot/extensions/adminportal/inc/my_company_tabs.jsp
View file @
a4945b01
...
@@ -7,6 +7,9 @@
...
@@ -7,6 +7,9 @@
<%
<%
String tabNumber = (String) getData(request, "TabNumber");
String tabNumber = (String) getData(request, "TabNumber");
String firstPage = WebUtils.getSamePageInRenderMode(request, "Page");
String firstPage = WebUtils.getSamePageInRenderMode(request, "Page");
String secondPage = WebUtils.getSamePageInRenderMode(request, "ManagePlan");
String thirdPage = WebUtils.getSamePageInRenderMode(request, "Billing");
String forthPage = WebUtils.getSamePageInRenderMode(request, "Invoices");
%>
%>
<oneit:dynIncluded>
<oneit:dynIncluded>
...
@@ -19,9 +22,27 @@
...
@@ -19,9 +22,27 @@
Hiring Team Details
Hiring Team Details
</oneit:button>
</oneit:button>
</li>
</li>
<li class="">Manage Plan</li>
<li class="<%= tabNumber == "2" ? "active" : ""%>">
<li class="">Billing</li>
<oneit:button value=" " name="gotoPage" skin="link"
<li class="disabled">Invoices</li>
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondPage)
.toMap() %>">
Manage Plan
</oneit:button>
</li>
<li class="<%= tabNumber == "3" ? "active" : ""%>">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", thirdPage)
.toMap() %>">
Billing
</oneit:button>
</li>
<li class="<%= tabNumber == "4" ? "active" : ""%>">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", forthPage)
.toMap() %>">
Invoices
</oneit:button>
</li>
</ul>
</ul>
</div>
</div>
</oneit:dynIncluded>
</oneit:dynIncluded>
...
...
cmsWebApp/webroot/extensions/adminportal/invoices.jsp
0 → 100644
View file @
a4945b01
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<oneit:dynIncluded>
<%
SecUser loggedInUser = SecUser.getTXUser(transaction);
CompanyUser companyUser = loggedInUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
Company company = companyUser.getCompany();
Debug.assertion(company != null , "Invalid company in admin portal my company");
String nextPage = WebUtils.getSamePageInRenderMode(request, "Page");
%>
<script type="text/javascript">
$(document).ready(function()
{
recalcFunction = setupRecalc ($("form"), {'recalcOnError':true});
$("#upload").change(function(){
readURL(this);
});
$("#remove-logo").click(function(){
removeLogo();
});
});
</script>
<div class="container-fluid">
<div class="row content">
<div class="main-content-area">
<h1 class="page-title">My Hiring Team</h1>
<div class="my-company-area">
<oneit:form name="editCompany" method="post" enctype="multipart/form-data">
<div style="padding-left: 15px; padding-right: 15px;">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div>
<oneit:dynInclude page="/extensions/adminportal/inc/my_company_tabs.jsp" TabNumber="4" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="company-content-area">
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="company-detail">
<div class="tabpage-title">
<label class="label-20">No Current Plan</label><br/>
<label class="label-14">You'll be charged each time you add a new job</label>
<div class="line-break"></div>
</div>
</div>
</div>
</div>
</oneit:form>
</div>
</div>
</div>
</div>
</oneit:dynIncluded>
cmsWebApp/webroot/extensions/adminportal/manage_plan.jsp
0 → 100644
View file @
a4945b01
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<oneit:dynIncluded>
<%
SecUser loggedInUser = SecUser.getTXUser(transaction);
CompanyUser companyUser = loggedInUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
Company company = companyUser.getCompany();
Debug.assertion(company != null , "Invalid company in admin portal my company");
String nextPage = WebUtils.getSamePageInRenderMode(request, "Page");
%>
<script type="text/javascript">
$(document).ready(function()
{
recalcFunction = setupRecalc ($("form"), {'recalcOnError':true});
$("#upload").change(function(){
readURL(this);
});
$("#remove-logo").click(function(){
removeLogo();
});
});
</script>
<div class="container-fluid">
<div class="row content">
<div class="main-content-area">
<h1 class="page-title">My Hiring Team</h1>
<div class="my-company-area">
<oneit:form name="editCompany" method="post" enctype="multipart/form-data">
<div style="padding-left: 15px; padding-right: 15px;">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div>
<oneit:dynInclude page="/extensions/adminportal/inc/my_company_tabs.jsp" TabNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="company-content-area">
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="company-detail">
<div class="tabpage-title">
<label class="label-20">No Current Plan</label><br/>
<label class="label-14">You'll be charged each time you add a new job</label>
<div class="line-break"></div>
</div>
<div>
<label class="label-20">Pay Per Plan</label>
</div>
<div class="grey-area">
<div class="text-center">
<label class="label-20">Subscribe and save</label>
</div>
<div class="text-center">
<label class="label-14">Active Jobs Per Month</label>
<input type="number" min="0" max="10" step="2" value="6" size="6">
<label class="label-14">$300.00</label>
<label class="label-14">Per Job</label>
</div>
<div class="text-center form-group">
<oneit:button value="Upgrade" name="saveCompany" cssClass="btn btn-primary btn-green large-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("Company", company)
.toMap() %>" />
</div>
<div class="text-center">
<label class="label-14">$1500.00 Monthly for up to 5 jobs / month</label>
</div>
<div class="text-center">
<label class="label-14">Save $995.00 per month</label>
</div>
</div>
<div class="text-center footer-note">
Looking to cancel your account? Please <a href="#">contact us.</a>
</div>
</div>
</div>
</div>
</oneit:form>
</div>
</div>
</div>
</div>
</oneit:dynIncluded>
cmsWebApp/webroot/extensions/adminportal/my_company.jsp
View file @
a4945b01
...
@@ -47,7 +47,7 @@
...
@@ -47,7 +47,7 @@
<div class="tab-content">
<div class="tab-content">
<div class="tab-pane active" id="company-detail">
<div class="tab-pane active" id="company-detail">
<div class="tabpage-title">
<div class="tabpage-title">
<label class="label-
16
">Hiring Team Details</label>
<label class="label-
20
">Hiring Team Details</label>
</div>
</div>
<div class="form-group">
<div class="form-group">
<label><oneit:ormlabel obj="<%= company %>" field="CompanyName" /></label>
<label><oneit:ormlabel obj="<%= company %>" field="CompanyName" /></label>
...
...
cmsWebApp/webroot/scripts/performaStripe.js
0 → 100644
View file @
a4945b01
/**
* Reference : https://stripe.com/docs/stripe-js#elements
*/
// Create a Stripe client
var
stripe
=
Stripe
(
stripePubKey
);
// Create an instance of Elements
var
elements
=
stripe
.
elements
();
// Custom styling can be passed to options when creating an Element.
var
style
=
{
base
:
{
// Add your base input styles here. For example:
fontSize
:
'16px'
,
color
:
"#32325d"
,
}
};
var
cardNumber
=
elements
.
create
(
'cardNumber'
,
{
style
:
style
});
cardNumber
.
mount
(
'#card-number'
);
var
cardExpiry
=
elements
.
create
(
'cardExpiry'
,
{
style
:
style
});
cardExpiry
.
mount
(
'#card-expiry'
);
var
cardCvc
=
elements
.
create
(
'cardCvc'
,
{
style
:
style
});
cardCvc
.
mount
(
'#card-cvc'
);
registerElements
([
cardNumber
,
cardExpiry
,
cardCvc
],
'example2'
);
// Create an instance of the card Element
var
card
=
elements
.
create
(
'card'
,
{
style
:
style
});
// Add an instance of the card Element into the `card-element` <div>
card
.
mount
(
'#card-element'
);
card
.
addEventListener
(
'change'
,
function
(
event
)
{
var
displayError
=
document
.
getElementById
(
'card-errors'
);
if
(
event
.
error
)
{
displayError
.
textContent
=
event
.
error
.
message
;
}
else
{
displayError
.
textContent
=
''
;
}
});
// Create a token or display an error when the form is submitted.
var
form
=
document
.
getElementById
(
'payment-form'
);
form
.
addEventListener
(
'submit'
,
function
(
event
)
{
event
.
preventDefault
();
stripe
.
createToken
(
card
).
then
(
function
(
result
)
{
if
(
result
.
error
)
{
// Inform the customer that there was an error
var
errorElement
=
document
.
getElementById
(
'card-errors'
);
errorElement
.
textContent
=
result
.
error
.
message
;
}
else
{
// Send the token to your server
$
(
'input[name=stripe-token-id]'
).
val
(
result
.
token
.
id
);
$
(
'#payNow'
).
click
();
// stripeTokenHandler(result.token);
}
});
});
function
stripeTokenHandler
(
token
)
{
// Insert the token ID into the form so it gets submitted to the server
// var form = document.getElementById('payment-form');
// var hiddenInput = document.createElement('input');
// hiddenInput.setAttribute('type', 'hidden');
// hiddenInput.setAttribute('name', 'stripeToken');
// hiddenInput.setAttribute('value', token.id);
// form.appendChild(hiddenInput);
alert
(
token
.
id
);
$
(
'input[name=stripe-token-id]'
).
val
(
token
.
id
);
// $('div.stripedetails').removeClass('stripedetails');
alert
(
$
(
'input[name=stripe-token-id]'
).
val
());
$
(
'#payNow'
).
click
();
// Submit the form
// form.submit();
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment