ccb_connect_client 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ccb_connect_client/models/payment_details_query_request.rb +17 -18
- data/lib/ccb_connect_client/models/payment_details_query_response.rb +50 -30
- data/lib/ccb_connect_client/models/refund_request.rb +3 -5
- data/lib/ccb_connect_client/models/refund_response.rb +3 -3
- data/lib/ccb_connect_client/service.rb +33 -38
- data/lib/ccb_connect_client/version.rb +1 -1
- data/lib/ccb_connect_client.rb +2 -1
- data/spec/ccb_connect_client_service_spec.rb +33 -15
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 3e117ad6c14f5c141c0bf6e60e2b8fd0ed7daa25
         | 
| 4 | 
            +
              data.tar.gz: 733eddbfe7f51f2361ec145dbf4c3ead8123f422
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0c64881a50068ed9739feca15520deb9b4c513385c94bb2712674e2569e7beac9fa2b981018e568a26681aba7256e7992c1c0f8bffdb446882ab62dfdef676e2
         | 
| 7 | 
            +
              data.tar.gz: c853bded6d4e251e0e2ee6327163c06eb8803bda21e721eed523ab7adc8f52be596fbe1affe8173c738604de3a7be2af8c90a9d01ef419969e34e13ba09cdb55
         | 
| @@ -3,7 +3,8 @@ require 'builder' | |
| 3 3 | 
             
            module CcbConnectClient
         | 
| 4 4 |  | 
| 5 5 | 
             
              class PaymentDetailsQueryRequest < BaseRequest
         | 
| 6 | 
            -
                attr_accessor :order
         | 
| 6 | 
            +
                attr_accessor :order, :start_day, :start_hour, :start_min, :end_day, :end_hour, :end_min, :kind,
         | 
| 7 | 
            +
                              :account, :dexcel, :money, :norderby, :page, :pos_code, :status, :mrch_no
         | 
| 7 8 |  | 
| 8 9 | 
             
                def initialize
         | 
| 9 10 | 
             
                  super
         | 
| @@ -21,22 +22,22 @@ module CcbConnectClient | |
| 21 22 | 
             
                    xml.TX_CODE "#{@tx_code}"
         | 
| 22 23 | 
             
                    xml.LANGUAGE "#{CcbConnectClient.language}"
         | 
| 23 24 | 
             
                    xml.TX_INFO{
         | 
| 24 | 
            -
                       | 
| 25 | 
            -
                       | 
| 26 | 
            -
                       | 
| 27 | 
            -
                       | 
| 28 | 
            -
                       | 
| 29 | 
            -
                       | 
| 30 | 
            -
                       | 
| 25 | 
            +
                      xml.START "#{@start_day}"
         | 
| 26 | 
            +
                      xml.STARTHOUR "#{@start_hour}"
         | 
| 27 | 
            +
                      xml.STARTMIN "#{@start_min}"
         | 
| 28 | 
            +
                      xml.END "#{@end_day}"
         | 
| 29 | 
            +
                      xml.ENDHOUR "#{@end_hour}"
         | 
| 30 | 
            +
                      xml.ENDMIN "#{@end_min}"
         | 
| 31 | 
            +
                      xml.KIND "#{@kind}"
         | 
| 31 32 | 
             
                      xml.ORDER "#{@order}"
         | 
| 32 | 
            -
                       | 
| 33 | 
            -
                       | 
| 34 | 
            -
                       | 
| 35 | 
            -
                       | 
| 36 | 
            -
                       | 
| 37 | 
            -
                       | 
| 38 | 
            -
                       | 
| 39 | 
            -
                       | 
| 33 | 
            +
                      xml.ACCOUNT "#{@account}"
         | 
| 34 | 
            +
                      xml.DEXCEL "#{@dexcel}"
         | 
| 35 | 
            +
                      xml.MONEY "#{@money}"
         | 
| 36 | 
            +
                      xml.NORDERBY "#{@norderby}"
         | 
| 37 | 
            +
                      xml.PAGE "#{@page}"
         | 
| 38 | 
            +
                      xml.POS_CODE "#{@pos_code}"
         | 
| 39 | 
            +
                      xml.STATUS "#{@status}"
         | 
| 40 | 
            +
                      xml.Mrch_No "#{@mrch_no}"
         | 
| 40 41 | 
             
                    }
         | 
