afterpay 0.1.0 → 0.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0f91404c5d5fb6e1575f4beb24517b27902c6c4a6ecc7082f91d79ceee8c16a
4
- data.tar.gz: 5cd752c26bcffba90e75574309dfaf6adab18a203d3534f963199c5b2e2c19ad
3
+ metadata.gz: 9ef17010e4937b9dcd9f33a9b6cb86018c5359bbc2114ec4cecf7f2496de5a4e
4
+ data.tar.gz: 53371cb5b49385109d8cd97613af0820e77c4b0371304e8902a736861177db95
5
5
  SHA512:
6
- metadata.gz: 89eed2a49559ed62512b2e1a7db600cd0217aba8f4c55c07667cabbce12eb5e47843ecc78d64f8b5b3e81c6eed4a032afae187fb089c2685498046ec15c4f063
7
- data.tar.gz: e284f5bb19b2908c621769d9abc1a3c170af32d0147bac7270fa8d432930c30e2dcd6de048df175d5c8cffa2b49856e4f8ce0ba8a7af6e03112be94d165b95b8
6
+ metadata.gz: 8a0c9dbed40e6a784e3cedcbbca139ebd40d23e9efc65d7cb6634de25ec20588036ae5acf81d844c08aa3de65d9e930e8b90f4154bced90ae756545c3f4029a6
7
+ data.tar.gz: 83e959ba698efe7f5fefbc777ee5df46a551234b846ad649e1450e4fe68fca1768de9f32f7a1906cf8cf4f836cb4a3f4eeaae5f8ee372326eb5c15bcbbb4b508
data/.rubocop.yml CHANGED
@@ -1,5 +1,8 @@
1
1
  inherit_gem:
2
2
  relaxed-rubocop: .rubocop.yml
3
3
 
4
+ AllCops:
5
+ TargetRubyVersion: 2.5
6
+
4
7
  Lint/MissingSuper:
5
8
  Enabled: false
data/README.md CHANGED
@@ -30,7 +30,7 @@ Merchant ID and Secret Key are required to work with Afterpay API
30
30
  Afterpay.configure do |c|
31
31
  c.merchant_id = 'your_merchant_id'
32
32
  c.secret_key = 'your_secret_key'
33
- c.server = 'us_or_au_server' # Default is 'https://api.us.afterpay.com/'
33
+ c.server = 'us_or_au_server' # Default is 'https://global-api.afterpay.com/'
34
34
  c.user_agent = 'MyAfterpayModule/1.0.0 (E-Commerce Platform Name/1.0.0; PHP/7.0.0; Merchant/600032000) https://merchant.example.com' # Default is nil
35
35
  end
