Lakala Init

master
james.zhao 6 years ago
parent a885b6474a
commit aaca9aec7c

@ -3,6 +3,7 @@ package au.com.royalpay.payment.manage;
import au.com.royalpay.payment.manage.permission.manager.ManagerUserInterceptor;
import au.com.royalpay.payment.tools.permission.RequestInfoInterceptor;
import au.com.royalpay.payment.tools.permission.alipay.AlipayUserInterceptor;
import au.com.royalpay.payment.tools.permission.consumer.ConsumersInterceptor;
import au.com.royalpay.payment.tools.permission.wechat.WechatUserInterceptor;
import au.com.royalpay.payment.tools.secure.impls.ApplyFirewallCheckInterceptor;
import org.springframework.context.annotation.Bean;
@ -25,6 +26,8 @@ public class WebConfiguration extends WebMvcConfigurerAdapter {
private WechatUserInterceptor wechatUserInterceptor;
@Resource
private AlipayUserInterceptor alipayUserInterceptor;
@Resource
private ConsumersInterceptor consumersInterceptor;
@Override
@ -33,6 +36,7 @@ public class WebConfiguration extends WebMvcConfigurerAdapter {
registry.addInterceptor(managerUserInterceptor);
registry.addInterceptor(wechatUserInterceptor);
registry.addInterceptor(alipayUserInterceptor);
registry.addInterceptor(consumersInterceptor);
registry.addInterceptor(applyFirewallCheckInterceptor());
super.addInterceptors(registry);
}

@ -44,6 +44,7 @@ public class ChannelsAnalysisServiceImpl implements ChannelsAnalysisService {
listChannel.add(putParam(params,"hf"));
listChannel.add(putParam(params,"Rpay"));
listChannel.add(putParam(params,"Yeepay"));
listChannel.add(putParam(params,"LakalaPay"));
return listChannel;
}
@ -54,7 +55,7 @@ public class ChannelsAnalysisServiceImpl implements ChannelsAnalysisService {
}
List<JSONObject> list = new ArrayList<>();
Map<Date,JSONObject> analysisMap = new TreeMap<>();
String[] channels = {"Wechat","Bestpay","Alipay","jd","AlipayOnline","hf", "Rpay","Yeepay"};
String[] channels = {"Wechat","Bestpay","Alipay","jd","AlipayOnline","hf", "Rpay","Yeepay","LakalaPay"};
for (String channel:channels){
analysisChannelCustomers(params, analysisMap, channel);
}

@ -564,7 +564,7 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT
}
}
private JSONObject getTodayChannelCount(JSONObject params){
String[] channels = new String[]{"Bestpay","Wechat","Alipay","jd","AlipayOnline","hf", "Rpay","Yeepay"};
String[] channels = new String[]{"Bestpay","Wechat","Alipay","jd","AlipayOnline","hf", "Rpay","Yeepay","LakalaPay"};
JSONObject resp = new JSONObject();
for(String channel:channels) {
params.put("channel", channel);

@ -1384,13 +1384,17 @@ public class RetailAppServiceImp implements RetailAppService {
if (AlipayOnline.containsKey("channel")) {
channels.add(AlipayOnline);
}
JSONObject Hf = getChannel(clientId, now, "hf");
if (Hf.containsKey("channel")) {
channels.add(Hf);
}
JSONObject Yeepay = getChannel(clientId, now, "Yeepay");
if (Yeepay.containsKey("channel")) {
channels.add(Yeepay);
// JSONObject Hf = getChannel(clientId, now, "hf");
// if (Hf.containsKey("channel")) {
// channels.add(Hf);
// }
// JSONObject Yeepay = getChannel(clientId, now, "Yeepay");
// if (Yeepay.containsKey("channel")) {
// channels.add(Yeepay);
// }
JSONObject CBBankPay = getChannel(clientId, now, "CB_BankPay");
if (CBBankPay.containsKey("channel")) {
channels.add(CBBankPay);
}
res.put("channels", channels);
return res;

@ -87,7 +87,7 @@ public class BDPrizeServiceImpl implements BDPrizeService {
private static BigDecimal percent = new BigDecimal(100);
private static String[] channels = new String[]{"Wechat", "Alipay", "Bestpay", "jd", "AlipayOnline","hf", "Rpay","Yeepay"};
private static String[] channels = new String[]{"Wechat", "Alipay", "Bestpay", "jd", "AlipayOnline","hf", "Rpay","Yeepay","LakalaPay"};
private static Logger logger = LoggerFactory.getLogger(BDPrizeServiceImpl.class);
@Override

@ -482,7 +482,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
JSONObject json = new JSONObject();
String channel = oneChannel.getKey();
if ("hf".equals(oneChannel.getKey().toLowerCase()) || "yeepay".equals(oneChannel.getKey().toLowerCase())) {
if ("hf".equals(oneChannel.getKey().toLowerCase()) || "yeepay".equals(oneChannel.getKey().toLowerCase()) || "lakalapay".equals(oneChannel.getKey().toLowerCase())) {
channel = "cb_bankpay";
if (orgInfo.get("cb_bankpay_rate_value") == null) {
throw new ServerErrorException(orgInfo.getString("name") + "组织下" + "cbbankpay" + "成本手续费未设置");
@ -531,7 +531,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
JSONObject json = new JSONObject();
String channel = oneChannel.getKey();
if ("hf".equals(oneChannel.getKey().toLowerCase()) || "yeepay".equals(oneChannel.getKey().toLowerCase())) {
if ("hf".equals(oneChannel.getKey().toLowerCase()) || "yeepay".equals(oneChannel.getKey().toLowerCase()) || "lakalapay".equals(oneChannel.getKey().toLowerCase())) {
channel = "cb_bankpay";
}
for (JSONObject params : oneChannel.getValue()) {
@ -585,7 +585,7 @@ public class CityPartnerPrizeServiceImpl implements CityPartnerPrizeService {
Date dateto = new Date();
JSONObject json = new JSONObject();
String channel = oneChannel.getKey();
if ("hf".equals(oneChannel.getKey().toLowerCase()) || "yeepay".equals(oneChannel.getKey().toLowerCase())) {
if ("hf".equals(oneChannel.getKey().toLowerCase()) || "yeepay".equals(oneChannel.getKey().toLowerCase()) || "lakalapay".equals(oneChannel.getKey().toLowerCase())) {
channel = "cb_bankpay";
}

@ -246,7 +246,7 @@ public class OrgManagerImpl implements OrgManager {
JSONArray rate1 = new JSONArray();
JSONArray rate2 = new JSONArray();
if(orgObject.getString("commission_type").equals(json.getString("commission_type"))){
String[] rates = new String[]{"alipay_rate_value","wechat_rate_value","bestpay_rate_value","alipayonline_rate_value","jd_rate_value","yeepay_rate_value"};
String[] rates = new String[]{"alipay_rate_value","wechat_rate_value","bestpay_rate_value","alipayonline_rate_value","jd_rate_value","cb_bankpay_rate_value"};
for (String rateName: rates ){
if(StringUtils.isEmpty(orgObject.getString(rateName))){
rate1.add(rateName);

@ -325,8 +325,7 @@ public class SignInStatusManagerImpl implements SignInStatusManager {
String codeId = "customer_" + RandomStringUtils.random(15, true, true) + "_" + System.currentTimeMillis();
JSONObject res = new JSONObject();
res.put("code_id", codeId);
res.put("code_img", QRCodeUtils.qrcodeImageCode(PlatformEnvironment.getEnv().concatUrl("/global/userstatus/customer_wechat_qrcode/" + codeId), 300,false));
System.out.println("====code:"+codeId);
res.put("code_img", QRCodeUtils.qrcodeImageCode(PlatformEnvironment.getEnv().concatUrl("/global/userstatus/customer_qrcode_scan/" + codeId), 300,false));
return res;
}

@ -1,5 +1,6 @@
package au.com.royalpay.payment.manage.signin.web;
import au.com.royalpay.payment.tools.permission.consumer.ConsumersAction;
import com.google.code.kaptcha.Producer;
import au.com.royalpay.payment.manage.customers.core.CustomerPaymentInfoService;
@ -353,20 +354,21 @@ public class SignInController {
return signInStatusManager.customerQRCode();
}
@WechatMapping(value = "/customer_wechat_qrcode/{codeId}", method = RequestMethod.GET, oauthType = WxOauthType.USERINFO)
public ModelAndView scanCustomerQrcode(@PathVariable String codeId, @ModelAttribute(CommonConsts.WECHATINFO) JSONObject wechatUser) {
signInStatusManager.scanCustomerQrcode(codeId, wechatUser.getString("openid"));
@ConsumersAction
@RequestMapping(value = "/customer_qrcode_scan/{codeId}", method = RequestMethod.GET)
public ModelAndView scanCustomerWechatQrcode(@PathVariable String codeId, @ModelAttribute(com.globalfreepay.payment.tools.CommonConsts.CONSUMER_INFO) JSONObject customerInfo) {
signInStatusManager.scanCustomerQrcode(codeId, customerInfo.getString("customer_id"));
return new ModelAndView("manager_bind_success");
}
@RequestMapping(value = "/customer_wechat_qrcode/{codeId}/check", method = RequestMethod.GET)
public JSONObject getCustomerID(@PathVariable String codeId, HttpServletResponse response, @RequestParam(value = "pay_info", defaultValue = "false") boolean pay_info) {
public JSONObject getCustomerID(@PathVariable String codeId, HttpServletResponse response,@RequestParam(value = "pay_info",defaultValue = "false") boolean pay_info) {
JSONObject result = new JSONObject();
String statusKey = signInStatusManager.getWechatCustomerId(codeId);
if (pay_info) {
result = customerPaymentInfoService.selectPaymentInfoByOpenId(statusKey);
}
HttpUtils.setCookie(response, "CustomerID", statusKey, false);
// if(pay_info){
// result = customerPaymentInfoService.selectPaymentInfoByOpenId(statusKey);
// }
HttpUtils.setCookie(response, "CustomerID", statusKey,false);
return result;
}
}

@ -0,0 +1,8 @@
app.lakala_pay.host=https://intl.lakala.com:7777
app.lakala_pay.publicKey=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPg0O4rPQJL1O+jqJ4rBjFVNRAuDmBSoii9pYfPQBaescCVY0irkWWoLyfTT65TjvnPpOx+IfNzBTlB13qCEFm7algREoeUHjFgFNHiXJ2LK/R0+VWgXe5+EDFfbrFCPnmLKG3OcKDGQszP0VOf6VVTM1t56CpgaRMm1/+Tzd2TQIDAQAB
app.lakala_pay.merchants.COPAUS000003.accountId=COPAUS000003
app.lakala_pay.merchants.COPAUS000003.currency=AUD
app.lakala_pay.merchants.COPAUS000003.privateKey=c:\\Software\\lakala\\COPAUS000003.key
app.lakala_pay.merchants.COPAUS000004.accountId=COPAUS000004
app.lakala_pay.merchants.COPAUS000004.currency=CNY
app.lakala_pay.merchants.COPAUS000004.privateKey=c:\\Software\\lakala\\COPAUS000004.key

@ -1,6 +1,6 @@
server.port=5000
spring.profiles.active=dev,alipay,bestpay,jd,wechat,rpay,yeepay
spring.profiles.active=dev,alipay,bestpay,jd,wechat,rpay,yeepay,lakala
env.company=RoyalPay
@ -57,7 +57,7 @@ app.agreetemplate.classic.path=https://file.royalpay.com.au/open/2017/07/10/1499
#app.agreetemplate.aggregate.path=https://file.royalpay.com.au/open/2017/11/17/1510890355946_hQt6yGc0NJ8TYeK7XCuuSAnTI31M7v.pdf
app.agreetemplate.aggregate.path=https://file.royalpay.com.au/open/2019/02/12/1549950518019_vW4tU5t6D6yA0wMSDNBB9G195W3g99.pdf
app.host.main=http://192.168.0.85:9002/
app.host.main=http://192.168.0.9:9003/
app.host.regions.cn=https://mpay-cn.royalpay.com.au/
app.host.regions.au=https://mpay-au.royalpay.com.au/
app.debug=true
@ -141,4 +141,4 @@ app.hanyin-secure.pid=ROYALPAY
app.hanyin-secure.sftp-host=180.168.61.86
app.hanyin-secure.sftp-port=28480
app.hanyin-secure.sftp-username=royalpay
app.hanyin-secure.sftp-pwd=royalpay
app.hanyin-secure.sftp-pwd=royalpay

@ -328,7 +328,9 @@
ifnull(sum(CASE WHEN s.channel = 'Rpay' THEN s.total ELSE 0 END),0) rpayamount,
ifnull(sum(CASE WHEN s.channel = 'Rpay' THEN s.orders ELSE 0 END),0) rpay_order_count,
ifnull(sum(CASE WHEN s.channel = 'Yeepay' THEN s.total ELSE 0 END),0) yeepayamount,
ifnull(sum(CASE WHEN s.channel = 'Yeepay' THEN s.orders ELSE 0 END),0) yeepay_order_count
ifnull(sum(CASE WHEN s.channel = 'Yeepay' THEN s.orders ELSE 0 END),0) yeepay_order_count,
ifnull(sum(CASE WHEN s.channel = 'LakalaPay' THEN s.total ELSE 0 END),0) lakalapayamount,
ifnull(sum(CASE WHEN s.channel = 'LakalaPay' THEN s.orders ELSE 0 END),0) lakala_order_count
FROM statistics_customer_order s
LEFT JOIN sys_clients c ON c.client_id = s.client_id and c.is_valid=1
]]>

@ -173,7 +173,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
trigger: 'axis'
},
legend: {
data: ['Alipay交易金额','AlipayOnline交易金额', 'Bestpay交易金额','Wechat交易金额',"JD Pay交易金额","HF Pay交易金额","Yeepay交易金额"],
data: ['Alipay交易金额','AlipayOnline交易金额', 'Bestpay交易金额','Wechat交易金额',"JD Pay交易金额","HF Pay交易金额","Yeepay交易金额","LakalaPay交易金额"],
bottom: 0,
height: '15%',
width: '80%',
@ -185,7 +185,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
type: 'value'
}
],
color: ['#00a0e9','#00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00"]
color: ['#00a0e9','#00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00","#00b0ec"]
},
xAxis: {
basic: {type: 'category', boundaryGap: false},
@ -268,6 +268,17 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
yAxisIndex: 0
},
column: {key: 'Yeepay.total'}
},
{
basic: {
name: 'LakalaPay交易金额',
type: 'line',
label: {normal: {show: true}},
showAllSymbols: true,
showSymbol: true,
yAxisIndex: 0
},
column: {key: 'LakalaPay.total'}
}
]
};
@ -278,7 +289,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
trigger: 'axis'
},
legend: {
data: ['Alipay交易订单','AlipayOnline交易订单', 'Bestpay交易订单','Wechat交易订单',"JD Pay交易订单","HF Pay交易订单","Yeepay交易订单"],
data: ['Alipay交易订单','AlipayOnline交易订单', 'Bestpay交易订单','Wechat交易订单',"JD Pay交易订单","HF Pay交易订单","Yeepay交易订单","LakalaPay交易订单"],
bottom: 0,
height: '15%',
width: '80%',
@ -290,7 +301,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
type: 'value'
}
],
color: ['#00a0e9','00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00"]
color: ['#00a0e9','00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00","#00b0ec"]
},
xAxis: {
basic: {type: 'category', boundaryGap: false},
@ -374,6 +385,17 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
},
column: {key: 'Yeepay.orders'}
},
{
basic: {
name: 'LakalaPay交易订单',
type: 'line',
label: {normal: {show: true}},
showAllSymbols: true,
showSymbol: true,
yAxisIndex: 0
},
column: {key: 'LakalaPay.orders'}
}
]
};
var channels_single_amount_chart = {
@ -382,7 +404,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
trigger: 'axis'
},
legend: {
data: ['Alipay交易客单价','AlipayOnline交易客单价', 'Bestpay交易客单价','Wechat交易客单价',"JD Pay交易客单价","HF Pay交易客单价","Yeepay交易客单价"],
data: ['Alipay交易客单价','AlipayOnline交易客单价', 'Bestpay交易客单价','Wechat交易客单价',"JD Pay交易客单价","HF Pay交易客单价","Yeepay交易客单价","LakalaPay交易客单价"],
bottom: 0,
},
yAxis: [
@ -391,7 +413,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
type: 'value'
}
],
color: ['#00a0e9','#00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00"]
color: ['#00a0e9','#00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00","#00b0ec"]
},
xAxis: {
basic: {type: 'category', boundaryGap: false},
@ -474,6 +496,17 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
yAxisIndex: 0
},
column: {key: 'Yeepay.single_amount'}
},
{
basic: {
name: 'LakalaPay交易客单价',
type: 'line',
label: {normal: {show: true}},
showAllSymbols: true,
showSymbol: true,
yAxisIndex: 0
},
column: {key: 'LakalaPay.single_amount'}
}
]
};

@ -547,6 +547,8 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func
return '/static/images/rpayplus_sign_lg.png';
case 'Yeepay':
return '/static/images/yeepay_sign_lg.png';
case 'LakalaPay':
return '/static/images/lakalapay_sign_lg.png';
}
}
});

