get response from foodcourt server and save this response in audit
record every response from kbz api
This commit is contained in:
@@ -421,6 +421,9 @@ class Foodcourt::QrpayController < BaseFoodcourtController
|
||||
def create
|
||||
sale_id = params[:sale_id]
|
||||
|
||||
Rails.logger.info("Processing payment for sale ID: #{sale_id}")
|
||||
Rails.logger.info("#{params[:response_data]}")
|
||||
|
||||
unless current_login_employee
|
||||
render json: { status: false, message: "User not authenticated or employee context missing." }, status: :unauthorized
|
||||
return
|
||||
@@ -434,10 +437,10 @@ class Foodcourt::QrpayController < BaseFoodcourtController
|
||||
PaymentGatewayAuditJob.perform_later({
|
||||
receipt_no: Sale.find_by(sale_id: sale_id).receipt_no,
|
||||
gateway_name: "MMQR",
|
||||
endpoint_url: "",
|
||||
endpoint_url: "Response from foodcourt server",
|
||||
event_type: "kbz.payment.success",
|
||||
request_body: {},
|
||||
response_body: {},
|
||||
response_body: params[:response_data].to_json,
|
||||
request_method: nil,
|
||||
shop_code: Shop.current_shop.shop_code
|
||||
})
|
||||
|
||||
@@ -56,6 +56,16 @@ class KbzMerchant
|
||||
api_url = "#{@url}/queryorder"
|
||||
payload = build_query_payload(merch_order_id)
|
||||
response = send_request(payload, api_url)
|
||||
PaymentGatewayAuditJob.perform_later({
|
||||
receipt_no: merch_order_id,
|
||||
gateway_name: "MMQR",
|
||||
endpoint_url: api_url,
|
||||
event_type: "kbz.payment.queryorder",
|
||||
request_body: payload,
|
||||
response_body: response,
|
||||
request_method: "POST",
|
||||
shop_code: Shop.current_shop.shop_code
|
||||
})
|
||||
handle_response(response)
|
||||
end
|
||||
|
||||
|
||||
@@ -326,6 +326,8 @@ $(document).ready(function() {
|
||||
let fallbackTimeout;
|
||||
let connected = false;
|
||||
|
||||
let fc_server_response;
|
||||
|
||||
function handlePaymentSuccess() {
|
||||
if (paymentProcessed) return;
|
||||
paymentProcessed = true;
|
||||
@@ -347,7 +349,7 @@ $(document).ready(function() {
|
||||
headers: {
|
||||
'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
|
||||
},
|
||||
data: JSON.stringify({ sale_id: "<%= @sale_data.sale_id %>" }),
|
||||
data: JSON.stringify({ sale_id: "<%= @sale_data.sale_id %>", response_data: fc_server_response }),
|
||||
success: (data) => {
|
||||
if (data.status) {
|
||||
customer_display_view({
|
||||
@@ -411,6 +413,7 @@ $(document).ready(function() {
|
||||
received(data) {
|
||||
console.log("Received:", data);
|
||||
if (data.status === "PAY_SUCCESS" && !paymentProcessed) {
|
||||
fc_server_response = data
|
||||
clearTimeout(fallbackTimeout);
|
||||
handlePaymentSuccess();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user