fix payment api

This commit is contained in:
NyanLinHtut
2022-05-10 15:13:14 +06:30
parent ab526ac4a1
commit 0231c7e60f
3 changed files with 25 additions and 25 deletions

View File

@@ -38,7 +38,7 @@ class Api::ApiController < ActionController::API
end end
def current_login_employee def current_login_employee
@employee = Employee.find_by_token_session(current_token) @employee ||= Employee.find_by_token_session(current_token)
end end
# def lookup_domain # def lookup_domain

View File

@@ -35,7 +35,7 @@ class Api::PaymentsController < Api::ApiController
sale_payment = SalePayment.new sale_payment = SalePayment.new
status = sale_payment.process_payment(sale, current_login_employee, 0, "cash") status = sale_payment.process_payment(sale, current_login_employee, 0, "cash")
#card_balance amount for Paymal payment #card_balance amount for Paymal payment
card_balance_amount = SaleAudit.getCardBalanceAmount(params[:sale_id]) card_balance_amount, transaction_ref = SaleAudit.getCardBalanceAmount(params[:sale_id])
render json: JSON.generate({:status => true, :balance_amount => card_balance_amount,:receipt_no => sale.receipt_no, :message => "Payment successful."}) render json: JSON.generate({:status => true, :balance_amount => card_balance_amount,:receipt_no => sale.receipt_no, :message => "Payment successful."})
else else
@@ -80,16 +80,16 @@ class Api::PaymentsController < Api::ApiController
sale_items = SaleItem.get_all_sale_items(sale_id) sale_items = SaleItem.get_all_sale_items(sale_id)
if @status if @status
sale_payment = SalePayment.new sale_payment = SalePayment.new
@status, @sale, @membership_data = sale_payment.process_payment(sale, @user, sale.grand_total, "paymal",params[:account_no]) @status, @sale, @membership_data = sale_payment.process_payment(sale, current_login_employee, sale.grand_total, "paymal",params[:account_no])
if @status && @membership_data["status"] == true if @status && @membership_data["status"] == true
sale_payment = SalePayment.new sale_payment = SalePayment.new
status = sale_payment.process_payment(sale, @user, 0, "cash") status = sale_payment.process_payment(sale, current_login_employee, 0, "cash")
rebate_amount = nil rebate_amount = nil
# For Cashier by Zone # For Cashier by Zone
bookings = Booking.find_by_sale_id(sale_id) bookings = Booking.find_by_sale_id(sale_id)
shift = ShiftSale.current_open_shift(@user) shift = ShiftSale.current_open_shift(current_login_employee)
if !shift.nil? if !shift.nil?
cashier_terminal = CashierTerminal.find(shift.cashier_terminal_id) cashier_terminal = CashierTerminal.find(shift.cashier_terminal_id)
else else
@@ -195,7 +195,7 @@ class Api::PaymentsController < Api::ApiController
def send_account_paymal(amount, account_no, receipt_no) def send_account_paymal(amount, account_no, receipt_no)
sale = Sale.find_by_receipt_no(receipt_no) sale = Sale.find_by_receipt_no(receipt_no)
@out = [] @out = []
action_by = @user.name action_by = current_login_employee.name
@status = true @status = true
@message = "" @message = ""
membership_setting = MembershipSetting.find_by_membership_type("paypar_url") membership_setting = MembershipSetting.find_by_membership_type("paypar_url")
@@ -206,15 +206,15 @@ class Api::PaymentsController < Api::ApiController
url = membership_setting.gateway_url.to_s + member_actions.gateway_url.to_s url = membership_setting.gateway_url.to_s + member_actions.gateway_url.to_s
merchant_uid= member_actions.merchant_account_id merchant_uid= member_actions.merchant_account_id
auth_token = member_actions.auth_token.to_s auth_token = member_actions.auth_token.to_s
@membership_data = SalePayment.get_paypar_account_data(url,membership_setting.auth_token,merchant_uid,auth_token,account_no,amount,receipt_no) membership_data = SalePayment.get_paypar_account_data(url,membership_setting.auth_token,merchant_uid,auth_token,account_no,amount,receipt_no)
if membership_data["status"]==true if membership_data["status"]==true
remark = "Payment by account no Receipt No #{sale.receipt_no} | Sale ID #{sale.sale_id} | Transaction ref: #{membership_data[:transaction_ref]} | Reload amount #{membership_data[:reload_amount]} | Old Balance Amount #{membership_data[:old_balance_amount]} | DateTime : #{membership_data[:date]}" remark = "Payment by account no Receipt No #{sale.receipt_no} | Sale ID #{sale.sale_id} | Transaction ref: #{membership_data[:transaction_ref]} | Reload amount #{membership_data[:reload_amount]} | Old Balance Amount #{membership_data[:old_balance_amount]} | DateTime : #{membership_data[:date]}"
sale_audit = SaleAudit.record_audit_for_edit(sale.sale_id,@user.name, @user.name,remark,"PAYBYACCOUNT" ) sale_audit = SaleAudit.record_audit_for_edit(sale.sale_id,current_login_employee.name, current_login_employee.name,remark,"PAYBYACCOUNT" )
else else
remark = "Payment by account no Receipt No #{sale.receipt_no} | Sale ID #{sale.sale_id} | Remark : #{membership_data[:message]}" remark = "Payment by account no Receipt No #{sale.receipt_no} | Sale ID #{sale.sale_id} | Remark : #{membership_data[:message]}"
sale_audit = SaleAudit.record_audit_for_edit(sale.sale_id,@user.name, @user.name,remark,"PAYBYACCOUNT" ) sale_audit = SaleAudit.record_audit_for_edit(sale.sale_id,current_login_employee.name, current_login_employee.name,remark,"PAYBYACCOUNT" )
end end
@out = membership_data
@status = membership_data["status"] @status = membership_data["status"]
@message = membership_data["message"] @message = membership_data["message"]
end end
@@ -223,7 +223,7 @@ class Api::PaymentsController < Api::ApiController
@message = "No gateway url!" @message = "No gateway url!"
end end
return @status, @message, @membership_data return @status, @message
end end
#create paymal payment for cashier app #create paymal payment for cashier app
@@ -317,68 +317,68 @@ class Api::PaymentsController < Api::ApiController
when "cash" when "cash"
sale_payment.payment_method = "cash" sale_payment.payment_method = "cash"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "creditnote" when "creditnote"
sale_payment.payment_method = "creditnote" sale_payment.payment_method = "creditnote"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.customer_id = params[:customer_id] sale_payment.customer_id = params[:customer_id]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "visa" when "visa"
sale_payment.payment_method = "visa" sale_payment.payment_method = "visa"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.payment_reference = params[:payment_reference] sale_payment.payment_reference = params[:payment_reference]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "master" when "master"
sale_payment.payment_method = "master" sale_payment.payment_method = "master"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.payment_reference = params[:payment_reference] sale_payment.payment_reference = params[:payment_reference]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "jcb" when "jcb"
sale_payment.payment_method = "jcb" sale_payment.payment_method = "jcb"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.payment_reference = params[:payment_reference] sale_payment.payment_reference = params[:payment_reference]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "mpu" when "mpu"
sale_payment.payment_method = "mpu" sale_payment.payment_method = "mpu"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.payment_reference = params[:payment_reference] sale_payment.payment_reference = params[:payment_reference]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "unionpay" when "unionpay"
sale_payment.payment_method = "unionpay" sale_payment.payment_method = "unionpay"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.payment_reference = params[:payment_reference] sale_payment.payment_reference = params[:payment_reference]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "vochure" when "vochure"
sale_payment.payment_method = "vochure" sale_payment.payment_method = "vochure"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.customer_id = params[:customer_id] sale_payment.customer_id = params[:customer_id]
sale_payment.payment_reference = params[:vochure_no] sale_payment.payment_reference = params[:vochure_no]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "giftcard" when "giftcard"
sale_payment.payment_method = "giftcard" sale_payment.payment_method = "giftcard"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.customer_id = params[:customer_id] sale_payment.customer_id = params[:customer_id]
sale_payment.payment_reference = params[:giftcard_no] sale_payment.payment_reference = params[:giftcard_no]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "paypar" when "paypar"
sale_payment.payment_method = "paypar" sale_payment.payment_method = "paypar"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.payment_reference = params[:payment_reference] sale_payment.payment_reference = params[:payment_reference]
#TODO: implement paypar implementation #TODO: implement paypar implementation
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "JunctionPay" when "JunctionPay"
sale_payment.payment_method = "JunctionPay" sale_payment.payment_method = "JunctionPay"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.customer_id = params[:customer_id] sale_payment.customer_id = params[:customer_id]
sale_payment.payment_reference = params[:vochure_no] sale_payment.payment_reference = params[:vochure_no]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
when "alipay" when "alipay"
sale_payment.payment_method = "alipay" sale_payment.payment_method = "alipay"
sale_payment.received_amount = params[:amount] sale_payment.received_amount = params[:amount]
sale_payment.payment_reference = params[:payment_reference] sale_payment.payment_reference = params[:payment_reference]
@status, @invoice = sale_payment.process_payment(sale_payment, @user) @status, @invoice = sale_payment.process_payment(sale_payment, current_login_employee)
end end
end end
#get cloud domain #get cloud domain

View File

@@ -1,8 +1,8 @@
if @status == true if @status == true
#show invoice number and stuff #show invoice number and stuff
json.status @status json.status @status
json.sale_id @sale_id json.sale_id @sale_data.sale_id
sale = Sale.find(@sale_id) sale = Sale.find(@sale_data.sale_id)
json.sale_items sale.sale_items do |sale_item| json.sale_items sale.sale_items do |sale_item|
json.sale_item_id sale_item.sale_item_id json.sale_item_id sale_item.sale_item_id