create paymal payment for cashier app
This commit is contained in:
@@ -22,47 +22,50 @@ class Api::PaymentsController < Api::ApiController
|
|||||||
#create paymal payment for cashier app
|
#create paymal payment for cashier app
|
||||||
def create_paymal_payment
|
def create_paymal_payment
|
||||||
if params[:sale_id] && params[:account_no]
|
if params[:sale_id] && params[:account_no]
|
||||||
sale = Sale.find_by_sale_id(params[:sale_id])
|
@sale = Sale.find_by_sale_id(params[:sale_id])
|
||||||
if !sale.nil?
|
if !@sale.nil?
|
||||||
if sale.sale_status == "new"
|
if @sale.sale_status == "new"
|
||||||
if !params[:account_no].empty?
|
if !params[:account_no].empty?
|
||||||
@status, @message = send_account_paymal(sale.grand_total, params[:account_no], sale.receipt_no)
|
@status, @message = send_account_paymal(@sale.grand_total, params[:account_no], @sale.receipt_no)
|
||||||
if @status
|
if @status
|
||||||
sale_payment = SalePayment.new
|
sale_payment = SalePayment.new
|
||||||
status, @sale, @membership_data = sale_payment.process_payment(sale, current_login_employee, sale.grand_total, "paymal",params[:account_no])
|
status, @sale_payment, @membership_data = sale_payment.process_payment(@sale, current_login_employee, @sale.grand_total, "paymal",params[:account_no])
|
||||||
|
|
||||||
if status == true && @membership_data["status"] == true
|
if status == true && @membership_data["status"] == true
|
||||||
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, transaction_ref = 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."})
|
@status = true
|
||||||
|
@card_balance_amount = card_balance_amount
|
||||||
|
@transaction_ref = transaction_ref
|
||||||
|
@message = "Payment successful."
|
||||||
else
|
else
|
||||||
|
@status = false
|
||||||
if @membership_data
|
if @membership_data
|
||||||
if @membership_data["card_balance_amount"] != "null"
|
@card_balance_amount = @membership_data["card_balance_amount"]
|
||||||
render json: JSON.generate({:status => false, :balance_amount => @membership_data["card_balance_amount"], :error_message => @membership_data["message"]})
|
@message = @membership_data["message"]
|
||||||
else
|
else
|
||||||
render json: JSON.generate({:status => false, :error_message => @membership_data["message"]})
|
@message = "Payment failed!"
|
||||||
end
|
end
|
||||||
else
|
|
||||||
render json: JSON.generate({:status => false, :error_message => "Payment failed!"})
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
render json: JSON.generate({:status => false, :error_message => @message})
|
@status = false
|
||||||
|
@message = "Card No is required!"
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
render json: JSON.generate({:status => false, :error_message => "Card No is required!"})
|
@status = false
|
||||||
|
@message = "Already paid for '#{params[:sale_id]}'!"
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
render json: JSON.generate({:status => false, :error_message => "Already paid for '#{params[:sale_id]}'!"})
|
@status = false
|
||||||
|
@message = "There is no sale for '#{params[:sale_id]}'!"
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
render json: JSON.generate({:status => false, :error_message => "There is no sale for '#{params[:sale_id]}'!"})
|
@status = false
|
||||||
end
|
@message = "Parameters missing! #{params[:sale_id]} #{params[:account_no]}"
|
||||||
else
|
|
||||||
render json: JSON.generate({:status => false, :error_message => "Parameters missing! #{params[:sale_id]} #{params[:account_no]}"})
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,10 @@ class SaleTax < ApplicationRecord
|
|||||||
.group("sale_taxes.tax_name")
|
.group("sale_taxes.tax_name")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def display_name
|
||||||
|
"#{self.tax_name} (#{'Incl. ' if self.tax_type == 'inclusive'}#{self.tax_rate}%"
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def generate_custom_id
|
def generate_custom_id
|
||||||
if self.sale_tax_id.nil?
|
if self.sale_tax_id.nil?
|
||||||
|
|||||||
60
app/views/api/payments/create_paymal_payment.json.jbuilder
Normal file
60
app/views/api/payments/create_paymal_payment.json.jbuilder
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
#show invoice number and stuff
|
||||||
|
json.status @status
|
||||||
|
json.message @message
|
||||||
|
|
||||||
|
json.data do
|
||||||
|
if @status
|
||||||
|
json.sale_id @sale.sale_id
|
||||||
|
json.sale_status @sale.sale_status
|
||||||
|
|
||||||
|
json.booking @sale.booking.booking_id
|
||||||
|
|
||||||
|
json.shop do
|
||||||
|
json.name current_shop.name
|
||||||
|
json.address current_shop.address
|
||||||
|
json.phone_no current_shop.phone_no
|
||||||
|
end
|
||||||
|
|
||||||
|
order = @sale.orders.first
|
||||||
|
|
||||||
|
json.order do
|
||||||
|
json.order_no order.order_id
|
||||||
|
json.order_by order.waiters
|
||||||
|
json.order_date order.date
|
||||||
|
end
|
||||||
|
|
||||||
|
json.cashier_name @sale.cashier_name
|
||||||
|
json.receipt_no @sale.receipt_no
|
||||||
|
json.receipt_date @sale.receipt_date
|
||||||
|
json.sub_total @sale.total_amount
|
||||||
|
json.discount_type @sale.discount_type
|
||||||
|
json.total_discount @sale.total_discount
|
||||||
|
|
||||||
|
json.sale_taxes @sale.sale_taxes do |sale_tax|
|
||||||
|
json.display_name sale_tax.display_name
|
||||||
|
json.tax_amount sale_tax.tax_payable_amount
|
||||||
|
end
|
||||||
|
|
||||||
|
json.grand_total @sale.grand_total
|
||||||
|
|
||||||
|
json.sale_items @sale.sale_items do |sale_item|
|
||||||
|
json.sale_item_id sale_item.sale_item_id
|
||||||
|
json.sale_id sale_item.sale_id
|
||||||
|
json.product_code sale_item.product_code
|
||||||
|
json.item_instance_code sale_item.item_instance_code
|
||||||
|
json.product_name sale_item.product_name
|
||||||
|
json.product_alt_name sale_item.product_alt_name
|
||||||
|
json.account_id sale_item.account_id
|
||||||
|
json.status sale_item.status
|
||||||
|
json.remark sale_item.remark
|
||||||
|
json.qty sale_item.qty
|
||||||
|
json.unit_price sale_item.unit_price
|
||||||
|
json.taxable_price sale_item.taxable_price
|
||||||
|
json.price sale_item.price
|
||||||
|
json.is_taxable sale_item.is_taxable
|
||||||
|
end
|
||||||
|
|
||||||
|
json.customer_account params[:account_no]
|
||||||
|
json.card_balance @card_balance_amount
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user