| 41 42 | 
             
                  }
         | 
| 42 43 | 
             
                  target = xml.target!
         | 
| @@ -45,7 +46,5 @@ module CcbConnectClient | |
| 45 46 | 
             
                  end
         | 
| 46 47 | 
             
                  target
         | 
| 47 48 | 
             
                end
         | 
| 48 | 
            -
             | 
| 49 49 | 
             
              end
         | 
| 50 | 
            -
             | 
| 51 50 | 
             
            end
         | 
| @@ -5,19 +5,21 @@ include REXML | |
| 5 5 | 
             
            module CcbConnectClient
         | 
| 6 6 |  | 
| 7 7 | 
             
              class PaymentDetailsQueryResponse < BaseResponse
         | 
| 8 | 
            -
                attr_accessor :cust_id, :tx_code, :language, :cur_page, :page_count, :notice, : | 
| 9 | 
            -
                              :order, :account, :acc_name, :payment_money, :refund_money, :pos_id, :rem1, :order_status, :order_status_name
         | 
| 8 | 
            +
                attr_accessor :cust_id, :tx_code, :language, :cur_page, :page_count, :notice, :list
         | 
| 10 9 |  | 
| 11 10 | 
             
                def initialize
         | 
| 12 11 | 
             
                  super
         | 
| 13 12 | 
             
                end
         | 
| 14 13 |  | 
| 15 | 
            -
                def  | 
| 14 | 
            +
                def from_xml xml
         | 
| 16 15 | 
             
                  response = PaymentDetailsQueryResponse.new
         | 
| 17 16 | 
             
                  doc = Document.new(xml)
         | 
| 17 | 
            +
                  # logger = Logger.new('foo.log', 'monthly')
         | 
| 18 | 
            +
                  # logger.datetime_format = '%Y-%m-%d %H:%M:%S'
         | 
| 18 19 |  | 
| 19 20 | 
             
                  if CcbConnectClient.debug_mode
         | 
| 20 | 
            -
                     | 
| 21 | 
            +
                    # logger.info("PaymentDetailsQueryResponse response xml: #{doc}")
         | 
| 22 | 
            +
                    puts "PaymentDetailsQueryResponse response xml: #{doc}"
         | 
| 21 23 | 
             
                  end
         | 
| 22 24 |  | 
| 23 25 | 
             
                  response.request_sn = doc.elements["TX/REQUEST_SN"].text
         | 
| @@ -29,37 +31,55 @@ module CcbConnectClient | |
| 29 31 | 
             
                  # INFO
         | 
| 30 32 | 
             
                  response.cur_page = doc.elements["TX/TX_INFO/CUR_PAGE"].text
         | 
| 31 33 | 
             
                  response.page_count = doc.elements["TX/TX_INFO/PAGE_COUNT"].text
         | 
| 34 | 
            +
                  response.list = Array.new
         | 
| 32 35 | 
             
                  # LIST
         | 
