Class: PaysonAPI::Client
- Inherits:
-
Object
- Object
- PaysonAPI::Client
- Defined in:
- lib/payson_api/client.rb
Class Method Summary collapse
- .get_payment_details(payment_details_data) ⇒ Object
- .hash_to_params(hash) ⇒ Object
- .initiate_payment(payment_data) ⇒ Object
- .params_to_hash(params) ⇒ Object
- .update_payment(payment_update_data) ⇒ Object
- .validate_ipn(ipn_data) ⇒ Object
Class Method Details
.get_payment_details(payment_details_data) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/payson_api/client.rb', line 14 def self.get_payment_details(payment_details_data) response = payson_request( PAYSON_API_PAYMENT_DETAILS_ACTION, payment_details_data.to_hash ) response_hash = params_to_hash(response.body) PaysonAPI::Response::PaymentDetails.new(response_hash) end |
.hash_to_params(hash) ⇒ Object
40 41 42 |
# File 'lib/payson_api/client.rb', line 40 def self.hash_to_params(hash) hash.map { |k, v| "#{k}=#{v}" }.join('&') end |
.initiate_payment(payment_data) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/payson_api/client.rb', line 5 def self.initiate_payment(payment_data) response = payson_request( PAYSON_API_PAY_ACTION, payment_data.to_hash ) response_hash = params_to_hash(response.body) PaysonAPI::Response::Payment.new(response_hash) end |
.params_to_hash(params) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/payson_api/client.rb', line 44 def self.params_to_hash(params) {}.tap do |hash| params.split('&').each do |param| key, val = param.split('=') hash[key] = val end end end |
.update_payment(payment_update_data) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/payson_api/client.rb', line 23 def self.update_payment(payment_update_data) response = payson_request( PAYSON_API_PAYMENT_DETAILS_ACTION, payment_update_data.to_hash ) response_hash = params_to_hash(response.body) PaysonAPI::Response::PaymentUpdate.new(response_hash) end |
.validate_ipn(ipn_data) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/payson_api/client.rb', line 32 def self.validate_ipn(ipn_data) response = payson_request( PAYSON_API_PAYMENT_VALIDATE_ACTION, ipn_data.to_s ) PaysonAPI::Response::Validate.new(response.body) end |