Sha256: f9eddb711c1706a0b1df78cb9192659e657504628f9374c99fa57ec8a7e1ba5f
Contents?: true
Size: 1.9 KB
Versions: 1
Compression:
Stored size: 1.9 KB
Contents
require "datatrans/xml/transaction/request" require "datatrans/xml/transaction/response" class Datatrans::XML::Transaction class StatusRequest < Request def process post( datatrans.url(:xml_status_url), headers: { "Content-Type" => "text/xml" }, body: build_status_request.to_s ).parsed_response end private def build_status_request build_xml_request(:status) do |xml| xml.uppTransactionId params[:transaction_id] end end end class StatusResponse < Response def successful? [ "1", # Transaction ready for settlement (trx authorized) "2", # Transaction debit waiting for daily settlement process "3" # Transaction credit waiting for daily settlement process ].include?(response_code) end def response_code params_root_node["response"]["responseCode"] rescue nil end def response_message params_root_node["response"]["responseMessage"] rescue nil end def error_code params_root_node["error"]["errorCode"] rescue nil end def error_message params_root_node["error"]["errorMessage"] rescue nil end def error_detail params_root_node["error"]["errorDetail"] rescue nil end def reference_number params_root_node["response"]["refno"] rescue nil end def amount params_root_node["response"]["amount"] rescue nil end def currency params_root_node["response"]["currency"] rescue nil end def authorization_code params_root_node["response"]["authorizationCode"] rescue nil end def payment_method params_root_node["response"]["pmethod"] rescue nil end private def params_root_node params["statusService"]["body"]["transaction"] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
datatrans-5.2.0 | lib/datatrans/xml/transaction/status.rb |