36
36
  ```
data/afterpay.gemspec CHANGED
@@ -23,9 +23,9 @@ Gem::Specification.new do |spec|
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = %w[lib]
25
25
 
26
- spec.add_runtime_dependency 'faraday', '~> 0.15', '>= 0.15.3'
27
- spec.add_runtime_dependency 'faraday_middleware', '~> 0.12', '>= 0.12.2'
28
- spec.add_runtime_dependency 'hashie', '~> 3.6', '>= 3.6.0'
26
+ spec.add_runtime_dependency 'faraday', '~> 1.0'
27
+ spec.add_runtime_dependency 'faraday_middleware', '~> 1.0'
28
+ spec.add_runtime_dependency 'hashie', '~> 4.0'
29
29
 
30
30
  spec.add_development_dependency 'bundler', '~> 2.2.22'
31
31
  spec.add_development_dependency 'codecov', '~> 0.5.2'
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Afterpay
4
+ module API
5
+ module Order
6
+ class Find < Base
7
+ def initialize(params = {})
8
+ @token = params[:token]
9
+ end
10
+
11
+ private
12
+
13
+ attr_reader :token
14
+
15
+ def payload
16
+ {
17
+ action: :get,
18
+ endpoint: endpoint
19
+ }
20
+ end
21
+
22
+ def endpoint
23
+ "#{URL}/#{token}"
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -12,6 +12,12 @@ module Afterpay
12
12
  # @return [String]
13
13
  # The user to redirected to this URL if the payment process is cancelled.
14
14
  attr_accessor :redirect_cancel_url
15
+
16
+ # @attribute popup_origin_url
17
+ # @return [String]
18
+ # URL to receive Javascript callbacks from Afterpay (e.g. onComplete, onShippingAddressChange, etc).
19
+ # Include the scheme, hostname and port. Port is optional.
20
+ attr_accessor :popup_origin_url
15
21
  end
16
22
  end
17
23
  end
@@ -62,6 +62,11 @@ module Afterpay
62
62
  # @return [Afterpay::Components::Money]
63
63
  # The shipping amount.
64
64
  attr_accessor :shipping_amount
65
+
66
+ # @attribute mode
67
+ # @return [String]
68
+ # Set to `express` for an express-flow checkout.
69
+ attr_accessor :mode
65
70
  end
66
71
  end
67
72
  end
@@ -11,13 +11,17 @@ module Afterpay
11
11
  def inspect(response)
12
12
  return response if response.ok?
13
13
 
14
- raise ERRORS[response.status], response_message(response)
14
+ raise ERRORS[response.status].new(response_error_code(response)), response_message(response)
15
15
  end
16
16
 
17
17
  def response_message(response)
18
18
  response.body.is_a?(String) ? JSON.parse(response.body)['message'] : response.message
19
19
  end
20
20
 
21
+ def response_error_code(response)
22
+ response.body.is_a?(String) ? JSON.parse(response.body)['errorCode'] : response.body.errorCode
23
+ end
24
+
21
25
  ERRORS = {
22
26
  400 => BadRequestError,
23
27
  401 => UnathorizedError,
@@ -1,7 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Afterpay
4
- class BaseError < StandardError; end
4
+ class BaseError < StandardError
5
+ attr_accessor :error_code
6
+
7
+ def initialize(error_code)
8
+ super
9
+ @error_code = error_code
10
+ end
11
+ end
5
12
 
6
13
  class BadRequestError < BaseError; end
7
14
 
@@ -18,8 +18,7 @@ module Afterpay
18
18
  # Afterpay default middleware stack
19
19
  DEFAULT_MIDDLEWARE = proc do |builder|
20
20
  builder.request :json
21
-
22
- builder.basic_auth(*::Afterpay.configuration.values)
21
+ builder.request :basic_auth, *::Afterpay.configuration.values
23
22
 
24
23
  builder.response :mashify
25
24
  builder.response :json, content_type: /\bjson$/
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Afterpay
4
- VERSION = '0.1.0'
4
+ VERSION = '0.2.0'
5
5
  end
data/lib/afterpay.rb CHANGED
@@ -5,6 +5,7 @@ require 'afterpay/api/configuration'
5
5
  require 'afterpay/api/configuration/retrieve'
6
6
  require 'afterpay/api/order'
7
7
  require 'afterpay/api/order/create'
8
+ require 'afterpay/api/order/find'
8
9
  require 'afterpay/api/payment'
9
10
  require 'afterpay/api/payment/capture'
10
11
  require 'afterpay/api/payment/refund'
@@ -62,5 +63,5 @@ module Afterpay
62
63
  end
63
64
  end
64
65
 
65
- DEFAULT_SERVER = 'https://api.us.afterpay.com/'
66
+ DEFAULT_SERVER = 'https://global-api.afterpay.com/'
66
67
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: afterpay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Vygovsky
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2021-08-30 00:00:00.000000000 Z
14
+ date: 2021-09-09 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: faraday
@@ -19,60 +19,42 @@ dependencies:
19
19
  requirements:
20
20
  - - "~>"
21
21
  - !ruby/object:Gem::Version
22
- version: '0.15'
23
- - - ">="
24
- - !ruby/object:Gem::Version
25
- version: 0.15.3
22
+ version: '1.0'
26
23
  type: :runtime
27
24
  prerelease: false
28
25
  version_requirements: !ruby/object:Gem::Requirement
29
26
  requirements:
30
27
  - - "~>"
31
28
  - !ruby/object:Gem::Version
32
- version: '0.15'
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: 0.15.3
29
+ version: '1.0'
36
30
  - !ruby/object:Gem::Dependency
37
31
  name: faraday_middleware
38
32
  requirement: !ruby/object:Gem::Requirement
39
33
  requirements:
40
34
  - - "~>"
41
35
  - !ruby/object:Gem::Version
42
- version: '0.12'
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: 0.12.2
36
+ version: '1.0'
46
37
  type: :runtime
47
38
  prerelease: false
48
39
  version_requirements: !ruby/object:Gem::Requirement
49
40
  requirements:
50
41
  - - "~>"
51
42
  - !ruby/object:Gem::Version
52
- version: '0.12'
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: 0.12.2
43
+ version: '1.0'
56
44
  - !ruby/object:Gem::Dependency
57
45
  name: hashie
58
46
  requirement: !ruby/object:Gem::Requirement
59
47
  requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: 3.6.0
63
48
  - - "~>"
64
49
  - !ruby/object:Gem::Version
65
- version: '3.6'
50
+ version: '4.0'
66
51
  type: :runtime
67
52
  prerelease: false
68
53
  version_requirements: !ruby/object:Gem::Requirement
69
54
  requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- version: 3.6.0
73
55
  - - "~>"
74
56
  - !ruby/object:Gem::Version
75
- version: '3.6'
57
+ version: '4.0'
76
58
  - !ruby/object:Gem::Dependency
77
59
  name: bundler
78
60
  requirement: !ruby/object:Gem::Requirement
@@ -257,6 +239,7 @@ files:
257
239
  - lib/afterpay/api/configuration/retrieve.rb
258
240
  - lib/afterpay/api/order.rb
259
241
  - lib/afterpay/api/order/create.rb
242
+ - lib/afterpay/api/order/find.rb
260
243
  - lib/afterpay/api/payment.rb
261
244
  - lib/afterpay/api/payment/auth.rb
262
245
  - lib/afterpay/api/payment/capture.rb