@ -205,6 +205,8 @@
uib-tooltip="RPay+" ng-if="order.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png"
uib-tooltip="Yeepay" ng-if="order.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png"
uib-tooltip="LakalaPay" ng-if="order.channel=='LakalaPay'"/>
{{order.order_id}}
</td>
<td>{{order.short_name}}(<a class="text-primary" role="button" title="Detail"

@ -1,4 +1,4 @@
<style>
Ye<style>
.cen table {
text-align: center;
}
@ -94,7 +94,9 @@
<a role="button" ng-class="{'bg-primary':params.channel=='RPAY'}"
ng-click="params.channel='RPAY';doAnalysis(1)">RPay +</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='Yeepay'}"
ng-click="params.channel='Yeepay';doAnalysis(1)">Yeepay</a>
ng-click="params.channel='YEEPAY';doAnalysis(1)">Yeepay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='LakalaPay'}"
ng-click="params.channel='LAKALAPAY';doAnalysis(1)">LakalaPay</a>
</p>
</div>
</div>

@ -104,7 +104,9 @@
<a role="button" ng-class="{'bg-primary':params.channel=='RPAY'}"
ng-click="params.channel='RPAY';doAnalysis(1)">RPay +</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='YEEPAY'}"
ng-click="params.channel='YEEPAY';doAnalysis(1)">Yeepay</a>
ng-click="params.channel='YEEPAY';doAnalysis(1)">Yeepay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='LakalaPay'}"
ng-click="params.channel='LAKALAPAY';doAnalysis(1)">LakalaPay</a>
</p>
</div>
</div>

@ -102,7 +102,9 @@
<a role="button" ng-class="{'bg-primary':params.channel=='hf'}"
ng-click="params.channel='hf';doAnalysis(1)">HF Pay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='YEEPAY'}"
ng-click="params.channel='YEEPAY';doAnalysis(1)">Yeepay</a>
ng-click="params.channel='YEEPAY';doAnalysis(1)">Yeepay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='LAKALAPAY'}"
ng-click="params.channel='LAKALAPAY';doAnalysis(1)">LakalaPay</a>
</p>
</div>
</div>

@ -101,7 +101,9 @@
<a role="button" ng-class="{'bg-primary':params.channel=='RPAY'}"
ng-click="params.channel='RPAY';doAnalysis(1)">RPay +</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='YEEPAY'}"
ng-click="params.channel='YEEPAY';doAnalysis(1)">Yeepay</a>
ng-click="params.channel='YEEPAY';doAnalysis(1)">Yeepay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='LAKALAPAY'}"
ng-click="params.channel='LAKALAPAY';doAnalysis(1)">LakalaPay</a>
</p>
</div>
</div>
@ -220,6 +222,15 @@
</div>
</div>
</div>
<div class="col-sm-2 col-xs-6">
<div class="description-block">
<div class="description-header text-bold"><img src="/static/images/lakalapay_sign.png"/>LakalaPay</div>
<div class="description-text text-red">
<label class="description-text"
ng-bind="totalChannelAmount.lakalapayamount|currency: ' $ '"></label>
</div>
</div>
</div>
</div>
<!--<table class="table">