| 33 | 
            -
                   | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
                     | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 36 | 
            +
                  doc.elements.each("TX/TX_INFO/LIST") { |e|
         | 
| 37 | 
            +
                    response_element = PaymentDetailsQueryResponseElement.new
         | 
| 38 | 
            +
                    response_element.tran_date = e.elements["TRAN_DATE"].text
         | 
| 39 | 
            +
                    response_element.acc_date = e.elements["ACC_DATE"].text
         | 
| 40 | 
            +
                    response_element.order = e.elements["ORDER"].text
         | 
| 41 | 
            +
                    response_element.account = e.elements["ACCOUNT"].text
         | 
| 42 | 
            +
                    response_element.acc_name = e.elements["ACC_NAME"].text
         | 
| 43 | 
            +
                    response_element.payment_money = e.elements["PAYMENT_MONEY"].text
         | 
| 44 | 
            +
                    response_element.refund_money = e.elements["REFUND_MONEY"].text
         | 
| 45 | 
            +
                    response_element.pos_id = e.elements["POS_ID"].text
         | 
| 46 | 
            +
                    response_element.rem1 = e.elements["REM1"].text
         | 
| 47 | 
            +
                    response_element.rem2 = e.elements["REM2"].text
         | 
| 48 | 
            +
                    order_status = OrderStatus.new
         | 
| 49 | 
            +
                    order_status.status = e.elements["ORDER_STATUS"].text
         | 
| 50 | 
            +
                    case order_status.status
         | 
| 51 | 
            +
                      when '0'
         | 
| 52 | 
            +
                        order_status.status_name = "失败"
         | 
| 53 | 
            +
                      when '1'
         | 
| 54 | 
            +
                        order_status.status_name = "成功"
         | 
| 55 | 
            +
                      when '2'
         | 
| 56 | 
            +
                        order_status.status_name = "待银行确认"
         | 
| 57 | 
            +
                      when '3'
         | 
| 58 | 
            +
                        order_status.status_name = "已部分退款"
         | 
| 59 | 
            +
                      when '4'
         | 
| 60 | 
            +
                        order_status.status_name = "已全额退款"
         | 
| 61 | 
            +
                      when '5'
         | 
| 62 | 
            +
                        order_status.status_name = "待银行确认"
         | 
| 63 | 
            +
                    end
         | 
| 64 | 
            +
                    response_element.order_status = order_status
         | 
| 65 | 
            +
                    response.list.push(response_element)
         | 
| 66 | 
            +
                  }
         | 
| 58 67 |  | 
| 59 68 | 
             
                  if CcbConnectClient.debug_mode
         | 
| 60 | 
            -
                     | 
| 69 | 
            +
                    # logger.info("PaymentDetailsQueryResponse response xml: #{doc}")
         | 
| 70 | 
            +
                    puts "PaymentDetailsQueryResponse response object: #{response.inspect}"
         | 
| 61 71 | 
             
                  end
         | 
| 62 72 | 
             
                  response
         | 
| 63 73 | 
             
                end
         | 
| 64 74 | 
             
              end
         | 
| 75 | 
            +
             | 
| 76 | 
            +
              class PaymentDetailsQueryResponseElement
         | 
| 77 | 
            +
                attr_accessor :tran_date, :acc_date, :order, :account, :acc_name, :payment_money, :refund_money,
         | 
| 78 | 
            +
                              :pos_id, :rem1, :rem2, :order_status
         | 
| 79 | 
            +
              end
         | 
| 80 | 
            +
             | 
| 81 | 
            +
              class OrderStatus
         | 
| 82 | 
            +
                attr_accessor :status, :status_name
         | 
| 83 | 
            +
              end
         | 
| 84 | 
            +
             | 
| 65 85 | 
             
            end
         | 
| @@ -3,7 +3,7 @@ require 'builder' | |
| 3 3 | 
             
            module CcbConnectClient
         | 
| 4 4 |  | 
| 5 5 | 
             
              class RefundRequest < BaseRequest 
         | 
| 6 | 
            -
                attr_accessor :money, :order, :refund_code
         | 
| 6 | 
            +
                attr_accessor :money, :order, :refund_code, :sign_info
         | 
| 7 7 |  | 
| 8 8 | 
             
                def initialize
         | 
| 9 9 | 
             
                  super
         | 
| @@ -23,9 +23,9 @@ module CcbConnectClient | |
| 23 23 | 
             
                    xml.TX_INFO{
         | 
| 24 24 | 
             
                      xml.MONEY "#{@money}"
         | 
| 25 25 | 
             
                      xml.ORDER "#{@order}"
         | 
| 26 | 
            -
                       | 
| 26 | 
            +
                      xml.REFUND_CODE "#{@refund_code}"
         | 
| 27 27 | 
             
                    }
         | 
