Sha256: 4bbc3ecabd1927490b0838a16bc00eeb91ff94022de6deaa751f0befb38183de

Contents?: true

Size: 858 Bytes

Versions: 4

Compression:

Stored size: 858 Bytes

Contents

# frozen_string_literal: true

module Mpesa
  class Reversal < Resource
    PATH = 'mpesa/reversal/v1/request'

    def call
      Object.new post_request(url: PATH, body: body).body
    end

    def body
      {
        "Initiator": args[:initiator_username],
        "SecurityCredential": credentials,
        "CommandID": 'TransactionReversal',
        "TransactionID": args[:transaction_id],
        "Amount": args[:amount],
        "ReceiverParty": args[:receiver],
        "RecieverIdentifierType": args[:receiver_type],
        "Remarks": args[:remarks] || 'check status',
        "QueueTimeOutURL": args[:timeout_url],
        "ResultURL": args[:result_url],
        "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/reversal.rb
mpesarb-0.3.4 lib/mpesa/resources/reversal.rb
mpesarb-0.3.3 lib/mpesa/resources/reversal.rb
mpesarb-0.3.2 lib/mpesa/resources/reversal.rb