fixes
- close order to kbz api - query order from kbz api in Kbz Merchant Service
This commit is contained in:
@@ -15,11 +15,18 @@ class KbzMerchant
|
|||||||
end
|
end
|
||||||
|
|
||||||
def close_order(merch_order_id:)
|
def close_order(merch_order_id:)
|
||||||
api_url ='https://api.kbzpay.com/payment/gateway/uat/closeorder'
|
api_url ='http://api.kbzpay.com/payment/gateway/uat/closeorder'
|
||||||
payload = build_close_payload(merch_order_id)
|
payload = build_close_payload(merch_order_id)
|
||||||
send_request(payload, api_url)
|
send_request(payload, api_url)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def query_order(merch_order_id:)
|
||||||
|
api_url = 'http://api.kbzpay.com/payment/gateway/uat/queryorder'
|
||||||
|
payload = build_query_payload(merch_order_id)
|
||||||
|
response = send_request(payload, api_url)
|
||||||
|
handle_response(response)
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def build_create_payload(amount, merch_order_id, timeout)
|
def build_create_payload(amount, merch_order_id, timeout)
|
||||||
@@ -63,6 +70,24 @@ class KbzMerchant
|
|||||||
base_params.merge(sign: generate_signature(flattened))
|
base_params.merge(sign: generate_signature(flattened))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def build_query_payload(merch_order_id)
|
||||||
|
base_params = {
|
||||||
|
method: 'kbz.payment.queryorder',
|
||||||
|
timestamp: Time.now.utc.to_i.to_s,
|
||||||
|
nonce_str: SecureRandom.hex(16),
|
||||||
|
sign_type: 'SHA256',
|
||||||
|
version: '3.0',
|
||||||
|
biz_content: {
|
||||||
|
appid: @payment_method.gateway_url,
|
||||||
|
merch_code: @payment_method.merchant_account_id,
|
||||||
|
merch_order_id: merch_order_id
|
||||||
|
}.compact
|
||||||
|
}
|
||||||
|
|
||||||
|
flattened = flatten_hash(base_params)
|
||||||
|
base_params.merge(sign: generate_signature(flattened))
|
||||||
|
end
|
||||||
|
|
||||||
def flatten_hash(hash, parent_key = nil)
|
def flatten_hash(hash, parent_key = nil)
|
||||||
hash.each_with_object({}) do |(k, v), res|
|
hash.each_with_object({}) do |(k, v), res|
|
||||||
key = parent_key ? "#{k}" : k.to_s
|
key = parent_key ? "#{k}" : k.to_s
|
||||||
@@ -99,6 +124,8 @@ class KbzMerchant
|
|||||||
body: { Request: payload }.to_json,
|
body: { Request: payload }.to_json,
|
||||||
timeout: 15
|
timeout: 15
|
||||||
)
|
)
|
||||||
|
|
||||||
|
puts "Response: #{response}"
|
||||||
response.body
|
response.body
|
||||||
# puts "Response: #{response}"
|
# puts "Response: #{response}"
|
||||||
rescue HTTParty::Error => e
|
rescue HTTParty::Error => e
|
||||||
|
|||||||
Reference in New Issue
Block a user