kbz pay qrcode;

This commit is contained in:
Zoey
2019-06-24 13:57:46 +06:30
6 changed files with 44 additions and 19 deletions

View File

@@ -0,0 +1,15 @@
class Api::Payment::CallbackController < Api::ApiController
skip_before_action :authenticate
def kbzpay
Rails.logger.info params[:Request]
callback_value = params[:Request]
trade_status = params[:Request][:trade_status]
total_amount = params[:Request][:total_amount]
if trade_status == "PAY_SUCCESS"
merch_order_id = params[:Request][:merch_order_id]
end
end
end

View File

@@ -53,8 +53,4 @@ class Api::Payment::MobilepaymentController < Api::ApiController
end
def kbz_pay
end
end

View File

@@ -104,9 +104,16 @@ class Origami::PaymentsController < BaseOrigamiController
#TODO :: KBZPAY ( QR )
# On/Off setting ( show or not qr )
qrCode = "00020101021202021110500346KBZ005ab0ed5c1ed09d1c4585ff1313170389160831435294600062000040732kp1e78f7efddca190042638341afb88d50200006KBZPay0106KBZPay5303MMK5802MM62170813PAY_BY_QRCODE64060002my6304FBBD"
# qrCode = "00020101021202021110500346KBZ005ab0ed5c1ed09d1c4585ff1313170389160831435294600062000040732kp1e78f7efddca190042638341afb88d50200006KBZPay0106KBZPay5303MMK5802MM62170813PAY_BY_QRCODE64060002my6304FBBD"
kbz_pay_status = PaymentMethodSetting.where(:payment_method => 'KBZPay').last
filename, receipt_no, cashier_printer = printer.print_receipt_bill(print_settings, kbz_pay_status, qrCode, cashier_terminal,sale_items,sale_data,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info, shop_detail, "Frt",current_balance,nil,other_amount,nil,nil,nil)
status = false
if kbz_pay_status
status, qr = KbzPay.pay(sale_data.grand_total, sale_data.receipt_no)
end
filename, receipt_no, cashier_printer = printer.print_receipt_bill(print_settings, status, qr, cashier_terminal,sale_items,sale_data,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info, shop_detail, "Frt",current_balance,nil,other_amount,nil,nil,nil)
result = {
:filepath => filename,

View File

@@ -206,7 +206,7 @@ class Sale < ApplicationRecord
end
end
link_order_sale(order.id)
# link_order_sale(order.id)
end
self.save!
@@ -735,9 +735,11 @@ class Sale < ApplicationRecord
saleOrder = SaleOrder.where("sale_id=? and order_id=?", self.id, order_id).take
if saleOrder.nil?
sale_order = SaleOrder.new
sale = sale_order.create_sale_order(self.id, order_id)
saleOrder = SaleOrder.new
# sale = saleOrder.create_sale_order(self.id, order_id)
end
sale = saleOrder.create_sale_order(self.id, order_id)
# if (SaleOrder.where("sale_id = #{self.id} and order_id=#{order_id}").nil?)
# SaleOrder.create(:sale_id => self.id, :order_id => order_id)
# end

View File

@@ -7,11 +7,11 @@ class SaleOrder < ApplicationRecord
belongs_to :sale
belongs_to :order
def create_sale_order(sale, order)
sale_order = SaleOrder.new
sale_order.sale_id = sale
sale_order.order_id = order
sale_order.save!
def create_sale_order(sale_id, order_id)
# sale_order = SaleOrder.new
self.sale_id = sale_id
self.order_id = order_id
self.save!
end
def self.sync_sale_order_records(sale_orders)

View File

@@ -1,4 +1,5 @@
# require 'prawn/qrcode'
require 'prawn/measurement_extensions'
class ReceiptBillPdf < Prawn::Document
include ActionView::Helpers::NumberHelper
@@ -685,10 +686,14 @@ class ReceiptBillPdf < Prawn::Document
end
def pay_by_kbzpay(status, qr_code)
if status == 'Paid'
if status == 'Frt'
move_down line_move
move_down line_move
text "KBZ Pay", :size => self.header_font_size+2, :align => :center
move_down line_move
print_qr_code(qr_code, pos: [30, cursor], extent: 160, stroke: false, dot: 1000)
# stroke_horizontal_rule
move_down line_move
print_qr_code(qr_code, pos: [20, cursor], extent: 200, stroke: true)
stroke_horizontal_rule
end
end