| 28 | 
            -
                     | 
| 28 | 
            +
                    xml.SIGN_INFO "#{@sign_info}"
         | 
| 29 29 | 
             
                  }
         | 
| 30 30 | 
             
                  target = xml.target!
         | 
| 31 31 | 
             
                  if CcbConnectClient.debug_mode
         | 
| @@ -33,7 +33,5 @@ module CcbConnectClient | |
| 33 33 | 
             
                  end
         | 
| 34 34 | 
             
                  target
         | 
| 35 35 | 
             
                end
         | 
| 36 | 
            -
             | 
| 37 36 | 
             
              end
         | 
| 38 | 
            -
             | 
| 39 37 | 
             
            end
         | 
| @@ -10,12 +10,12 @@ module CcbConnectClient | |
| 10 10 | 
             
                  super
         | 
| 11 11 | 
             
                end
         | 
| 12 12 |  | 
| 13 | 
            -
                def  | 
| 13 | 
            +
                def from_xml xml
         | 
| 14 14 | 
             
                  response = RefundResponse.new
         | 
| 15 15 | 
             
                  doc = Document.new(xml)
         | 
| 16 16 |  | 
| 17 17 | 
             
                  if CcbConnectClient.debug_mode
         | 
| 18 | 
            -
                    puts "RefundResponse response : #{doc}"
         | 
| 18 | 
            +
                    puts "RefundResponse response xml: #{doc}"
         | 
| 19 19 | 
             
                  end
         | 
| 20 20 |  | 
| 21 21 | 
             
                  response.request_sn = doc.elements["TX/REQUEST_SN"].text
         | 
| @@ -30,7 +30,7 @@ module CcbConnectClient | |
| 30 30 | 
             
                  response.amount = doc.elements["TX/TX_INFO/AMOUNT"].text
         | 
| 31 31 |  | 
| 32 32 | 
             
                  if CcbConnectClient.debug_mode
         | 
| 33 | 
            -
                    puts "RefundResponse response : #{response.inspect}"
         | 
| 33 | 
            +
                    puts "RefundResponse response object: #{response.inspect}"
         | 
| 34 34 | 
             
                  end
         | 
| 35 35 | 
             
                  response
         | 
| 36 36 | 
             
                end
         | 
| @@ -4,51 +4,46 @@ require 'uri' | |
| 4 4 | 
             
            module CcbConnectClient
         | 
| 5 5 |  | 
| 6 6 | 
             
              module Service
         | 
| 7 | 
            -
                def self.refund refund_request
         | 
| 8 | 
            -
                  res = http_post_form CcbConnectClient.server, refund_request.to_xml
         | 
| 9 | 
            -
                  doc = Document.new(res.body)
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  if doc.elements["TX/RETURN_CODE"].text != "000000"
         | 
| 12 | 
            -
                    response = BaseResponse.from_xml res.body
         | 
| 13 | 
            -
                    response.successful = false
         | 
| 14 | 
            -
                    response
         | 
| 15 | 
            -
                  else
         | 
| 16 | 
            -
                    response = RefundResponse.from_xml res.body
         | 
| 17 | 
            -
                    response.successful = true
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                    if CcbConnectClient.debug_mode
         | 
| 20 | 
            -
                      puts "RefundResponse response : #{response.inspect}"
         | 
| 21 | 
            -
                    end
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                    response
         | 
| 24 | 
            -
                  end
         | 
| 25 7 |  | 
| 8 | 
            +
                def self.refund refund_request
         | 
| 9 | 
            +
                  refund_response = RefundResponse.new
         | 
| 10 | 
            +
                  Handler.new.response_handler refund_request, refund_response
         | 
| 26 11 | 
             
                end
         | 
| 27 12 |  | 
| 28 13 | 
             
                def self.payment_details_query payment_details_query_request
         | 
