Sha256: 20c80f7f34c7945c363682551ea4387e6c4bea039dca781e833ac8d97a999b8a

Contents?: true

Size: 840 Bytes

Versions: 4

Compression:

Stored size: 840 Bytes

Contents

# frozen_string_literal: true

module Mpesa
  class Status < Resource
    PATH = 'mpesa/transactionstatus/v1/query'
    def call
      Object.new post_request(url: PATH, body: body).body
    end

    def body
      {
        "CommandID": 'TransactionStatusQuery',
        "PartyA": args[:shortcode] || client.shortcode,
        "IdentifierType": args[:identifier_type],
        "Remarks": args[:remarks] || 'check status',
        "Initiator": args[:initiator_username],
        "SecurityCredential": credentials,
        "QueueTimeOutURL": args[:timeout_url],
        "ResultURL": args[:result_url],
        "TransactionID": args[:transaction_id],
        "Occasion": args[:occasion] || 'check status'
      }
    end

    def credentials
      SecurityCred.new(args[:initiator_password], client.env).password_credential
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mpesarb-0.3.5 lib/mpesa/resources/status.rb
mpesarb-0.3.4 lib/mpesa/resources/status.rb
mpesarb-0.3.3 lib/mpesa/resources/status.rb
mpesarb-0.3.2 lib/mpesa/resources/status.rb