add auditing for qrpay gateway
This commit is contained in:
@@ -241,6 +241,17 @@ class Foodcourt::QrpayController < BaseFoodcourtController
|
||||
|
||||
PrintReceiptJob.perform_later(current_shop.shop_code, sale_id)
|
||||
|
||||
PaymentGatewayAuditJob.perform_later({
|
||||
receipt_no: Sale.find_by(sale_id: sale_id).receipt_no,
|
||||
gateway_name: "MMQR",
|
||||
endpoint_url: "",
|
||||
event_type: "kbz.payment.success",
|
||||
request_body: {},
|
||||
response_body: {},
|
||||
request_method: nil,
|
||||
shop_code: Shop.current_shop.shop_code
|
||||
})
|
||||
|
||||
if result[:status]
|
||||
render json: result, status: :ok
|
||||
else
|
||||
|
||||
17
app/jobs/payment_gateway_audit_job.rb
Normal file
17
app/jobs/payment_gateway_audit_job.rb
Normal file
@@ -0,0 +1,17 @@
|
||||
class PaymentGatewayAuditJob < ApplicationJob
|
||||
queue_as :high_priority
|
||||
|
||||
def perform(data)
|
||||
# byebug
|
||||
PaymentGatewayAudit.record(
|
||||
receipt_no: data[:receipt_no],
|
||||
gateway_name: "MMQR",
|
||||
endpoint_url: data[:endpoint_url],
|
||||
event_type: data[:event_type],
|
||||
request_body: data[:request_body],
|
||||
response_body: data[:response_body],
|
||||
request_method: "POST",
|
||||
shop_code: data[:shop_code],
|
||||
)
|
||||
end
|
||||
end
|
||||
24
app/models/payment_gateway_audit.rb
Normal file
24
app/models/payment_gateway_audit.rb
Normal file
@@ -0,0 +1,24 @@
|
||||
class PaymentGatewayAudit < ApplicationRecord
|
||||
def self.record(
|
||||
receipt_no:,
|
||||
gateway_name:,
|
||||
request_method: nil,
|
||||
endpoint_url:,
|
||||
event_type:,
|
||||
request_body: {},
|
||||
response_body: {},
|
||||
shop_code:
|
||||
)
|
||||
payment_gateway_audit = PaymentGatewayAudit.new
|
||||
payment_gateway_audit.receipt_no = receipt_no
|
||||
payment_gateway_audit.payment_gateway_name = gateway_name
|
||||
payment_gateway_audit.event_type = event_type
|
||||
payment_gateway_audit.request_method = request_method
|
||||
payment_gateway_audit.endpoint_url = endpoint_url
|
||||
payment_gateway_audit.request_body = request_body
|
||||
payment_gateway_audit.response_body = response_body
|
||||
payment_gateway_audit.shop_code = shop_code
|
||||
|
||||
payment_gateway_audit.save!
|
||||
end
|
||||
end
|
||||
@@ -16,6 +16,19 @@ class KbzMerchant
|
||||
api_url = "#{@url}/precreate"
|
||||
payload = build_create_payload(amount, merch_order_id, timeout)
|
||||
response = send_request(payload, api_url)
|
||||
|
||||
# audit
|
||||
PaymentGatewayAuditJob.perform_later({
|
||||
receipt_no: merch_order_id,
|
||||
gateway_name: "MMQR",
|
||||
endpoint_url: api_url,
|
||||
event_type: "kbz.payment.precreate",
|
||||
request_body: payload,
|
||||
response_body: response,
|
||||
request_method: "POST",
|
||||
shop_code: Shop.current_shop.shop_code
|
||||
})
|
||||
|
||||
handle_response(response)
|
||||
end
|
||||
|
||||
@@ -23,6 +36,19 @@ class KbzMerchant
|
||||
api_url = "#{@url}/closeorder"
|
||||
payload = build_close_payload(merch_order_id)
|
||||
response = send_request(payload, api_url)
|
||||
|
||||
# audit
|
||||
PaymentGatewayAuditJob.perform_later({
|
||||
receipt_no: merch_order_id,
|
||||
gateway_name: "MMQR",
|
||||
endpoint_url: api_url,
|
||||
event_type: "kbz.payment.closeorder",
|
||||
request_body: payload,
|
||||
response_body: response,
|
||||
request_method: "POST",
|
||||
shop_code: Shop.current_shop.shop_code
|
||||
})
|
||||
|
||||
handle_response(response)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user