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 +4 -0
- data/Gemfile +4 -0
- data/Rakefile +1 -0
- data/gharpay.gemspec +20 -0
- data/lib/gharpay.rb +6 -0
- data/lib/gharpay/api.rb +88 -0
- data/lib/gharpay/version.rb +3 -0
- metadata +68 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
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
data/lib/gharpay/api.rb
ADDED
@@ -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
|
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: []
|