| 29 | 
            -
                   | 
| 30 | 
            -
                   | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
                    response.successful = false
         | 
| 35 | 
            -
                    response
         | 
| 36 | 
            -
                  else
         | 
| 37 | 
            -
                    response = PaymentDetailsQueryResponse.from_xml res.body
         | 
| 38 | 
            -
                    response.successful = true
         | 
| 39 | 
            -
             | 
| 40 | 
            -
                    if CcbConnectClient.debug_mode
         | 
| 41 | 
            -
                      puts "PaymentDetailsQueryResponse response : #{response.inspect}"
         | 
| 42 | 
            -
                    end
         | 
| 14 | 
            +
                  payment_details_query_response = PaymentDetailsQueryResponse.new
         | 
| 15 | 
            +
                  Handler.new.response_handler payment_details_query_request, payment_details_query_response
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                class Handler
         | 
| 43 19 |  | 
| 44 | 
            -
             | 
| 20 | 
            +
                  def response_handler(request, response)
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                    http_post_form CcbConnectClient.server, request.to_xml do |res|
         | 
| 23 | 
            +
                      doc = Document.new(res.body)
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                      if doc.elements["TX/RETURN_CODE"].text != "000000"
         | 
| 26 | 
            +
                        result = BaseResponse.from_xml res.body
         | 
| 27 | 
            +
                        result.successful = false
         | 
| 28 | 
            +
                      else
         | 
| 29 | 
            +
                        result = response.from_xml res.body
         | 
| 30 | 
            +
                        result.successful = true
         | 
| 31 | 
            +
                      end
         | 
| 32 | 
            +
                    end
         | 
| 45 33 | 
             
                  end
         | 
| 46 34 |  | 
| 35 | 
            +
                  private
         | 
| 36 | 
            +
                  def http_post_form(url, xml)
         | 
| 37 | 
            +
                    uri = URI.parse(url)
         | 
| 38 | 
            +
                    req = Net::HTTP::Post.new(uri)
         | 
| 39 | 
            +
                    req["Content-Type"] = "application/x-www-form-urlencoded"
         | 
| 40 | 
            +
                    req["Accept-Encoding"] = "identity"
         | 
| 41 | 
            +
                    Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
         | 
| 42 | 
            +
                      req.set_form_data('requestXml' => xml)
         | 
| 43 | 
            +
                      res = http.request req
         | 
| 44 | 
            +
                      yield res
         | 
| 45 | 
            +
                    end
         | 
| 46 | 
            +
                  end
         | 
| 47 47 | 
             
                end
         | 
| 48 | 
            -
                
         | 
| 49 | 
            -
                def self.http_post_form(url, xml)
         | 
| 50 | 
            -
                  response = Net::HTTP.post_form URI(url), requestXml: xml
         | 
| 51 | 
            -
                end
         | 
| 52 | 
            -
             | 
| 53 48 | 
             
              end
         | 
| 54 49 | 
             
            end
         | 
    
        data/lib/ccb_connect_client.rb
    CHANGED
    
    
| @@ -2,28 +2,46 @@ require 'spec_helper' | |
| 2 2 |  | 
| 3 3 | 
             
            describe CcbConnectClient::Service do
         | 
| 4 4 |  | 
| 5 | 
            -
              it 'should be successful' do
         | 
| 6 | 
            -
                 | 
| 7 | 
            -
                CcbConnectClient. | 
| 8 | 
            -
                CcbConnectClient. | 
| 9 | 
            -
                CcbConnectClient. | 
| 10 | 
            -
                CcbConnectClient. | 
| 5 | 
            +
              it 'RefundRequest should be successful' do
         | 
| 6 | 
            +
                file_lines = File.open("./spec/fixtures/Adminfile.txt","r").readlines
         | 
| 7 | 
            +
                CcbConnectClient.server = file_lines[0].gsub("\n", '').split(pattern='\'')[1]
         | 
