disable no rebate if credit note
This commit is contained in:
@@ -323,7 +323,7 @@ class SalePayment < ApplicationRecord
|
|||||||
|
|
||||||
self.sale.sale_status = "completed"
|
self.sale.sale_status = "completed"
|
||||||
|
|
||||||
if MembershipSetting.find_by_rebate(1) && is_foc == 0
|
if MembershipSetting.find_by_rebate(1) && is_foc == 0 && is_credit == 0
|
||||||
response = rebat(sObj)
|
response = rebat(sObj)
|
||||||
|
|
||||||
#record an payment in sale-audit
|
#record an payment in sale-audit
|
||||||
@@ -410,6 +410,7 @@ class SalePayment < ApplicationRecord
|
|||||||
# overall_dis = SaleItem.get_overall_discount(sObj.id)
|
# overall_dis = SaleItem.get_overall_discount(sObj.id)
|
||||||
overall_dis = sObj.total_discount
|
overall_dis = sObj.total_discount
|
||||||
|
|
||||||
|
if credit != 1
|
||||||
membership = MembershipSetting.find_by_membership_type("paypar_url")
|
membership = MembershipSetting.find_by_membership_type("paypar_url")
|
||||||
memberaction = MembershipAction.find_by_membership_type("get_member_campaign")
|
memberaction = MembershipAction.find_by_membership_type("get_member_campaign")
|
||||||
merchant_uid = memberaction.merchant_account_id.to_s
|
merchant_uid = memberaction.merchant_account_id.to_s
|
||||||
@@ -438,87 +439,89 @@ class SalePayment < ApplicationRecord
|
|||||||
rescue SocketError
|
rescue SocketError
|
||||||
response = { "status": false, "message": "Can't connect server"}
|
response = { "status": false, "message": "Can't connect server"}
|
||||||
end
|
end
|
||||||
redeem_amount = payparcost + overall_dis
|
|
||||||
|
|
||||||
total_percentage = 0
|
redeem_amount = payparcost + overall_dis
|
||||||
|
|
||||||
type_arr = []
|
total_percentage = 0
|
||||||
Rails.logger.debug "Get Member Campaign"
|
|
||||||
Rails.logger.debug response.to_json
|
|
||||||
# Check for present response fields
|
|
||||||
if response["membership_campaign_data"].present?
|
|
||||||
response["membership_campaign_data"].each do |a|
|
|
||||||
data = {:type => a["rules_type"], :percentage => a["change_unit"].to_i * a["base_unit"].to_i}
|
|
||||||
total_percentage = total_percentage + a["change_unit"].to_i * a["base_unit"].to_i
|
|
||||||
|
|
||||||
type_arr.push(data)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
rebate_arr =[]
|
type_arr = []
|
||||||
campaign_method.each do |a|
|
Rails.logger.debug "Get Member Campaign"
|
||||||
data = {:type => a[:type], :amount => a[:amount]}
|
Rails.logger.debug response.to_json
|
||||||
type_arr.each do |si|
|
# Check for present response fields
|
||||||
if si[:type] == a[:type]
|
if response["membership_campaign_data"].present?
|
||||||
if credit == 1
|
response["membership_campaign_data"].each do |a|
|
||||||
data[:amount] = 0
|
data = {:type => a["rules_type"], :percentage => a["change_unit"].to_i * a["base_unit"].to_i}
|
||||||
else
|
total_percentage = total_percentage + a["change_unit"].to_i * a["base_unit"].to_i
|
||||||
amount = (redeem_amount / total_percentage)*si[:percentage]
|
|
||||||
actual = a[:amount] - amount
|
type_arr.push(data)
|
||||||
data[:amount] = actual
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
rebate_arr.push(data)
|
|
||||||
end
|
|
||||||
|
|
||||||
total_amount = rebate_prices - payparcost - overall_dis
|
rebate_arr =[]
|
||||||
|
campaign_method.each do |a|
|
||||||
if credit == 1
|
data = {:type => a[:type], :amount => a[:amount]}
|
||||||
total_amount = 0
|
type_arr.each do |si|
|
||||||
end
|
if si[:type] == a[:type]
|
||||||
if total_amount >= 0
|
if credit == 1
|
||||||
receipt_no = sObj.receipt_no
|
data[:amount] = 0
|
||||||
membership = MembershipSetting.find_by_membership_type("paypar_url")
|
else
|
||||||
memberaction = MembershipAction.find_by_membership_type("rebate")
|
amount = (redeem_amount / total_percentage)*si[:percentage]
|
||||||
merchant_uid = memberaction.merchant_account_id.to_s
|
actual = a[:amount] - amount
|
||||||
campaign_type_id = memberaction.additional_parameter["campaign_type_id"]
|
data[:amount] = actual
|
||||||
auth_token = memberaction.auth_token.to_s
|
end
|
||||||
url = membership.gateway_url.to_s + memberaction.gateway_url.to_s
|
|
||||||
|
end
|
||||||
# Control for Paypar Cloud
|
end
|
||||||
begin
|
rebate_arr.push(data)
|
||||||
response = HTTParty.post(url,
|
end
|
||||||
:body => {
|
|
||||||
generic_customer_id:generic_customer_id ,
|
total_amount = rebate_prices - payparcost - overall_dis
|
||||||
total_sale_transaction_amount: sObj.grand_total,
|
|
||||||
merchant_uid:merchant_uid,
|
if credit == 1
|
||||||
total_amount: total_amount,
|
total_amount = 0
|
||||||
campaign_type_id: campaign_type_id,
|
end
|
||||||
receipt_no: receipt_no,
|
|
||||||
campaign_method: rebate_arr.to_json,
|
if total_amount >= 0
|
||||||
auth_token:auth_token
|
receipt_no = sObj.receipt_no
|
||||||
}.to_json,
|
membership = MembershipSetting.find_by_membership_type("paypar_url")
|
||||||
:headers => {
|
memberaction = MembershipAction.find_by_membership_type("rebate")
|
||||||
'Content-Type' => 'application/json',
|
merchant_uid = memberaction.merchant_account_id.to_s
|
||||||
'Accept' => 'application/json; version=2'
|
campaign_type_id = memberaction.additional_parameter["campaign_type_id"]
|
||||||
}, :timeout => 10)
|
auth_token = memberaction.auth_token.to_s
|
||||||
rescue Net::OpenTimeout
|
url = membership.gateway_url.to_s + memberaction.gateway_url.to_s
|
||||||
response = { "status": false , "message": "Connect To" }
|
|
||||||
rescue OpenURI::HTTPError
|
# Control for Paypar Cloud
|
||||||
response = { "status": false, "message": "Can't connect server"}
|
begin
|
||||||
|
response = HTTParty.post(url,
|
||||||
rescue SocketError
|
:body => {
|
||||||
response = { "status": false, "message": "Can't connect server"}
|
generic_customer_id:generic_customer_id ,
|
||||||
|
total_sale_transaction_amount: sObj.grand_total,
|
||||||
|
merchant_uid:merchant_uid,
|
||||||
|
total_amount: total_amount,
|
||||||
|
campaign_type_id: campaign_type_id,
|
||||||
|
receipt_no: receipt_no,
|
||||||
|
campaign_method: rebate_arr.to_json,
|
||||||
|
auth_token:auth_token
|
||||||
|
}.to_json,
|
||||||
|
:headers => {
|
||||||
|
'Content-Type' => 'application/json',
|
||||||
|
'Accept' => 'application/json; version=2'
|
||||||
|
}, :timeout => 10)
|
||||||
|
rescue Net::OpenTimeout
|
||||||
|
response = { "status": false , "message": "Connect To" }
|
||||||
|
rescue OpenURI::HTTPError
|
||||||
|
response = { "status": false, "message": "Can't connect server"}
|
||||||
|
|
||||||
|
rescue SocketError
|
||||||
|
response = { "status": false, "message": "Can't connect server"}
|
||||||
|
end
|
||||||
|
Rails.logger.debug "Rebage Response"
|
||||||
|
Rails.logger.debug response.to_json
|
||||||
|
return response
|
||||||
end
|
end
|
||||||
Rails.logger.debug "Rebage Response"
|
|
||||||
Rails.logger.debug response.to_json
|
|
||||||
return response
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
response = { "status": "no_member", "message": "Not membership"}
|
response = { "status": "no_member", "message": "Not membership"}
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user