gharpay 0.0.1

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.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in gharpay.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
data/gharpay.gemspec ADDED
@@ -0,0 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "gharpay/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "gharpay"
7
+ s.version = Gharpay::VERSION
8
+ s.authors = ["Jeyant Randhawa"]
9
+ s.email = ["jeyant@joshsoftware.com"]
10
+ s.homepage = "http://github.com/joshsoftware/gharpay"
11
+ s.summary = %q{Gharpay API integration}
12
+ s.description = %q{Gharpay Cash on Delivery API integration}
13
+
14
+ s.add_dependency(%q<httparty>, ["~> 0.8.0"])
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+ end
data/lib/gharpay.rb ADDED
@@ -0,0 +1,6 @@
1
+ require 'httparty'
2
+ require "gharpay/api"
3
+ require "gharpay/version"
4
+
5
+ module Gharpay
6
+ end
@@ -0,0 +1,74 @@
1
+ module Gharpay
2
+ class Base
3
+ include HTTParty
4
+
5
+ format :xml
6
+ base_uri "http://services.gharpay.in/rest/GharpayService"
7
+
8
+ def initialize(username, password)
9
+ @creds = {"username" => username, "password" => password }
10
+ end
11
+
12
+ # Validates whether the location with this pincode is serviced by Gharpay
13
+ def valid_pincode?(zip)
14
+ res = self.class.get("/isPincodePresent", :query => {:pincode => zip}, :headers => @creds)
15
+ eval(res['isPincodePresentPresentResponse']['result'])
16
+ rescue
17
+ return false
18
+ end
19
+
20
+ # Creates order with Gharpay
21
+ def create_order(order)
22
+ options = {:body => order.to_xml(:root => "transaction"), :headers => @creds.merge('Content-Type' => 'application/xml')}
23
+ res = self.class.post("/createOrder", options)
24
+ return res['createOrderResponse']['orderID'] unless res['createOrderResponse']['errorMessage']
25
+ res['createOrderResponse']['errorMessage']
26
+ rescue
27
+ return nil
28
+ end
29
+
30
+ # This method cancels the complete order.
31
+ def cancel_order(cancel_order)
32
+ options = {:body => cancel_order.to_xml(:root => "cancelOrder"), :headers => @creds.merge('Content-Type' => 'application/xml')}
33
+ res = self.class.post("/cancelOrder", options)
34
+ return res['cancelOrderResponse']['result'] unless res['cancelOrderResponse']['errorMessage']
35
+ res['cancelOrderResponse']['errorMessage']
36
+ rescue
37
+ return false
38
+ end
39
+
40
+ # TODO: check output
41
+ def view_details(order_id)
42
+ res = self.class.get("/viewOrderDetails", :query => {:orderID => order_id}, :headers => @creds)
43
+ res['viewOrderDetailsResponse'] unless res['viewOrderDetailsResponse']['errorMessage']
44
+ res['viewOrderDetailsResponse']['errorMessage']
45
+ rescue
46
+ return nil
47
+ end
48
+
49
+ # This method returns the status of the order
50
+ def view_order_status(order_id)
51
+ res = self.class.get("/viewOrderStatus", :query => {:orderID => order_id}, :headers => @creds)
52
+ res['viewOrderStatusResponse']['orderStatus']
53
+ rescue
54
+ return nil
55
+ end
56
+
57
+ # This method returns a list of cities currently being served by Gharpay in an array
58
+ def city_list
59
+ res = self.class.get("/getCityList", :headers => @creds)
60
+ res['getCityListResponse']['city']
61
+ rescue
62
+ return nil
63
+ end
64
+
65
+ # This method returns a list of pincodes in a city in an array
66
+ def pincodes_in_city(city)
67
+ res = self.class.get("/getPincodesInCity", :query => {:cityName => city}, :headers => @creds)
68
+ return res['getPincodesInCityResponse']['pincode'] unless res['getPincodesInCityResponse']['errorMessage']
69
+ res['getPincodesInCityResponse']['errorMessage']
70
+ rescue
71
+ return nil
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,3 @@
1
+ module Gharpay
2
+ VERSION = "0.0.1"
3
+ end
metadata ADDED
@@ -0,0 +1,63 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gharpay
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Jeyant Randhawa
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-23 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: httparty
16
+ requirement: &10893400 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.8.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *10893400
25
+ description: Gharpay Cash on Delivery API integration
26
+ email:
27
+ - jeyant@joshsoftware.com
28
+ executables: []
29
+ extensions: []
30
+ extra_rdoc_files: []
31
+ files:
32
+ - .gitignore
33
+ - Gemfile
34
+ - Rakefile
35
+ - gharpay.gemspec
36
+ - lib/gharpay.rb
37
+ - lib/gharpay/api.rb
38
+ - lib/gharpay/version.rb
39
+ homepage: http://github.com/joshsoftware/gharpay
40
+ licenses: []
41
+ post_install_message:
42
+ rdoc_options: []
43
+ require_paths:
44
+ - lib
45
+ required_ruby_version: !ruby/object:Gem::Requirement
46
+ none: false
47
+ requirements:
48
+ - - ! '>='
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ required_rubygems_version: !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ requirements: []
58
+ rubyforge_project:
59
+ rubygems_version: 1.8.10
60
+ signing_key:
61
+ specification_version: 3
62
+ summary: Gharpay API integration
63
+ test_files: []