diff --git a/app/controllers/origami/voucher_controller.rb b/app/controllers/origami/voucher_controller.rb
index a9bdcc2b..7eda6084 100644
--- a/app/controllers/origami/voucher_controller.rb
+++ b/app/controllers/origami/voucher_controller.rb
@@ -22,10 +22,50 @@ class Origami::VoucherController < BaseOrigamiController
def create
cash = params[:amount]
sale_id = params[:sale_id]
+ sale_id = params[:refnumber]
if(Sale.exists?(sale_id))
- saleObj = Sale.find(sale_id)
- sale_payment = SalePayment.new
- @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "voucher")
+ customer_data= Customer.find_by_customer_id(sale_data.customer_id)
+ if customer_data
+ membership_id = customer_data.membership_id
+ membership_setting = MembershipSetting.find_by_membership_type("paypar_url")
+ if membership_setting.gateway_url
+ member_actions =MembershipAction.find_by_membership_type("get_account_balance") #need to modify here
+ if member_actions.gateway_url
+ campaign_type_id = member_actions.additional_parameter["campaign_type_id"]
+ url = membership_setting.gateway_url.to_s + member_actions.gateway_url.to_s
+ merchant_uid= member_actions.merchant_account_id
+ auth_token = member_actions.auth_token.to_s
+ # membership_data = SalePayment.get_paypar_account(url,membership_setting.auth_token,@membership_id,@campaign_type_id,merchant_uid,auth_token)
+ # if membership_data["status"]==true
+ begin
+ response = HTTParty.get(url,
+ :body => { app_token: token,membership_id:membership_id,
+ campaign_type_id:campaign_type_id,merchant_uid:merchant_uid,
+ auth_token:auth_token
+ }.to_json,
+ :headers => {
+ 'Content-Type' => 'application/json',
+ 'Accept' => 'application/json'
+ }, :timeout => 10
+ )
+ rescue Net::OpenTimeout
+ response = { status: false }
+
+ rescue OpenURI::HTTPError
+ response = { status: false}
+
+ rescue SocketError
+ response = { status: false}
+ end
+ # end
+ end
+ end
+ end
+ if( response["status"]==true )
+ saleObj = Sale.find(sale_id)
+ sale_payment = SalePayment.new
+ @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "voucher")
+ end
end
end
diff --git a/app/views/origami/voucher/index.html.erb b/app/views/origami/voucher/index.html.erb
index 809793ce..db4de245 100644
--- a/app/views/origami/voucher/index.html.erb
+++ b/app/views/origami/voucher/index.html.erb
@@ -28,14 +28,15 @@
@@ -103,12 +104,17 @@ $(document).ready(function() {
}
});
// number key pad
+var float_value = ""
+var total = 0
+
+$(document).on('focusout', '.float-value', function(event){
+ float_value = $(this).attr("data-value");
$(document).on('click', '.cashier_number', function(event){
event.stopPropagation();
event.preventDefault();
if(event.handled !== true) {
var original_value;
- original_value = $('#amount').text();
+ original_value = $('#'+float_value).val();
var input_value = $(this).attr("data-value");
@@ -116,28 +122,28 @@ $(document).on('click', '.cashier_number', function(event){
switch (input_type) {
case 'num':
if (original_value == "0.0"){
- $('#amount').text(input_value);
+ $('#'+float_value).val(input_value);
}else{
- $('#amount').append(input_value);
+ $('#'+float_value).val(original_value+input_value);
}
break;
case 'add':
var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value);
- $('#amount').html(amount);
+ $('#'+float_value).val(amount);
break;
case 'clr':
- $('#amount').html("0.0");
+ $('#'+float_value).val("0.0");
break;
case 'del' :
- var cash=$('#amount').text();
- $('#amount').text(cash.substr(0,cash.length-1));
+ var cash=$('#'+float_value).val();
+ $('#'+float_value).val(cash.substr(0,cash.length-1));
break;
case 'nett':
var remain_amount = $('#validamount').val();
- $('#amount').text(remain_amount);
+ $('#'+float_value).val(remain_amount);
break;
}
@@ -146,15 +152,19 @@ $(document).on('click', '.cashier_number', function(event){
return false;
}
});
+})
$('#voucher_pay').on('click',function(){
- var amount = $('#amount').text();
+ var amount = $('#amount').val();
+ var refnumber = $("#<%=@sale_id %>").val();
var sale_id = "<%= @sale_id %>";
if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) ){
+ // alert(amount);
+ // alert(refnumber);
$.ajax({type: "POST",
- url: "<%= origami_payment_jcb_path %>",
- data: "amount="+ amount + "&sale_id="+ sale_id,
+ url: "<%= origami_payment_voucher_path %>",
+ data: "amount="+ amount + "&sale_id="+ sale_id+ "&refnumber="+ refnumber,
success:function(result){
if(result){
alert("Payment success")
diff --git a/config/routes.rb b/config/routes.rb
index b6af8698..9e62023c 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -137,6 +137,7 @@ Rails.application.routes.draw do
post 'payment/visa' => "visa#create"
post 'payment/paypar' => 'paypar_payments#create'
post 'payment/credit' => 'credit_payments#create'
+ post 'payment/voucher' => 'voucher_payments#create'
get 'sale/:sale_id/payment/credit_payment' => "credit_payments#index"
get 'sale/:sale_id/payment/others_payment' => "others_payments#index"