gharpay_api 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_api"
7
+ s.version = Gharpay::VERSION
8
+ s.authors = ["thamizh"]
9
+ s.email = ["thamizh@devbrother.com"]
10
+ s.homepage = "http://github.com/thamizh2k7/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,88 @@
1
+ module Gharpay
2
+ class Base
3
+ include HTTParty
4
+
5
+ format :xml
6
+ if Rails.env == 'production'
7
+ base_uri "http://webservices.gharpay.in/rest/GharpayService"
8
+ else
9
+ base_uri "http://services.gharpay.in/rest/GharpayService"
10
+ end
11
+
12
+ def initialize(username, password)
13
+ @creds = {"username" => username, "password" => password }
14
+ puts @creds
15
+ end
16
+
17
+ # Validates whether the location with this pincode is serviced by Gharpay
18
+ def valid_pincode?(zip)
19
+ res = self.class.get("/isPincodePresent", :query => {:pincode => zip}, :headers => @creds)
20
+ puts res
21
+
22
+ eval(res['isPincodePresentPresentResponse']['result'])
23
+ rescue
24
+ return false
25
+ end
26
+
27
+ # Creates order with Gharpay
28
+ def create_order(order)
29
+ options = {:body => order.to_xml(:root => "transaction"), :headers => @creds.merge('Content-Type' => 'application/xml')}
30
+ res = self.class.post("/createOrder", options)
31
+ return_val=Hash.new
32
+ if res['createOrderResponse']['orderID']
33
+ return_val["status"]=true
34
+ return_val["orderID"]=res['createOrderResponse']['orderID']
35
+ else
36
+ return_val["status"]=false
37
+ return_val["error"]=res['createOrderResponse']['errorMessage']
38
+ end
39
+ return return_val
40
+ rescue
41
+ return nil
42
+ end
43
+
44
+ # This method cancels the complete order.
45
+ def cancel_order(cancel_order)
46
+ options = {:body => cancel_order.to_xml(:root => "cancelOrder"), :headers => @creds.merge('Content-Type' => 'application/xml')}
47
+ res = self.class.post("/cancelOrder", options)
48
+ return res['cancelOrderResponse']['result'] unless res['cancelOrderResponse']['errorMessage']
49
+ res['cancelOrderResponse']['errorMessage']
50
+ rescue
51
+ return false
52
+ end
53
+
54
+ # TODO: check output
55
+ def view_details(order_id)
56
+ res = self.class.get("/viewOrderDetails", :query => {:orderID => order_id}, :headers => @creds)
57
+ res['viewOrderDetailsResponse'] unless res['viewOrderDetailsResponse']['errorMessage']
58
+ res['viewOrderDetailsResponse']['errorMessage']
59
+ rescue
60
+ return nil
61
+ end
62
+
63
+ # This method returns the status of the order
64
+ def view_order_status(order_id)
65
+ res = self.class.get("/viewOrderStatus", :query => {:orderID => order_id}, :headers => @creds)
66
+ res['viewOrderStatusResponse']['orderStatus']
67
+ rescue
68
+ return nil
69
+ end
70
+
71
+ # This method returns a list of cities currently being served by Gharpay in an array
72
+ def city_list
73
+ res = self.class.get("/getCityList", :headers => @creds)
74
+ res['getCityListResponse']['city']
75
+ rescue
76
+ return nil
77
+ end
78
+
79
+ # This method returns a list of pincodes in a city in an array
80
+ def pincodes_in_city(city)
81
+ res = self.class.get("/getPincodesInCity", :query => {:cityName => city}, :headers => @creds)
82
+ return res['getPincodesInCityResponse']['pincode'] unless res['getPincodesInCityResponse']['errorMessage']
83
+ res['getPincodesInCityResponse']['errorMessage']
84
+ rescue
85
+ return nil
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,3 @@
1
+ module Gharpay
2
+ VERSION = "0.0.1"
3
+ end
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gharpay_api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - thamizh
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-11-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: httparty
16
+ requirement: !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: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 0.8.0
30
+ description: Gharpay Cash on Delivery API integration
31
+ email:
32
+ - thamizh@devbrother.com
33
+ executables: []
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - .gitignore
38
+ - Gemfile
39
+ - Rakefile
40
+ - gharpay.gemspec
41
+ - lib/gharpay.rb
42
+ - lib/gharpay/api.rb
43
+ - lib/gharpay/version.rb
44
+ homepage: http://github.com/thamizh2k7/gharpay
45
+ licenses: []
46
+ post_install_message:
47
+ rdoc_options: []
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubyforge_project:
64
+ rubygems_version: 1.8.24
65
+ signing_key:
66
+ specification_version: 3
67
+ summary: Gharpay API integration
68
+ test_files: []