leanweb 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ffe16c4e32b210678118c5ef8a55293d3a67e0d1e8ada3014b9913dd17b2abb
4
- data.tar.gz: 7e7da7e24539d389e688e2a0d3f88b5dca3c19804a104bc4ea2fe5f7fd7beb10
3
+ metadata.gz: 54fc1b8b4dff318eb3ccc51e8f0862706c0b8de9879dadf403580f00a224b9df
4
+ data.tar.gz: e2a5d17a9f7a2f13f0cb2983031f91127387021a26d70a7bc91e0722ffb19bf3
5
5
  SHA512:
6
- metadata.gz: cd9730e0fd3f231d0dfa9d7cafcad4ece3d3e46f7665f77bf497e8a9f9789a5ef030c70fd42ec19606820a1fd2934005b1f09a7750e37a3766e278d7363beb0f
7
- data.tar.gz: 389915c7ec7301ecfc7cab2e2758e4e4de5f689ffaf3f77cb8d8de35159170db5658a0639112b476d3e8035f8628f24bbf19b3c2fac89a783813dedcebcf9b8d
6
+ metadata.gz: 0563e596c38aefdd7af7150ed4f87dbbb55c6bee5459d397574e5fb1da18fe31e5091d6f8346e952729118fed9fda8f6e0b3f2579e0b39fc54d426cee76b81ed
7
+ data.tar.gz: 579991147e69766158a1168d28ec58f8da90a94ad4383e2fe8001b15cc4460895892600d53968e063e067a7be2c12347f25e37ec94cb2237e5adc32c04333a1a
@@ -20,6 +20,7 @@ require 'uri'
20
20
  # - HAWESE_RETURN_URL defaults to `LEANWEB_ENDPOINT/checkout`.
21
21
  # - HAWESE_ENDPOINT
22
22
  # - HAWESE_ORIGIN
23
+ # - HAWESE_AUTH_TOKEN
23
24
  class Hawese
24
25
  class << self
25
26
  ENDPOINT = ENV.fetch('HAWESE_ENDPOINT')
@@ -54,6 +55,21 @@ class Hawese
54
55
  JSON.parse(response.body, symbolize_names: true)
55
56
  end
56
57
 
58
+ def receipt(gateway, payment_uuid, fields = {})
59
+ uri = URI(
60
+ "#{ENDPOINT}/#{ORIGIN}/gateways/#{gateway}/receipt/#{payment_uuid}"
61
+ )
62
+ Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
63
+ req = Net::HTTP::Post.new(uri, {
64
+ 'Authorization' => "Bearer #{ENV.fetch('HAWESE_AUTH_TOKEN')}",
65
+ 'Content-Type' => 'application/json'
66
+ })
67
+ req.body = fields.to_json
68
+ response = http.request(req)
69
+ receipt_process_response(response)
70
+ end
71
+ end
72
+
57
73
  def purchase_from_schema(gateway, schema)
58
74
  purchase(gateway, fields_to_schema_defaults(schema))
59
75
  end
@@ -81,5 +97,15 @@ class Hawese
81
97
  end
82
98
  fields
83
99
  end
100
+
101
+ def receipt_process_response(response)
102
+ response_body = JSON.parse(response.body, symbolize_names: true)
103
+
104
+ case response.code
105
+ when '401' then raise(response_body)
106
+ when '200' then response_body
107
+ else raise(response_body[:error][:message])
108
+ end
109
+ end
84
110
  end
85
111
  end
@@ -9,5 +9,5 @@
9
9
 
10
10
 
11
11
  module LeanWeb
12
- VERSION = '0.5.0'
12
+ VERSION = '0.5.1'
13
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leanweb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Freeman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-08 00:00:00.000000000 Z
11
+ date: 2023-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack