cashfree 0.0.0 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cashfree.rb +34 -21
  3. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 136d2c105f849b16191b11b2168b91a742daf163b1d6694c32f2dfbffafc4f4e
4
- data.tar.gz: da946cbc7b0a944a21736552c35bb3e9d38350e1cdf59247abc280a69605a130
3
+ metadata.gz: 933b1bcbe86a5febc20bdbf6fa76b43cc375bc700ec452d6e923d6f2af6b7220
4
+ data.tar.gz: 6ea1433fc82ddb82f1cd08a64c0ae48c643830590e79b2a09e72e9a3b0217a85
5
5
  SHA512:
6
- metadata.gz: 9ae6ce76f99dd626aea2d9f3d29476aa66a89844f699c9aaac99057ebf87cbd5227eb4176521b5cbce298598c04f8af2eb16d0638ae5759479861e8d1444db28
7
- data.tar.gz: 7cc461d5babe933796650e2d5184f408deca53680da2a26ae595f5d3332d73f42a35c52f869b45ae58ab131d6f5c7043dc7ebc271d47cd025e74e46a499291bf
6
+ metadata.gz: c817b1d5ba887eb40c8c9654b0208a1e9b3c1acfcf56e47e59dd01da70441e2c23920f00dd49d4891416ddb8f8dc1f55ba32d9e206c45c33580a1a85c10d081d
7
+ data.tar.gz: eec1cf87f4936961eaebba4ae5a441c9ce52b4d7cbb7ff2788115eea5ef10a53ffa3943d6ab1c25768ad37ae9bd57998c9da1d1693bb2a3a5fe1de74e29349bf
data/lib/cashfree.rb CHANGED
@@ -3,17 +3,19 @@ require 'net/http'
3
3
  require 'openssl'
4
4
  require 'json'
5
5
  module Cashfree
6
- class Cashfree
7
- def generate_order order_id, customer_id, amount, email, mobile, order_currency = "INR"
8
- url = URI(CASHFREE_URL) #["https://api.cashfree.com/pg/orders", "https://sandbox.cashfree.com/pg/orders"]
9
- http = Net::HTTP.new(url.host, url.port)
10
- http.use_ssl = true
11
- request = Net::HTTP::Post.new(url)
12
- request["accept"] = 'application/json'
13
- request["x-client-id"] = FREECASH_APPID
14
- request["x-client-secret"] = FREECASH_APPSECRET
15
- request["x-api-version"] = FREECASH_API_VERSION
16
- request["content-type"] = 'application/json'
6
+ class Cashfree
7
+ def initialize app_id, app_secret, app_version, cashfree_url, cashfree_return_url
8
+ @app_id = app_id
9
+ @app_secret = app_secret
10
+ @app_version = app_version
11
+ @cashfree_url = cashfree_url
12
+ @cashfree_return_url = cashfree_return_url
13
+ end
14
+
15
+ def generate_order order_id, amount, email, mobile, customer_id = nil, order_currency = "INR"
16
+ customer_id ||= mobile.gsub("+91","")
17
+ url = URI(@cashfree_url)
18
+ http, request = update_request url
17
19
  request.body = {
18
20
  "customer_details": {
19
21
  "customer_id": "#{customer_id}",
@@ -21,7 +23,7 @@ module Cashfree
21
23
  "customer_phone": "#{mobile}",
22
24
  },
23
25
  "order_meta": {
24
- "return_url": "#{CASHFREE_RETURN_URL}"
26
+ "return_url": "#{@cashfree_return_url}"
25
27
  },
26
28
  "order_id": "#{order_id}",
27
29
  "order_amount": amount,
@@ -32,14 +34,8 @@ module Cashfree
32
34
  end
33
35
 
34
36
  def validate_payment order_id
35
- url = URI("#{CASHFREE_URL}/#{order_id}")
36
- http = Net::HTTP.new(url.host, url.port)
37
- http.use_ssl = true
38
- request = Net::HTTP::Get.new(url)
39
- request["accept"] = 'application/json'
40
- request["x-client-id"] = FREECASH_APPID
41
- request["x-client-secret"] = FREECASH_APPSECRET
42
- request["x-api-version"] = FREECASH_API_VERSION
37
+ url = URI("#{@cashfree_url}/#{order_id}")
38
+ http, request = update_request url
43
39
  response = http.request(request)
44
40
  data = JSON.parse(response.read_body)
45
41
  if data["order_status"] == "PAID"
@@ -47,6 +43,23 @@ module Cashfree
47
43
  else
48
44
  false
49
45
  end
50
- end
46
+ end
47
+
48
+ private
49
+ def update_request url
50
+ http = Net::HTTP.new(url.host, url.port)
51
+ http.use_ssl = true
52
+ request = Net::HTTP::Post.new(url)
53
+ request["accept"] = 'application/json'
54
+ request["x-client-id"] = @app_id
55
+ request["x-client-secret"] = @app_secret
56
+ request["x-api-version"] = @app_version
57
+ request["content-type"] = 'application/json'
58
+ return http, request
59
+ end
51
60
  end
52
61
  end
62
+
63
+
64
+ #gem build cashfree.gemspec
65
+ #gem install ./cashfree-0.0.1.gem
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cashfree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Awijeet Shandilya
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-10 00:00:00.000000000 Z
11
+ date: 2023-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-http
@@ -71,7 +71,7 @@ extensions: []
71
71
  extra_rdoc_files: []
72
72
  files:
73
73
  - lib/cashfree.rb
74
- homepage: https://rubygems.org/gems/cashfree
74
+ homepage: https://github.com/aw-madhulata/cashfree
75
75
  licenses:
76
76
  - MIT
77
77
  metadata: {}
@@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
90
  - !ruby/object:Gem::Version
91
91
  version: '0'
92
92
  requirements: []
93
- rubygems_version: 3.2.32
93
+ rubygems_version: 3.1.6
94
94
  signing_key:
95
95
  specification_version: 4
96
96
  summary: Cashfree