@ -78,7 +78,11 @@
<a role="button" ng-class="{'bg-primary':params.channel=='hf'}"
ng-click="params.channel='hf';doAnalysis(1)">HF Pay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='RPAY'}"
ng-click="params.channel='RPAY';doAnalysis(1)">RPay +</a>
ng-click="params.channel='RPAY';doAnalysis(1)">RPay +</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='YEEPAY'}"
ng-click="params.channel='YEEPAY';doAnalysis(1)">Yeepay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='LAKALAPAY'}"
ng-click="params.channel='LAKALAPAY';doAnalysis(1)">LakalaPay</a>
</p>
</div>
</div>
@ -188,6 +192,15 @@
</div>
</div>
</div>
<div class="col-sm-2 col-xs-6">
<div class="description-block">
<div class="description-header text-bold"><img src="/static/images/lakalapay_sign.png"/>LakalaPay</div>
<div class="description-text">
<label class="description-text text-red"
ng-bind="totalChannelAmount.lakalapayamount|currency: ' $ '"></label>
</div>
</div>
</div>
</div>
<!-- <table class="table">

@ -44,7 +44,9 @@
<a role="button" ng-class="{'bg-primary':params.channel=='RPAY'}"
ng-click="params.channel='RPAY';loadTradeLogs(1)">RPay +</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='YEEPAY'}"
ng-click="params.channel='YEEPAY';loadTradeLogs(1)">Yeepay</a>
ng-click="params.channel='YEEPAY';loadTradeLogs(1)">Yeepay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='LAKALAPAY'}"
ng-click="params.channel='LAKALAPAY';doAnalysis(1)">LakalaPay</a>
</p>
</div>
</div>

@ -49,6 +49,8 @@
uib-tooltip="RPay+" ng-if="order.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png"
uib-tooltip="Yeepay" ng-if="order.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png"
uib-tooltip="LakalaPay" ng-if="order.channel=='LakalaPay'"/>
{{order.order_id}}
</td>
</p>

@ -410,6 +410,8 @@ define(['angular', '../../analysis/bd/analysis-bd'], function (angular) {
return '/static/images/rpayplus_sign_lg.png';
case 'Yeepay':
return '/static/images/yeepay_sign_lg.png';
case 'LakalaPay':
return '/static/images/lakalapay_sign_lg.png';
}
}
});

@ -187,6 +187,19 @@
<div class="description-header text-bold"><img src="/static/images/yeepay_sign.png"/>Yeepay</div>
</div>
</div>
<div class="col-sm-4 col-xs-6">
<div class="description-block">
<div class="description-text">交易额:
<label class="description-text text-red"
ng-bind="totalChannelAmount.lakalapayamount|currency: ' $ '"></label>
</div>
<div class="description-text">订单数:
<label class="description-text text-red"
ng-bind="totalChannelAmount.lakalapay_order_count"></label>
</div>
<div class="description-header text-bold"><img src="/static/images/lakalapay_sign.png"/>LakalaPay</div>
</div>
</div>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

File diff suppressed because one or more lines are too long

@ -167,6 +167,8 @@
uib-tooltip="RPay+" ng-if="order.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png"
uib-tooltip="Yeepay" ng-if="order.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png"
uib-tooltip="LakalaPay" ng-if="order.channel=='LakalaPay'"/>
{{order.order_id}}
</td>
</p>

@ -204,6 +204,8 @@
uib-tooltip="RPay+" ng-if="trade.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png"
uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png"
uib-tooltip="LakalaPay" ng-if="trade.channel=='LakalaPay'"/>
{{trade.order_id2}}
</td>
<td ng-bind="trade.currency"></td>

@ -221,7 +221,7 @@
<div class="form-group">
<label class="control-label col-sm-2">CB Bank Pay Link</label>
<div class="col-sm-10">
<a href={{partner.yeepay_pay_url}} target="_Blank">
<a href={{partner.cb_bankpay_url}} target="_Blank">
<span class="form-control-static">{{partner.cb_bankpay_url}}
</span>
</a>
@ -233,7 +233,7 @@
<label class="col-sm-2 control-label">CB Bank Pay QR Code</label>
<div style="text-align: center">
<img ng-src="{{partner.cbBankPayQrcodeUrl}}" class="img-responsive" />
<span style="font-size:9px;">仅支持微信客户端扫描</span>
<!--<span style="font-size:9px;">仅支持微信客户端扫描</span>-->
</div>
<!--<div style="padding-top: 30px;padding-left: 20%;text-align: center">-->

@ -99,7 +99,9 @@
<a role="button" ng-class="{'bg-primary':params.channel=='RPAY'}"
ng-click="params.channel='RPAY';loadTradeLogs(1)">RPay +</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='YEEPAY'}"
ng-click="params.channel='YEEPAY';loadTradeLogs(1)">Yeepay</a>
ng-click="params.channel='YEEPAY';loadTradeLogs(1)">Yeepay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='LAKALAPAY'}"
ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay</a>
</p>
</div>
</div>
@ -314,6 +316,8 @@
uib-tooltip="RPay" ng-if="trade.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png"
uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png"
uib-tooltip="LakalaPay" ng-if="trade.channel=='LakalaPay'"/>
{{trade.order_id2}}
</td>
<td ng-bind="trade.currency"></td>

@ -50,6 +50,11 @@
<img src="/static/images/yeepay_sign_lg.png">
</a>
</li>
<li ng-class="{active:ctrl.channel=='LakalaPay'}" ng-if="report.channels.LakalaPay">
<a role="button" ng-click="ctrl.channel='LakalaPay';channelAndDayOfAnalysis()" title="LakalaPay">
<img src="/static/images/lakalapay_sign_lg.png">
</a>
</li>
</ul>
</div>
</div>

@ -99,7 +99,9 @@
<a role="button" ng-class="{'bg-primary':params.channel=='RPAY'}"
ng-click="params.channel='RPAY';loadTradeLogs(1)">RPay+</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='YEEPAY'}"
ng-click="params.channel='YEEPAY';loadTradeLogs(1)">Yeepay</a>
ng-click="params.channel='YEEPAY';loadTradeLogs(1)">Yeepay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='LAKALAPAY'}"
ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay</a>
</p>
</div>
</div>
@ -328,6 +330,7 @@
<img src="/static/images/hf_sign.png" uib-tooltip="HF Pay" ng-if="trade.channel=='hf'"/>
<img src="/static/images/rpayplus_sign.png" uib-tooltip="RPay+" ng-if="trade.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png" uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png" uib-tooltip="LakalaPay" ng-if="trade.channel=='LakalaPay'"/>
{{trade.order_id}}
</td>
<td>

@ -137,7 +137,9 @@
<a role="button" ng-class="{'bg-primary':params.channel=='RPAY'}"
ng-click="params.channel='RPAY';loadTradeLogs(1)">RPay +</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='YEEPAY'}"
ng-click="params.channel='YEEPAY';loadTradeLogs(1)">Yeepay</a>
ng-click="params.channel='YEEPAY';loadTradeLogs(1)">Yeepay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='LAKALAPAY'}"
ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay</a>
</p>
</div>
</div>
@ -359,6 +361,8 @@
uib-tooltip="Royal Pay" ng-if="trade.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png"
uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png"
uib-tooltip="LakalaPay" ng-if="trade.channel=='LakalaPay'"/>
{{trade.order_id}}
</td>
<td>

