Sha256: 245d4d34244268d0c654523c3410a124af94df7436cf1afe1c4f808fedcf75a9
Contents?: true
Size: 963 Bytes
Versions: 3
Compression:
Stored size: 963 Bytes
Contents
# frozen_string_literal: true require 'base64' module Mpesa class Stk < Resource PATH = 'mpesa/stkpush/v1/processrequest' def call Object.new post_request(url: PATH, body: body).body end def body { 'BusinessShortCode': shortcode, 'Password': password, 'Timestamp': timestamp, 'TransactionType': 'CustomerPayBillOnline', 'Amount': args[:amount], 'PartyA': format_phone(args[:phone]), 'PartyB': shortcode, 'PhoneNumber': format_phone(args[:phone]), 'CallBackURL': args[:callback_url], 'AccountReference': args[:reference], 'TransactionDesc': args[:trans_desc] } end def password Base64.strict_encode64("#{shortcode}#{args[:pass_key] || client.pass_key}#{timestamp}") end def timestamp Time.now.strftime('%Y%m%d%H%M%S') end def shortcode args[:shortcode] || client.shortcode end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mpesarb-0.3.5 | lib/mpesa/resources/stk.rb |
mpesarb-0.3.4 | lib/mpesa/resources/stk.rb |
mpesarb-0.3.3 | lib/mpesa/resources/stk.rb |