网银快捷支付整合,API更新

master
james.zhao 6 years ago
parent 93e5eb0a01
commit bf700de857

@ -884,17 +884,17 @@
* 用于商户提交海关需要的订单附件信息仅支持微信和支付宝微信只支持一个月内的支付订单进行报关申请 * 用于商户提交海关需要的订单附件信息仅支持微信和支付宝微信只支持一个月内的支付订单进行报关申请
* *
* @apiVersion 1.0.0 * @apiVersion 1.0.0
* @apiGroup Customs_Declaration * @apiGroup Custom
* @apiHeader Accept application/json * @apiHeader Accept application/json
* @apiHeader Content-Type application/json * @apiHeader Content-Type application/json
* @apiParam (PathVariable) {String} partner_code 必填商户编码由4位大写字母或数字构成 * @apiParam (PathVariable) {String} partner_code 必填商户编码由4-6位大写字母或数字构成
* @apiParam (PathVariable) {String} client_report_id 必填商户申请报关单号要求同一商户唯一 * @apiParam (PathVariable) {String} client_report_id 必填商户申请报关单号要求同一商户唯一
* @apiUse Sign * @apiUse Sign
* @apiParam (JSON) {String} order_id 必填商户支付订单号要求同一商户唯一 * @apiParam (JSON) {String} order_id 必填商户支付订单号要求同一商户唯一
* @apiParam (JSON) {String} custom 必填海关编号 * <a href="https://www.royalpay.com.au/downloads/CustomsNO.xlsx">渠道海关编号</a> * @apiParam (JSON) {String} custom 必填海关编号 * <a href="https://www.royalpay.com.au/downloads/CustomsNO.xlsx">渠道海关编号</a>
* @apiParam (JSON) {String} mch_custom_id 必填商户在海关备案的编号 * @apiParam (JSON) {String} mch_custom_id 必填商户在海关备案的编号
* @apiParam (JSON) {String} mch_custom_name 必填商户海关备案名称 * @apiParam (JSON) {String} mch_custom_name 必填商户海关备案名称
* @apiParam (JSON) {JSONArray} sub_order 子订单(拆单) * @apiParam (JSON) {JSON[]} sub_order 子订单(拆单)
* *
* @apiParam (SUB_JSON) {String} sub_order_no 商户子订单号 * @apiParam (SUB_JSON) {String} sub_order_no 商户子订单号
* @apiParam (SUB_JSON) {String=CNY} fee_type=CNY 币种代码 * @apiParam (SUB_JSON) {String=CNY} fee_type=CNY 币种代码
@ -903,12 +903,47 @@
* *
* @apiSuccess {String} report_id RoyalPay海关单号 * @apiSuccess {String} report_id RoyalPay海关单号
* @apiSuccess {String} client_report_id 商户申请报关单号 * @apiSuccess {String} client_report_id 商户申请报关单号
* @apiSuccess {int} report_status 0:暂存,1:提交,2:提交失败,3:提交成功 * @apiSuccess {String} report_status 报关单状态: PROCCESSING,SUBMITED,FAILED,SUCCESS
* @apiSuccess {String} channel 支付渠道
* @apiSuccess {String} custom 海关编号
* @apiSuccess {String} mch_custom_no 商户在海关备案的编号
* @apiSuccess {String} mch_custom_name 商户海关备案名称
* @apiSuccess {String} order_id RoyalPay订单号
* @apiSuccess {String} transaction_id 支付渠道订单号
* @apiSuccess {String} order_currency 币种
* @apiSuccess {Double} order_amount 订单金额
* @apiSuccess {String} report_time 报关时间
* @apiSuccess {String} creation_date 报关单创建时间
* @apiSuccess {String} last_update_date 更新时间
* @apiSuccess {String} error_code 错误代码
* @apiSuccess {String} error_msg 错误返回的信息描述
*
* @apiUse GlobalError
* @apiError (ERROR_CODE) ORDER_MISMATCH 订单号与商户不匹配
*
*/
/**
* @api {PUT} /api/v1.0/customs/partners/{partner_code}/redeclare/report/{client_report_id} 重新提交报关单
* @apiName redeclare_report
* @apiDescription
* 用于重新提交未报关成功的报关单
*
* @apiVersion 1.0.0
* @apiGroup Custom
* @apiHeader Accept application/json
* @apiHeader Content-Type application/json
* @apiParam (PathVariable) {String} partner_code 必填商户编码由4-6位大写字母或数字构成
* @apiParam (PathVariable) {String} client_report_id 必填商户申请报关单号要求同一商户唯一
* @apiUse Sign
*
* @apiSuccess {String} report_id RoyalPay海关单号
* @apiSuccess {String} client_report_id 商户申请报关单号
* @apiSuccess {String} report_status 报关单状态: PROCCESSING,SUBMITED,FAILED,SUCCESS
* @apiSuccess {String} channel 支付渠道 * @apiSuccess {String} channel 支付渠道
* @apiSuccess {String} custom 海关编号 * @apiSuccess {String} custom 海关编号
* @apiSuccess {String} mch_custom_no 商户在海关备案的编号 * @apiSuccess {String} mch_custom_no 商户在海关备案的编号
* @apiSuccess {String} mch_custom_name 商户海关备案名称 * @apiSuccess {String} mch_custom_name 商户海关备案名称
* @apiSuccess {String} order_id Royalpay订单号 * @apiSuccess {String} order_id RoyalPay订单号
* @apiSuccess {String} transaction_id 支付渠道订单号 * @apiSuccess {String} transaction_id 支付渠道订单号
* @apiSuccess {String} order_currency 币种 * @apiSuccess {String} order_currency 币种
* @apiSuccess {Double} order_amount 订单金额 * @apiSuccess {Double} order_amount 订单金额
@ -923,24 +958,26 @@
* *
*/ */
/** /**
* @api {GET} /api/v1.0/customs/partners/{partner_code}/declare/query/{report_id} 查询报关单 * @api {GET} /api/v1.0/customs/partners/{partner_code}/declare/query/{client_report_id} 查询报关单
* @apiName declare_query * @apiName declare_query
* @apiDescription * @apiDescription
* 用于商户查询报关单号的状态 * 用于商户查询报关单号的状态
* *
* @apiVersion 1.0.0 * @apiVersion 1.0.0
* @apiGroup Customs_Declaration * @apiGroup Custom
* @apiHeader Accept application/json * @apiHeader Accept application/json
* @apiHeader Content-Type application/json * @apiHeader Content-Type application/json
* @apiParam (PathVariable) {String} partner_code 必填商户编码由4位大写字母或数字构成 * @apiParam (PathVariable) {String} partner_code 必填商户编码由4-6位大写字母或数字构成
* @apiParam (PathVariable) {String} report_id 必填RoyalPay海关单号 * @apiParam (PathVariable) {String} client_report_id 必填商户申请报关单号要求同一商户唯一
* @apiUse Sign * @apiUse Sign
* *
* @apiSuccess {String} return_code 执行结果 * @apiSuccess {String} return_code 执行结果
* @apiSuccess {String} report_status 报关单状态 * @apiSuccess {String} report_status 报关单状态: PROCCESSING,SUBMITED,FAILED,SUCCESS
* @apiSuccess {String} report_id 商户申请报关单号 * @apiSuccess {String} report_id RoyalPay海关单号
* @apiSuccess {String} client_report_id 商户申请报关单号
* @apiSuccess {String} return_msg 错误描述仅在执行结果不为SUCCESS情况下出现 * @apiSuccess {String} return_msg 错误描述仅在执行结果不为SUCCESS情况下出现
* @apiSuccess {String} order_id RoyalPay订单号 * @apiSuccess {String} order_id RoyalPay订单号
* @apiSuccess {String} partner_order_id 商户订单ID
* *
* @apiUse GlobalError * @apiUse GlobalError
* @apiError (ERROR_CODE) ORDER_MISMATCH 订单号与商户不匹配 * @apiError (ERROR_CODE) ORDER_MISMATCH 订单号与商户不匹配

@ -895,13 +895,13 @@
* *
*/ */
/** /**
* @api {PUT} /api/v1.0/customs/partners/{partner_code}/declare/query/{client_report_id} Create Declare No. * @api {PUT} /api/v1.0/customs/partners/{partner_code}/declare/report/{client_report_id} Create Declare ID
* @apiName declare_report * @apiName declare_report
* @apiDescription * @apiDescription
* Used to submit the attachment information of the order required by the merchant. WeChat and Alipay are only supported. WeChat only supports payment orders within one month for customs declaration. * Used to submit the attachment information of the order required by the merchant. WeChat and Alipay are only supported. WeChat only supports payment orders within one month for customs declaration.
* *
* @apiVersion 1.0.0 * @apiVersion 1.0.0
* @apiGroup Customs_Declaration * @apiGroup Custom
* @apiHeader Accept application/json * @apiHeader Accept application/json
* @apiHeader Content-Type application/json * @apiHeader Content-Type application/json
* @apiParam (PathVariable) {String} partner_code Required, Partner code * @apiParam (PathVariable) {String} partner_code Required, Partner code
@ -911,7 +911,7 @@
* @apiParam (JSON) {String} custom Required, Customs No. * <a href="https://www.royalpay.com.au/downloads/CustomsNO.xlsx">Customs No.</a> * @apiParam (JSON) {String} custom Required, Customs No. * <a href="https://www.royalpay.com.au/downloads/CustomsNO.xlsx">Customs No.</a>
* @apiParam (JSON) {String} mch_custom_id Required, Customs record id * @apiParam (JSON) {String} mch_custom_id Required, Customs record id
* @apiParam (JSON) {String} mch_custom_name Required, Customs record name * @apiParam (JSON) {String} mch_custom_name Required, Customs record name
* @apiParam (JSON) {JSONArray} sub_order Child orders * @apiParam (JSON) {JSON[]} sub_order Child orders
* *
* @apiParam (SUB_JSON) {String} sub_order_no Child order ID * @apiParam (SUB_JSON) {String} sub_order_no Child order ID
* @apiParam (SUB_JSON) {String=CNY} fee_type=CNY Currency * @apiParam (SUB_JSON) {String=CNY} fee_type=CNY Currency
@ -920,12 +920,12 @@
* *
* @apiSuccess {String} report_id RoyalPay declare ID * @apiSuccess {String} report_id RoyalPay declare ID
* @apiSuccess {String} client_report_id Client declare ID * @apiSuccess {String} client_report_id Client declare ID
* @apiSuccess {int} report_status 0:PROCCESSING,1:SUBMITED,2:FAIL,3:SUCCESS * @apiSuccess {String} report_status Result status: PROCCESSING,SUBMITED,FAILED,SUCCESS
* @apiSuccess {String} channel Channel * @apiSuccess {String} channel Channel
* @apiSuccess {String} custom Customs No. * @apiSuccess {String} custom Customs No.
* @apiSuccess {String} mch_custom_no Customs record ID * @apiSuccess {String} mch_custom_no Customs record ID
* @apiSuccess {String} mch_custom_name Customs record name * @apiSuccess {String} mch_custom_name Customs record name
* @apiSuccess {String} order_id Royalpay Order ID * @apiSuccess {String} order_id RoyalPay Order ID
* @apiSuccess {String} transaction_id Channel Order ID * @apiSuccess {String} transaction_id Channel Order ID
* @apiSuccess {String} order_currency Currency * @apiSuccess {String} order_currency Currency
* @apiSuccess {Double} order_amount Order Amount * @apiSuccess {Double} order_amount Order Amount
@ -940,24 +940,61 @@
* *
*/ */
/** /**
* @api {GET} /api/v1.0/customs/partners/{partner_code}/declare/query/{report_id} Query Declare ID * @api {PUT} /api/v1.0/customs/partners/{partner_code}/redeclare/report/{client_report_id} Redeclare
* @apiName redeclare_report
* @apiDescription
* Used to resubmit the attachment information of the order required by the merchant.
*
* @apiVersion 1.0.0
* @apiGroup Custom
* @apiHeader Accept application/json
* @apiHeader Content-Type application/json
* @apiParam (PathVariable) {String} partner_code Required, Partner code
* @apiParam (PathVariable) {String} client_report_id Required, Client declare ID
* @apiUse Sign
*
* @apiSuccess {String} report_id RoyalPay declare ID
* @apiSuccess {String} client_report_id Client declare ID
* @apiSuccess {String} report_status Result status: PROCCESSING,SUBMITED,FAILED,SUCCESS
* @apiSuccess {String} channel Channel
* @apiSuccess {String} custom Customs No.
* @apiSuccess {String} mch_custom_no Customs record ID
* @apiSuccess {String} mch_custom_name Customs record name
* @apiSuccess {String} order_id RoyalPay Order ID
* @apiSuccess {String} transaction_id Channel Order ID
* @apiSuccess {String} order_currency Currency
* @apiSuccess {Double} order_amount Order Amount
* @apiSuccess {String} report_time Declare Time
* @apiSuccess {String} creation_date Create Time
* @apiSuccess {String} last_update_date Update Time
* @apiSuccess {String} error_code Error Code
* @apiSuccess {String} error_msg Error Description
*
* @apiUse GlobalError
* @apiError (ERROR_CODE) ORDER_MISMATCH Order is not belong to this partner
*
*/
/**
* @api {GET} /api/v1.0/customs/partners/{partner_code}/declare/query/{client_report_id} Query Declare ID
* @apiName declare_query * @apiName declare_query
* @apiDescription * @apiDescription
* Used by the merchant to check the status of the customs declaration number. * Used by the merchant to check the status of the customs declaration number.
* *
* @apiVersion 1.0.0 * @apiVersion 1.0.0
* @apiGroup Customs_Declaration * @apiGroup Custom
* @apiHeader Accept application/json * @apiHeader Accept application/json
* @apiHeader Content-Type application/json * @apiHeader Content-Type application/json
* @apiParam (PathVariable) {String} partner_code Required, Partner code * @apiParam (PathVariable) {String} partner_code Required, Partner code
* @apiParam (PathVariable) {String} report_id RequiredRoyalPay Declare ID * @apiParam (PathVariable) {String} client_report_id RequiredClient declare ID
* @apiUse Sign * @apiUse Sign
* *
* @apiSuccess {String} return_code Execution result * @apiSuccess {String} return_code Execution result
* @apiSuccess {String} report_status Result status * @apiSuccess {String} report_status Result status: PROCCESSING,SUBMITED,FAILED,SUCCESS
* @apiSuccess {String} report_id Client declare ID * @apiSuccess {String} report_id RoyalPay declare ID
* @apiSuccess {String} client_report_id Client declare ID
* @apiSuccess {String} return_msg Error Description * @apiSuccess {String} return_msg Error Description
* @apiSuccess {String} order_id RoyalPay Order * @apiSuccess {String} order_id RoyalPay Order ID
* @apiSuccess {String} partner_order_id Partner Order ID
* *
* @apiUse GlobalError * @apiUse GlobalError
* @apiError (ERROR_CODE) ORDER_MISMATCH Order is not belong to this partner * @apiError (ERROR_CODE) ORDER_MISMATCH Order is not belong to this partner

@ -64,6 +64,9 @@ public class ClientRegisterInfo {
private String jdindustry; private String jdindustry;
private String royalpayindustry; private String royalpayindustry;
private String hfindustry; private String hfindustry;
private String lakalapayindustry;
private String lakalapaygoods;
private String lakalapaysettle;
private String referrer_id; private String referrer_id;
private String referrer_name; private String referrer_name;
@ -406,4 +409,28 @@ public class ClientRegisterInfo {
public String getClient_pay_desc() { public String getClient_pay_desc() {
return client_pay_desc; return client_pay_desc;
} }
public String getLakalapayindustry() {
return lakalapayindustry;
}
public void setLakalapayindustry(String lakalapayindustry) {
this.lakalapayindustry = lakalapayindustry;
}
public String getLakalapaygoods() {
return lakalapaygoods;
}
public void setLakalapaygoods(String lakalapaygoods) {
this.lakalapaygoods = lakalapaygoods;
}
public String getLakalapaysettle() {
return lakalapaysettle;
}
public void setLakalapaysettle(String lakalapaysettle) {
this.lakalapaysettle = lakalapaysettle;
}
} }

@ -1,6 +1,6 @@
spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.schema-name=royalpay_production spring.datasource.schema-name=royalpay_production
spring.datasource.host=192.168.0.18:3306 spring.datasource.host=127.0.0.1:3306
spring.datasource.url=jdbc:mysql://${spring.datasource.host}/${spring.datasource.schema-name}?useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.url=jdbc:mysql://${spring.datasource.host}/${spring.datasource.schema-name}?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root spring.datasource.username=root
spring.datasource.password=root spring.datasource.password=root

@ -137,3 +137,8 @@ app.hanyin-secure.sftp-host=180.168.61.86
app.hanyin-secure.sftp-port=28480 app.hanyin-secure.sftp-port=28480
app.hanyin-secure.sftp-username=royalpay app.hanyin-secure.sftp-username=royalpay
app.hanyin-secure.sftp-pwd=royalpay app.hanyin-secure.sftp-pwd=royalpay
apple.message.apns.password=13
android.message.appkey=/opt
android.message.secret=/opy
apple.message.apns.file=/opt

@ -34,6 +34,31 @@ define(['../app', 'jquery'], function (app, $) {
} }
}); });
var lakalapayindustry = [];
$.ajax({
url: '/static/data/lakalapayindustry.json',
method: 'GET',
async: false,
dataType: 'json',
success: function (data) {
lakalapayindustry = data;
}
});
var lakalapaysettle = [];
$.ajax({
url: '/static/data/lakalapaysettle.json',
method: 'GET',
async: false,
dataType: 'json',
success: function (data) {
lakalapaysettle = data;
}
});
var hfindustry = []; var hfindustry = [];
$.ajax({ $.ajax({
url: '/static/data/hfindustry.json', url: '/static/data/hfindustry.json',
@ -128,6 +153,32 @@ define(['../app', 'jquery'], function (app, $) {
} }
}]); }]);
app.filter('partner_lakala_industry', function () {
return function (lakalapayindustryCode) {
var result = "";
angular.forEach(lakalapayindustry, function (industry) {
if (industry.value + 0 == lakalapayindustryCode + 0) {
result = industry.label;
}
});
return result;
}
});
app.filter('partner_lakala_settle', function () {
return function (lakalapaysettleCode) {
var result = "";
angular.forEach(lakalapaysettle, function (industry) {
if (industry.value + 0 == lakalapaysettleCode + 0) {
result = industry.label;
}
});
return result;
}
});
app.filter('partner_hf_industry', ['$http', function ($http) { app.filter('partner_hf_industry', ['$http', function ($http) {
return function (industryCode) { return function (industryCode) {
var industryLabel = ''; var industryLabel = '';

@ -0,0 +1,8 @@
[
{"label":"国际展览","value":"国际展览"},
{"label":"酒店住宿","value":"酒店住宿"},
{"label":"留学教育","value":"留学教育"},
{"label":"货物贸易","value":"货物贸易"},
{"label":"航空机票","value":"航空机票"},
{"label":"其他","value":"其他"}
]

@ -0,0 +1,8 @@
[
{"label":"酒店住宿、旅游服务","value":"223029"},
{"label":"航空机票","value":"222024"},
{"label":"货物贸易","value":"122030"},
{"label":"国际展览","value":"228025"},
{"label":"留学教育(一年以上)","value":"223022"},
{"label":"留学教育(一年及以下)","value":"223023"}
]

@ -0,0 +1,13 @@
[
{"label":"货物贸易","value":"0100"},
{"label":"运输","value":"0210"},
{"label":"自费出境学习","value":"0221"},
{"label":"因私旅游","value":"0222"},
{"label":"公务及商务出国","value":"0223"},
{"label":"旅游项下其他","value":"0225"},
{"label":"金融和保险服务","value":"0230"},
{"label":"专有权利使用费和特许费","value":"0240"},
{"label":"咨询服务","value":"0250"},
{"label":"其他服务","value":"0260"}
]

@ -429,6 +429,27 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
}; };
$scope.loadJDindustry(); $scope.loadJDindustry();
$scope.loadLakalaPayindustry = function () {
$http.get('/static/data/lakalapayindustry.json').then(function (resp) {
$scope.lakalapayindustry = resp.data;
})
};
$scope.loadLakalaPayindustry();
$scope.loadLakalaPaySettle = function () {
$http.get('/static/data/lakalapaysettle.json').then(function (resp) {
$scope.lakalapaysettle = resp.data;
})
};
$scope.loadLakalaPaySettle();
$scope.loadLakalaPayGoods = function () {
$http.get('/static/data/lakalapaygoods.json').then(function (resp) {
$scope.lakalapaygoods = resp.data;
})
};
$scope.loadLakalaPayGoods();
$scope.loadRoyalpayindustry = function () { $scope.loadRoyalpayindustry = function () {
$http.get('/static/data/royalpayindustry.json').then(function (resp) { $http.get('/static/data/royalpayindustry.json').then(function (resp) {
$scope.royalpayindustry = resp.data; $scope.royalpayindustry = resp.data;
@ -1150,6 +1171,27 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
}; };
$scope.loadJDindustry(); $scope.loadJDindustry();
$scope.loadLakalaPayindustry = function () {
$http.get('/static/data/lakalapayindustry.json').then(function (resp) {
$scope.lakalapayindustry = resp.data;
})
};
$scope.loadLakalaPayindustry();
$scope.loadLakalaPaySettle = function () {
$http.get('/static/data/lakalapaysettle.json').then(function (resp) {
$scope.lakalapaysettle = resp.data;
})
};
$scope.loadLakalaPaySettle();
$scope.loadLakalaPayGoods = function () {
$http.get('/static/data/lakalapaygoods.json').then(function (resp) {
$scope.lakalapaygoods = resp.data;
})
};
$scope.loadLakalaPayGoods();
$scope.loadRoyalpayindustry = function () { $scope.loadRoyalpayindustry = function () {
$http.get('/static/data/royalpayindustry.json').then(function (resp) { $http.get('/static/data/royalpayindustry.json').then(function (resp) {
$scope.royalpayindustry = resp.data; $scope.royalpayindustry = resp.data;
@ -2540,6 +2582,28 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
}; };
$scope.loadJDindustry(); $scope.loadJDindustry();
$scope.loadLakalaPayindustry = function () {
$http.get('/static/data/lakalapayindustry.json').then(function (resp) {
$scope.lakalapayindustry = resp.data;
})
};
$scope.loadLakalaPayindustry();
$scope.loadLakalaPaySettle = function () {
$http.get('/static/data/lakalapaysettle.json').then(function (resp) {
$scope.lakalapaysettle = resp.data;
})
};
$scope.loadLakalaPaySettle();
$scope.loadLakalaPayGoods = function () {
$http.get('/static/data/lakalapaygoods.json').then(function (resp) {
$scope.lakalapaygoods = resp.data;
})
};
$scope.loadLakalaPayGoods();
$scope.loadRoyalpayindustry = function () { $scope.loadRoyalpayindustry = function () {
$http.get('/static/data/royalpayindustry.json').then(function (resp) { $http.get('/static/data/royalpayindustry.json').then(function (resp) {
$scope.royalpayindustry = resp.data; $scope.royalpayindustry = resp.data;

@ -979,6 +979,63 @@
on-select="onHfIndustrySelect($selected)"> on-select="onHfIndustrySelect($selected)">
</div> </div>
</div> </div>
<div class="form-group"
ng-class="{'has-error':partnerForm.lakalapayindustry.$invalid && partnerForm.lakalapayindustry.$dirty}">
<label class="control-label col-sm-2" for="lakalapayindustry-input">
*LakalaPay Industry</label>
<div class="col-sm-8">
<select class="form-control" name="lakalapayindustry"
ng-model="partner.lakalapayindustry"
id="lakalapayindustry-input" required
ng-options="industry.value as industry.label for industry in lakalapayindustry">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.lakalapayindustry.$error"
ng-if="partnerForm.lakalapayindustry.$dirty">
<p class="small text-danger" ng-message="required">
Required Field</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.lakalapaygoods.$invalid && partnerForm.lakalapaygoods.$dirty}">
<label class="control-label col-sm-2" for="lakalapaygoods-input">
*LakalaPay Category</label>
<div class="col-sm-8">
<select class="form-control" name="lakalapaygoods"
ng-model="partner.lakalapaygoods"
id="lakalapaygoods-input" required
ng-options="industry.value as industry.label for industry in lakalapaygoods">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.lakalapaygoods.$error"
ng-if="partnerForm.lakalapaygoods.$dirty">
<p class="small text-danger" ng-message="required">
Required Field</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.lakalapaysettle.$invalid && partnerForm.lakalapaysettle.$dirty}">
<label class="control-label col-sm-2" for="lakalapaysettle-input">
*LakalaPay Settlement Code</label>
<div class="col-sm-8">
<select class="form-control" name="lakalapaysettle"
ng-model="partner.lakalapaysettle"
id="lakalapaysettle-input" required
ng-options="industry.value as industry.label for industry in lakalapaysettle">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.lakalapaysettle.$error"
ng-if="partnerForm.lakalapaysettle.$dirty">
<p class="small text-danger" ng-message="required">
Required Field</p>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>

@ -743,6 +743,62 @@
on-select="onHfIndustrySelect($selected)"> on-select="onHfIndustrySelect($selected)">
</div> </div>
</div> </div>
<div class="form-group"
ng-class="{'has-error':partnerForm.lakalapayindustry.$invalid && partnerForm.lakalapayindustry.$dirty}">
<label class="control-label col-sm-2" for="lakalapayindustry-input">
*LakalaPay Industry</label>
<div class="col-sm-8">
<select class="form-control" name="lakalapayindustry"
ng-model="partner.lakalapayindustry"
id="lakalapayindustry-input" required
ng-options="industry.value as industry.label for industry in lakalapayindustry">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.lakalapayindustry.$error"
ng-if="partnerForm.lakalapayindustry.$dirty">
<p class="small text-danger" ng-message="required">
Required Field</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.lakalapaygoods.$invalid && partnerForm.lakalapaygoods.$dirty}">
<label class="control-label col-sm-2" for="lakalapaygoods-input">
*LakalaPay Category</label>
<div class="col-sm-8">
<select class="form-control" name="lakalapaygoods"
ng-model="partner.lakalapaygoods"
id="lakalapaygoods-input" required
ng-options="industry.value as industry.label for industry in lakalapaygoods">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.lakalapaygoods.$error"
ng-if="partnerForm.lakalapaygoods.$dirty">
<p class="small text-danger" ng-message="required">
Required Field</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.lakalapaysettle.$invalid && partnerForm.lakalapaysettle.$dirty}">
<label class="control-label col-sm-2" for="lakalapaysettle-input">
*LakalaPay Settlement Code</label>
<div class="col-sm-8">
<select class="form-control" name="lakalapaysettle"
ng-model="partner.lakalapaysettle"
id="lakalapaysettle-input" required
ng-options="industry.value as industry.label for industry in lakalapaysettle">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.lakalapaysettle.$error"
ng-if="partnerForm.lakalapaysettle.$dirty">
<p class="small text-danger" ng-message="required">
Required Field</p>
</div>
</div>
</div>
</div> </div>
</div> </div>

@ -869,6 +869,33 @@
ng-if="$root.complianceCheck.clientInfo"></i> ng-if="$root.complianceCheck.clientInfo"></i>
</div> </div>
</div> </div>
<div class="form-group" ng-if="sysconfig.active_channels.indexOf('LakalaPay')!=-1">
<label class="control-label col-sm-2">LakalaPay Industry</label>
<div class="col-sm-10">
<p class="form-control-static industry-p"
ng-bind="partner.lakalapayindustry|partner_lakala_industry"></p>
<i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.clientInfo"></i>
</div>
</div>
<div class="form-group" ng-if="sysconfig.active_channels.indexOf('LakalaPay')!=-1">
<label class="control-label col-sm-2">LakalaPay Category</label>
<div class="col-sm-10">
<p class="form-control-static industry-p"
ng-bind="partner.lakalapaygoods"></p>
<i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.clientInfo"></i>
</div>
</div>
<div class="form-group" ng-if="sysconfig.active_channels.indexOf('LakalaPay')!=-1">
<label class="control-label col-sm-2">LakalaPay Settlement Code</label>
<div class="col-sm-10">
<p class="form-control-static industry-p"
ng-bind="partner.lakalapaysettle |partner_lakala_settle"></p>
<i class="fa fa-check-square-o check-i" aria-hidden="true"
ng-if="$root.complianceCheck.clientInfo"></i>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>

@ -843,6 +843,63 @@
on-select="onHfIndustrySelect($selected)"> on-select="onHfIndustrySelect($selected)">
</div> </div>
</div> </div>
<div class="form-group"
ng-class="{'has-error':partnerForm.lakalapayindustry.$invalid && partnerForm.lakalapayindustry.$dirty}">
<label class="control-label col-sm-2" for="lakalapayindustry-input">
*LakalaPay Industry</label>
<div class="col-sm-8">
<select class="form-control" name="lakalapayindustry"
ng-model="partner.lakalapayindustry"
id="lakalapayindustry-input" required
ng-options="industry.value as industry.label for industry in lakalapayindustry">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.lakalapayindustry.$error"
ng-if="partnerForm.lakalapayindustry.$dirty">
<p class="small text-danger" ng-message="required">
Required Field</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.lakalapaygoods.$invalid && partnerForm.lakalapaygoods.$dirty}">
<label class="control-label col-sm-2" for="lakalapaygoods-input">
*LakalaPay Category</label>
<div class="col-sm-8">
<select class="form-control" name="lakalapaygoods"
ng-model="partner.lakalapaygoods"
id="lakalapaygoods-input" required
ng-options="industry.value as industry.label for industry in lakalapaygoods">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.lakalapaygoods.$error"
ng-if="partnerForm.lakalapaygoods.$dirty">
<p class="small text-danger" ng-message="required">
Required Field</p>
</div>
</div>
</div>
<div class="form-group"
ng-class="{'has-error':partnerForm.lakalapaysettle.$invalid && partnerForm.lakalapaysettle.$dirty}">
<label class="control-label col-sm-2" for="lakalapaysettle-input">
*LakalaPay Settlement Code</label>
<div class="col-sm-8">
<select class="form-control" name="lakalapaysettle"
ng-model="partner.lakalapaysettle"
id="lakalapaysettle-input" required
ng-options="industry.value as industry.label for industry in lakalapaysettle">
<option value="">Please Choose</option>
</select>
<div ng-messages="partnerForm.lakalapaysettle.$error"
ng-if="partnerForm.lakalapaysettle.$dirty">
<p class="small text-danger" ng-message="required">
Required Field</p>
</div>
</div>
</div>
</div> </div>
</div> </div>

@ -77,8 +77,8 @@ $(document).ready(function () {
} }
var select_currency = $('#select_currency').val(); var select_currency = $('#select_currency').val();
var remark = $('#remark').val(); var remark = $('#remark').val();
var buyForexKind = $('#buyForexKind').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 jsonData = {user_id: customer_id, price: price, product_name: product,gateway_type: 9,description: remark,currency: select_currency};
var commit = confirm("是否确认提交支付"); var commit = confirm("是否确认提交支付");
if (commit) { if (commit) {
$('#commit-btn').addClass('hidden'); $('#commit-btn').addClass('hidden');
@ -95,10 +95,11 @@ $(document).ready(function () {
$('#commit-btn').removeClass('hidden'); $('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden'); $('#commit-btn-loading').addClass('hidden');
}else { }else {
const $form = $(res.formString); location.href = res.pay_url+'?'+res.sign_url;
$('body').append($form); // const $form = $(res.formString);
$form.submit(); // $('body').append($form);
$('body').removeChildren($form); // $form.submit();
// $('body').removeChildren($form);
} }
}, },
error: function (jqXHR) { error: function (jqXHR) {

@ -27,9 +27,9 @@ $(document).ready(function () {
$('.surcharge').hide(); $('.surcharge').hide();
$('#commit-btn').click(function () { $('#commit-btn').click(function () {
var currency = $('#select_currency option:selected').val(); var currency = $('#select_currency option:selected').val();
var buy_forex_kind = $('#buy_forex_kind option:selected').val();
var price = $('#price').val(); var price = $('#price').val();
var remark = $('#product_name option:selected').val() + '-' + $('#remark').val(); var product = $('#product').val();
var remark = $('#remark').val();
if (price == null || onChange(price, 0)) { if (price == null || onChange(price, 0)) {
alert('请填写订单金额'); alert('请填写订单金额');
return; return;
@ -38,17 +38,21 @@ $(document).ready(function () {
alert('金额不能为0'); alert('金额不能为0');
return; return;
} }
if (product == null || product.length === 0) {
alert('请填写真实的商品名称');
return;
}
$('#commit-btn').addClass('hidden'); $('#commit-btn').addClass('hidden');
$('#commit-btn-loading').removeClass('hidden'); $('#commit-btn-loading').removeClass('hidden');
var jsonData = { var jsonData = {
customer_id: window.customer_id, user_id: window.customer_id,
price: price, price: price,
currency: currency, currency: currency,
buy_forex_kind: buy_forex_kind,
gateway_type: 8, gateway_type: 8,
description:remark description:remark,
product_name:product
}; };
$.ajax({ $.ajax({
@ -63,10 +67,11 @@ $(document).ready(function () {
$('#commit-btn').removeClass('hidden'); $('#commit-btn').removeClass('hidden');
$('#commit-btn-loading').addClass('hidden'); $('#commit-btn-loading').addClass('hidden');
}else { }else {
const $form = $(res.formString); location.href = res.pay_url+'?'+res.sign_url;
$('body').append($form); // const $form = $(res.formString);
$form.submit(); // $('body').append($form);
$('body').removeChildren($form); // $form.submit();
// $('body').removeChildren($form);
} }
}, },
error: function (jqXHR) { error: function (jqXHR) {

Loading…
Cancel
Save