@ -0,0 +1,197 @@
.gateway-background {
width:100%;
height:100%;
/*position: fixed;*/
background: url("../img/gateway_bg.png");
top: 0;
bottom: 0;
right: 0;
left: 0;
z-index: -1;
overflow-y: auto;
background-size:100% 100%;
display: flex;
justify-content: center;
align-items: center;
align-content: center;
flex-direction: column;
}
.head-bar{
display: inline;
text-align: center;
}
.head-bar img{
width: 396px;
height: 116px;
top: 60px;
margin-top: 40px;
}
.order-box{
height: 550px;
width: 800px;
margin: 2% auto;
/*box-shadow: 0px 0px 25px 0px rgba(0,0,0,0.21);*/
}
.order-box:after{
content:'';
display:block;
clear:both;
}
.order-box .left{
display: inline;
opacity: 0.84;
background: #f06010;
width:40%;
float: left;
height: 100%;
text-align: center;
}
/*.order-box .left .m-logo{*/
/*background: #FFFFFF;*/
/*border-radius: 100px;*/
/*width: 120px;*/
/*height: 120px;*/
/*margin-top: 15%;*/
/*display: inline-block;*/
/*}*/
.m-logo{
line-height: 100px;
}
.m-logo img{
width: 100px;
padding: 10px;
}
.short-name{
margin-top: 40px;
font-family: MicrosoftYaHei;
font-size: 18px;
}
.intro{
margin: 100px 0 50px;
color: #FFFFFF;
}
.order-box .right{
display: inline;
background: #FFFFFF;
width:60%;
float: right;
height: 80%;
padding: 20px 40px;
}
.order-box .brand{
display: inline;
background: #f06010 ;
width:60%;
float: right;
height: 20%;
vertical-align: middle;
text-align: center;
}
.order-box .brand img{
width: 246px;
height: 51px;
margin-top: 7%
}
.order-box .right .title {
font-family: PingFang-SC-Medium;
font-size: 20px;
color: #434343;
letter-spacing: 0px;
padding-bottom: 10px;
padding-top: 20px;
}
.order-box .right input {
background-color: #EEEEEE;
border: none;
outline: none;
height: 45px;
}
.order-box .right .form_margin {
}
.order-box .right .form_input {
height: 45px;
}
.footer-bottom{
font-family: PingFangSC-Regular;
color: #FFFFFF;
letter-spacing: 0px;
margin-top: 50px;
}
.footer-bottom-success{
margin-top: 60px;
color: #444444;
}
.warning{
font-size: x-small;
color: #f06010;
}
.submit{
color: #fff;
background-color: #f06010;
border-color: #f06010;
}
/*成功页*/
.order-box .success-logo{
text-align: center;
height: 150px;
background: #F0F3FA;
line-height: 150px;
font-family: PingFangSC-Regular;
font-size: 22px;
color: #444444;
letter-spacing: 0px;
}
.order-info{
padding: 50px 100px;
font-family: PingFangSC-Regular;
font-size: 17px;
color: #444444;
letter-spacing: 0px;
}
@media(max-width:800px){
.order-box{
width:100%;
}
.order-info{
padding:50px 10px;
}
}
.gateway-background .modal {
background-color: rgba(0,0,0,.8);
}
.gateway-background .modal-dialog {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
align-content: center;
}
.surcharge{
font-size: 0.8em;
color: #909090;
}
.exchange{
font-size: 0.8em;
color: #909090;
}
.div-inline {
display: inline;
width: 50%;
}
.div-inline-select {
text-align: center;
text-align-last: center;
}

