class Privatbank::P24::PaymentStatus
Public Class Methods
new(payment_id, ref, options={})
click to toggle source
# File lib/privatbank/p24/payment_status.rb, line 14 def initialize payment_id, ref, options={} @payment_id = payment_id @ref = ref @merchant_id = options[:merchant_id] @merchant_password = options[:merchant_password] end
Public Instance Methods
outgoing_xml()
click to toggle source
# File lib/privatbank/p24/payment_status.rb, line 27 def outgoing_xml builder = Builder::XmlMarkup.new builder.instruct! builder.request(version: '1.0') do |req| req.merchant do |merch| merch.id(@merchant_id) merch.signature(signature) end req.data do |d| d.oper('cmt') d.wait(0) d.test(0) d.payment(id: @payment_id) do |p| p.prop(name: 'id', value: @payment_id) p.prop(name: 'ref', value: @ref) end end end builder.target! end
request()
click to toggle source
# File lib/privatbank/p24/payment_status.rb, line 21 def request response = self.class.post('/p24api/check_pay', body: outgoing_xml) return 'error' if response.fetch('error', nil) response['response']['data'] end
request_xml_data()
click to toggle source
# File lib/privatbank/p24/payment_status.rb, line 48 def request_xml_data builder = Builder::XmlMarkup.new builder.oper('cmt') builder.wait(0) builder.test(0) builder.payment(id: @payment_id) do |p| p.prop(name: 'id', value: @payment_id) p.prop(name: 'ref', value: @ref) end builder.target! end
signature()
click to toggle source
# File lib/privatbank/p24/payment_status.rb, line 60 def signature Privatbank::Signature.generate(request_xml_data, @merchant_password) end