lib/pxpay/response.rb in pxpay-0.1.1 vs lib/pxpay/response.rb in pxpay-0.1.2
- old
+ new
@@ -1,23 +1,28 @@
module Pxpay
+ # The response object received from Payment Express
class Response
- attr_accessor :result
+ attr_accessor :post
+
+ # Create a new Payment Express response object by passing in the return parameters provided to the success/failure URL
+
def initialize(params)
@result = params[:result]
@user_id = params[:userid]
+ @post = build_xml( params[:result] )
end
# Retrieving the transaction details from Payment Express as an instance of Pxpay::Notification
def response
require 'rest_client'
- response = ::RestClient.post( 'https://www.paymentexpress.com/pxpay/pxaccess.aspx', build_xml( result ) )
+ response = ::RestClient.post( 'https://www.paymentexpress.com/pxpay/pxaccess.aspx', self.post )
return ::Pxpay::Notification.new( response )
end
private
# Internal method to build the xml to send to Payment Express
def build_xml( result )
- xml = Builder::XmlMarkup.new
+ xml = ::Builder::XmlMarkup.new
xml.ProcessResponse do
xml.PxPayUserId PXPAY_CONFIG[:pxpay][:pxpay_user_id]
xml.PxPayKey PXPAY_CONFIG[:pxpay][:pxpay_key]
xml.Response result
\ No newline at end of file