@ -0,0 +1,267 @@
body {
color: #333333;
font-family: PingFang-SC-Regular;
font-size: 14px;
letter-spacing: 0px;
}
ul, li {
padding: 0px;
margin: 0px;
list-style: none;
}
input::-webkit-input-placeholder {
color: #C0C0C0;
}
input::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #C0C0C0;
}
input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #C0C0C0;
}
input:-ms-input-placeholder { /* Internet Explorer 10-11 */
color: #C0C0C0;
}
.my-input {
border-top: 0;
border-right: 0;
border-bottom: 1px solid #EBEBEB;
border-left: 0;
padding: 10px 0;
width: 100%;
outline: none;
}
.tab-item {
position: relative;
display: inline-block;
font-size: 16px;
width: 100px;
background: #fff;
padding: 10px 0px;
text-align: center;
border-bottom: 1px solid #EBEBEB;
margin-right: -4px;
box-sizing: border-box;
cursor: pointer;
}
.change-color {
color: #f06010;
border-bottom: 1px solid #f06010;
}
.s1 {
position: absolute;
bottom: -1px;
left: 45px;
width: 0px;
height: 0px;
border-top: 5px solid transparent;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-bottom: 5px solid #EBEBEB;
}
.s1-change-color {
border-bottom: 5px solid #f06010;
}
.s2 {
position: absolute;
bottom: -3px;
left: 45px;
width: 0px;
height: 0px;
border-top: 5px solid transparent;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-bottom: 5px solid #fff;
}
.main {
width: 700px;
padding: 40px 0 0 70px;
background-color: #FFFFFF;
margin: 0 auto;
}
.main-logo {
width: 770px;
height: 47px;
margin: 0 auto;
margin-bottom: 32px;
}
.main-left {
width: 300px;
display: inline-block;
margin-right: 50px;
vertical-align: top;
}
.input-item {
margin-bottom: 12px;
}
.commit-button {
background-color: #f06010;
color: #FFFFFF;
width: 100%;
text-align: center;
padding: 10px 0;
font-size: 17px;
border: none;
border-radius: 2px;
margin: 20px 0;
box-shadow: 0 2px 11px 0;
cursor: pointer;
outline: none;
}
.main-middle {
width: 2px;
height: 400px;
border: 1px dashed #EBEBEB;
display: inline-block;
box-sizing: border-box;
vertical-align: top;
margin: 10px 40px 0 0;
}
.main-right {
vertical-align: top;
display: inline-block;
text-align: center;
padding-top: 72px;
}
.main-right-top {
background: #FFFFFF;
border: 1px solid #EBEBEB;
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.30);
width: 120px;
height: 120px;
border-radius: 120px;
text-align: center;
margin: 0 auto;
line-height: 120px;
}
.main-right-top img {
width: 35px;
height: 40px;
display: inline-block;
vertical-align: middle;
}
.royalpay {
font-size: 16px;
letter-spacing: 0px;
margin-top: 12px;
}
.description {
margin-top: 162px;
letter-spacing: 0px;
}
.my-modal {
position: absolute;
width: 100%;
height: 100%;
background-color: black;
opacity: 0.80;
z-index: 111;
}
.qrcode {
left: 0;
right: 0;
text-align: center;
}
.all {
position: relative;
width: 100%;
height: 100%;
}
.all img {
width: 100%;
height: 354px;
}
.all .all-logo {
position: absolute;
left: 0px;
right: 0px;
margin: auto;
top: 47px;
width: 82px;
height: 82px;
text-align: center;
line-height: 75px;
border-radius: 82px;
background: #FFFFFF;
border: 1px solid #EBEBEB;
box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.30);
}
.all .all-logo img {
width: 35px;
height: 40px;
}
.all .all-royalpay {
position: absolute;
height: 25px;
line-height: 25px;
width: 100%;
text-align: center;
top: 136px;
color: #FFFFFF;
font-size: 18px;
}
.all .all-royalpay-pic {
width: 100%;
position: absolute;
top: 195px;
text-align: center;
}
.all .all-royalpay-pic img {
width: 100px;
height: 37px;
}
.all .all-form {
position: absolute;
width: 90%;
top: 249px;
left: 0;
right: 0;
margin: auto;
background: #FFFFFF;
border-radius: 2px;
}
.all .form-input {
box-shadow: 0px 2px 11px 0px rgba(0, 0, 0, 0.20);
padding: 30px 24px 20px 24px;
margin-bottom: 20px;
}
.weui-cells-design {
background-color: #FFFFFF;
border-bottom: 1px solid #EBEBEB;
line-height: 1.47058824;
overflow: hidden;
position: relative;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

@ -0,0 +1,115 @@
var num = function(obj){
obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字
obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
var surchargeData = calculateSurcharge(obj.value-0);
var surchargeAmount = Decimal.add(surchargeData.surcharge,surchargeData.tax);
$('#surchargeAmount').html(surchargeAmount+'');
$('#totalAmount').html(surchargeData.newPrice+'');
if(surchargeAmount+0===0 || !window.c4surcharge){
$('.surcharge').hide();
}else {
$('.surcharge').show();
}
};
$(document).ready(function () {
$('.surcharge').hide();
var payUrl = window.location.href;
$.cookie("payURL",payUrl,{ expires: 1,path:'/' });
var customer_id = ""||$.cookie("CustomerID");
if (customer_id==null||customer_id === ""){
getQrcode();
}
function getQrcode(){
$.ajax({
url: '/global/userstatus/customer_wechat_qrcode',
method: 'get',
dataType: 'json',
success: function (data) {
$('#qrmodal').find('img#qrimg').attr('src', data.code_img);
$('#qrmodal').show();
setTimeout(function () {
checkQRStatus(data.code_id)
}, 2000);
},
error: function (jqXHR) {
alert(jqXHR.responseJSON.message);
}
})
}
function checkQRStatus(codeId) {
$.ajax({
url: '/global/userstatus/customer_wechat_qrcode/' + codeId + '/check',
method: 'get',
success: function (data) {
$('#qrmodal').hide();
customer_id = $.cookie("CustomerID");
},
error: function () {
setTimeout(function () {
checkQRStatus(codeId)
}, 2000)
}
})
}
$('input').keypress(function (evt) {
if (evt.keyCode === 13) {
$('#login-btn').click();
}
});
$('#commit-btn').click(function () {
var price = $('#price').val();
if (price == null || price.length === 0) {
alert('请填写订单金额');
return;
}
var product = $('#product').val();
if (product == null || product.length === 0) {
alert('请填写真实的商品名称');
return;
}
var select_currency = $('#select_currency').val();
var remark = $('#remark').val();
var buyForexKind = $('#buyForexKind').val();
var jsonData = {user_id: customer_id, price: price, product_name: product,gateway_type: 9,description: remark,buy_forex_kind: buyForexKind,currency: select_currency};
var commit = confirm("是否确认提交支付");
if (commit) {
$('#commit-btn').addClass('hidden');
$('#commit-btn-loading').removeClass('hidden');
$.ajax({
url: '/api/v1.0/lakala_pay/partners/'+window.client_moniker+'/submit',
method: 'put',
data: JSON.stringify(jsonData),
contentType: 'application/json',
dataType: 'json',
success: function (res) {
if('SUCCESS' !== res.return_code){
alert(res.message);
$('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden');
}else {
const $form = $(res.formString);
$('body').append($form);
$form.submit();
$('body').removeChildren($form);
}
},
error: function (jqXHR) {
alert(JSON.parse(jqXHR.responseText).message);
$('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden');
}
})
} else {
$('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden');
}
});
})

@ -0,0 +1,80 @@
var num = function (obj) {
obj.value = obj.value.replace(/[^\d.]/g, "");
obj.value = obj.value.replace(/^\./g, "");
obj.value = obj.value.replace(/\.{2,}/g, ".");
obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
if(obj.value.indexOf(".")< 0 && obj.value !==""){
obj.value= parseFloat(obj.value);
}
var surchargeData = calculateSurcharge(obj.value - 0);
var surchargeAmount = Decimal.add(surchargeData.surcharge, surchargeData.tax);
$('#surchargeAmount').html(surchargeAmount + '');
$('#totalAmount').html(surchargeData.newPrice + '');
if (surchargeAmount - 0 === 0 || !window.c4surcharge) {
$('.surcharge').hide();
} else {
$('.surcharge').show();
}
};
function onChange(str,num) {
return str.length === num;
}
$(document).ready(function () {
$('.surcharge').hide();
$('#commit-btn').click(function () {
var currency = $('#select_currency option:selected').val();
var buy_forex_kind = $('#buy_forex_kind option:selected').val();
var price = $('#price').val();
var remark = $('#product_name option:selected').val() + '-' + $('#remark').val();
if (price == null || onChange(price, 0)) {
alert('请填写订单金额');
return;
}
if (price - 0 === 0) {
alert('金额不能为0');
return;
}
$('#commit-btn').addClass('hidden');
$('#commit-btn-loading').removeClass('hidden');
var jsonData = {
customer_id: window.customer_id,
price: price,
currency: currency,
buy_forex_kind: buy_forex_kind,
gateway_type: 8,
description:remark
};
$.ajax({
url: '/api/v1.0/lakala_pay/partners/' + window.client_moniker + '/submit',
method: 'put',
data: JSON.stringify(jsonData),
contentType: 'application/json',
dataType: 'json',
success: function (res) {
if(res.return_code !== 'SUCCESS'){
alert(res.message);
$('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden');
}else {
const $form = $(res.formString);
$('body').append($form);
$form.submit();
$('body').removeChildren($form);
}
},
error: function (jqXHR) {
alert(JSON.parse(jqXHR.responseText).message);
$('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden');
}
})
});
});

@ -0,0 +1,111 @@
var num = function(obj){
obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字
obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
var surchargeData = calculateSurcharge(obj.value-0);
var surchargeAmount = Decimal.add(surchargeData.surcharge,surchargeData.tax);
$('#surchargeAmount').html(surchargeAmount+'');
$('#totalAmount').html(surchargeData.newPrice+'');
if(surchargeAmount+0==0 || !window.c4surcharge){
$('.surcharge').hide();
}else {
$('.surcharge').show();
}
};
$(document).ready(function () {
$('.surcharge').hide();
var payUrl = window.location.href;
$.cookie("payURL",payUrl,{ expires: 1,path:'/' });
var customer_id = ""||$.cookie("CustomerID");
if (customer_id==null||customer_id == ""){
getQrcode();
}
function getQrcode(){
$.ajax({
url: '/global/userstatus/customer_wechat_qrcode',
method: 'get',
dataType: 'json',
success: function (data) {
$('#qrmodal').find('img#qrimg').attr('src', data.code_img);
$('#qrmodal').show();
setTimeout(function () {
checkQRStatus(data.code_id)
}, 2000);
},
error: function (jqXHR) {
alert(jqXHR.responseJSON.message);
}
})
}
function checkQRStatus(codeId) {
$.ajax({
url: '/global/userstatus/customer_wechat_qrcode/' + codeId + '/check',
method: 'get',
success: function (data) {
$('#qrmodal').hide();
customer_id = $.cookie("CustomerID");
},
error: function () {
setTimeout(function () {
checkQRStatus(codeId)
}, 2000)
}
})
}
$('input').keypress(function (evt) {
if (evt.keyCode == 13) {
$('#login-btn').click();
}
});
$('#commit-btn').click(function () {
var price = $('#price').val();
if (price == null || price.length == 0) {
alert('请填写订单金额');
return;
}
var product = $('#product').val();
if (product == null || product.length == 0) {
alert('请填写真实的商品名称');
return;
}
var select_currency = $('#select_currency').val();
var remark = $('#remark').val();
var jsonData = {user_id:customer_id,price:price,product_name:product,description:remark,currency: select_currency};
var commit = confirm("是否确认提交支付");
if (commit){
$('#commit-btn').addClass('hidden');
$('#commit-btn-loading').removeClass('hidden');
$.ajax({
url: '/api/v1.0/yeepay/partners/'+window.client_moniker+'/share',
method: 'put',
data: JSON.stringify(jsonData),
contentType: 'application/json',
dataType: 'json',
success: function (res) {
if(res.return_code != 'SUCCESS'){
alert(res.message);
$('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden');
}else {
location.href = res.pay_url+'?'+res.sign_url;
}
},
error: function (jqXHR) {
alert(JSON.parse(jqXHR.responseText).message);
$('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden');
}
})
} else {
$('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden');
}
});
})

@ -0,0 +1,78 @@
var num = function (obj) {
obj.value = obj.value.replace(/[^\d.]/g, "");
obj.value = obj.value.replace(/^\./g, "");
obj.value = obj.value.replace(/\.{2,}/g, ".");
obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
if(obj.value.indexOf(".")< 0 && obj.value !=""){
obj.value= parseFloat(obj.value);
}
var surchargeData = calculateSurcharge(obj.value - 0);
var surchargeAmount = Decimal.add(surchargeData.surcharge, surchargeData.tax);
$('#surchargeAmount').html(surchargeAmount + '');
$('#totalAmount').html(surchargeData.newPrice + '');
if (surchargeAmount - 0 == 0 || !window.c4surcharge) {
$('.surcharge').hide();
} else {
$('.surcharge').show();
}
};
function onChange(str,num) {
if (str.length == num) {
return true;
}
return false;
}
$(document).ready(function () {
$('.surcharge').hide();
$('#commit-btn').click(function () {
var product = $('#product').val();
var price = $('#price').val();
var remark = $('#remark').val();
var currency = $('#select_currency option:selected').val();
if (price == null || onChange(price,0)) {
alert('请填写订单金额');
return;
}
if (price-0 ==0) {
alert('金额不能为0');
return;
}
$('#commit-btn').addClass('hidden');
$('#commit-btn-loading').removeClass('hidden');
var jsonData = {
user_id: window.customer_id,
price: price,
currency: currency,
product_name:product,
description:remark
};
$.ajax({
url: '/api/v1.0/yeepay/partners/' + window.client_moniker + '/share',
method: 'put',
data: JSON.stringify(jsonData),
contentType: 'application/json',
dataType: 'json',
success: function (res) {
if(res.return_code != 'SUCCESS'){
alert(res.message);
$('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden');
}else {
location.href = res.pay_url+'?'+res.sign_url;
}
},
error: function (jqXHR) {
alert(JSON.parse(jqXHR.responseText).message);
$('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden');
}
})
});
});

@ -12,6 +12,9 @@
.pagehead.Yeepay{
background-color: #23ac38;
}
.pagehead.LakalaPay {
background-color: #00b0ec;
}
.pagehead img {
width: 30px;
height: 30px;

Loading…
Cancel
Save