| 8 | 
            +
                CcbConnectClient.cust_id = file_lines[1].gsub("\n", '').split(pattern='\'')[1]
         | 
| 9 | 
            +
                CcbConnectClient.user_id = file_lines[2].gsub("\n", '').split(pattern='\'')[1]
         | 
| 10 | 
            +
                CcbConnectClient.password = file_lines[3].gsub("\n", '').split(pattern='\'')[1]
         | 
| 11 | 
            +
                CcbConnectClient.language = file_lines[4].split(pattern='\'')[1]
         | 
| 11 12 | 
             
                request = CcbConnectClient::RefundRequest.new
         | 
| 12 13 | 
             
                request.money = 7.01
         | 
| 13 14 | 
             
                request.order = 'L238201903071717YKIHNW'
         | 
| 14 15 | 
             
                CcbConnectClient::Service.refund request
         | 
| 15 16 | 
             
              end
         | 
| 16 17 |  | 
| 17 | 
            -
              it 'should be successful' do
         | 
| 18 | 
            -
                 | 
| 19 | 
            -
                CcbConnectClient. | 
| 20 | 
            -
                CcbConnectClient. | 
| 21 | 
            -
                CcbConnectClient. | 
| 22 | 
            -
                CcbConnectClient. | 
| 18 | 
            +
              it 'PaymentDetailsQueryRequest should be successful' do
         | 
| 19 | 
            +
                file_lines = File.open("./spec/fixtures/Adminfile.txt","r").readlines
         | 
| 20 | 
            +
                CcbConnectClient.server = file_lines[0].gsub("\n", '').split(pattern='\'')[1]
         | 
| 21 | 
            +
                CcbConnectClient.cust_id = file_lines[1].gsub("\n", '').split(pattern='\'')[1]
         | 
| 22 | 
            +
                CcbConnectClient.user_id = file_lines[2].gsub("\n", '').split(pattern='\'')[1]
         | 
| 23 | 
            +
                CcbConnectClient.password = file_lines[3].gsub("\n", '').split(pattern='\'')[1]
         | 
| 24 | 
            +
                CcbConnectClient.language = file_lines[4].split(pattern='\'')[1]
         | 
| 23 25 | 
             
                request = CcbConnectClient::PaymentDetailsQueryRequest.new
         | 
| 24 26 | 
             
                # request.money = 7.01
         | 
| 25 | 
            -
                 | 
| 27 | 
            +
                # :start_day, :start_hour, :start_min, :end_day, :end_hour, :end_min, :kind,
         | 
| 28 | 
            +
                # :account, :dexcel, :money, :norderby, :page, :pos_code, :status, :mrch_no
         | 
| 29 | 
            +
                # request.order = 'L238201903071717YKIHNW'
         | 
| 30 | 
            +
                request.start_day = '20190306'
         | 
| 31 | 
            +
                request.start_hour = '00'
         | 
| 32 | 
            +
                request.start_min = '00'
         | 
| 33 | 
            +
                request.end_day = '20190312'
         | 
| 34 | 
            +
                request.end_hour = '14'
         | 
| 35 | 
            +
                request.end_min = '20'
         | 
| 36 | 
            +
                request.kind = '1'
         | 
| 37 | 
            +
                # request.account = '20190306'
         | 
| 38 | 
            +
                request.dexcel = '1'
         | 
| 39 | 
            +
                # request.money = '20190306'
         | 
| 40 | 
            +
                request.norderby = '1'
         | 
| 41 | 
            +
                request.page = '1'
         | 
| 42 | 
            +
                # request.pos_code = '20190306'
         | 
| 43 | 
            +
                request.status = '3'
         | 
| 44 | 
            +
                # request.mrch_no = '20190306'
         | 
| 26 45 | 
             
                CcbConnectClient::Service.payment_details_query request
         | 
| 27 46 | 
             
              end
         | 
| 28 | 
            -
             | 
| 29 | 
            -
            end 
         | 
| 47 | 
            +
            end
         |