xendit-client 0.5.2 → 1.1.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: cddacb853b3fbcf8bec996fab3988dcd5a2b117c1f7ee358f1f322ff2c0fa531
4
- data.tar.gz: b4bae1d560499ee682fd86124a22efdfc20c9e68d754c86bb57e65438b09755a
3
+ metadata.gz: 948f8999fb1121cb15efbefb86c6900ebe60c60c9fcb01e9dd561a94fdc61b86
4
+ data.tar.gz: 9db6f7e535e809de0ba44ded59d3eeac7960229c3363871c06ba2ca928b14a40
5
5
  SHA512:
6
- metadata.gz: 2a87af6ed92f7f013cb44d5e3136a61251ab3c25f44d3544727b2e4c72a5b0d7264f8511dfcf13f5a2e18bb1274bd882c6be6ab6cded95d61635d07bdcccbb85
7
- data.tar.gz: d6aebeb87ecad14f0f981f304025bb566278afc3a5927eb439afc6d704bb406c6def77a3e29011f583e63df112574f6f45b4f50c34e61e4c6c84dc5c442b9e48
6
+ metadata.gz: dd281deb34430a1277da6e53e9cd36d4cec66bab09aec7383a11c16529431f500dccca05a4341c0f5f367516fcecc7a15cd34b71c9493bb6a6768b3b2375fd57
7
+ data.tar.gz: 41fe371c756cee0cea32e72f38cc0adc8d8a84f3f5fe89f402af8cb3bce4dbe016df25f6e52189f27f9df38fe21bae5a680ac8144480c5ff271c0a024fa41fb5
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- xendit-client (0.5.2)
4
+ xendit-client (1.0.0)
5
5
  faraday (~> 2.7.2)
6
6
 
7
7
  GEM
@@ -26,4 +26,4 @@ DEPENDENCIES
26
26
  xendit-client!
27
27
 
28
28
  BUNDLED WITH
29
- 2.3.23
29
+ 2.4.22
@@ -6,14 +6,14 @@ require_relative 'errors'
6
6
  module Xendit
7
7
  class ApiClient
8
8
  class << self
9
- def get(url, params = nil)
10
- conn = create_connection()
9
+ def get(url, headers: {}, params: nil)
10
+ conn = create_connection(headers)
11
11
  response = conn.get(url, params)
12
12
  handle_response(response)
13
13
  end
14
14
 
15
- def post(url, body = {})
16
- conn = create_connection()
15
+ def post(url, headers: {}, body: {})
16
+ conn = create_connection(headers)
17
17
  response = conn.post(url, JSONSerializer.encode(body))
18
18
  handle_response(response)
19
19
  end
@@ -5,28 +5,28 @@ module Xendit
5
5
  PATH = "ewallets/charges".freeze
6
6
 
7
7
  class << self
8
- def get_charge_status(charge_id)
9
- ApiClient.get "#{PATH}/#{charge_id}"
8
+ def get_charge_status(charge_id, **opts)
9
+ ApiClient.get "#{PATH}/#{charge_id}", opts
10
10
  end
11
11
 
12
- def charge(body)
13
- ApiClient.post PATH, body
12
+ def charge(**opts)
13
+ ApiClient.post PATH, opts
14
14
  end
15
15
 
16
- def void_charge(charge_id)
17
- ApiClient.post "#{PATH}/#{charge_id}/void"
16
+ def void_charge(charge_id, **opts)
17
+ ApiClient.post "#{PATH}/#{charge_id}/void", opts
18
18
  end
19
19
 
20
- def refund(charge_id, body)
21
- ApiClient.post "#{PATH}/#{charge_id}/refunds", body
20
+ def refund(charge_id, **opts)
21
+ ApiClient.post "#{PATH}/#{charge_id}/refunds", opts
22
22
  end
23
23
 
24
- def get_refund(charge_id, refund_id)
25
- ApiClient.get "#{PATH}/#{charge_id}/refunds/#{refund_id}"
24
+ def get_refund(charge_id, refund_id, **opts)
25
+ ApiClient.get "#{PATH}/#{charge_id}/refunds/#{refund_id}", opts
26
26
  end
27
27
 
28
- def list_refunds
29
- ApiClient.get "#{PATH}/#{charge_id}/refunds"
28
+ def list_refunds(**opts)
29
+ ApiClient.get "#{PATH}/#{charge_id}/refunds", opts
30
30
  end
31
31
  end
32
32
  end
@@ -1,23 +1,23 @@
1
1
  require_relative '../api_client'
2
2
 
3
3
  module Xendit
4
- class Invoice
4
+ class Invoice
5
5
  class << self
6
- def get(invoice_id)
7
- ApiClient.get "v2/invoices/#{invoice_id}"
6
+ def get(invoice_id, **opts)
7
+ ApiClient.get "v2/invoices/#{invoice_id}", opts
8
8
  end
9
9
 
10
- def create(params)
11
- ApiClient.post "v2/invoices/", params
10
+ def create(**opts)
11
+ ApiClient.post "v2/invoices/", opts
12
12
  end
13
13
 
14
- def expire(invoice_id)
15
- ApiClient.post "invoices/#{invoice_id}/expire!"
14
+ def expire(invoice_id, **opts)
15
+ ApiClient.post "invoices/#{invoice_id}/expire!", opts
16
16
  end
17
17
 
18
- def get_all
19
- ApiClient.get "v2/invoices"
18
+ def get_all(**opts)
19
+ ApiClient.get "v2/invoices", opts
20
20
  end
21
21
  end
22
22
  end
23
- end
23
+ end
@@ -3,24 +3,24 @@ require_relative '../api_client'
3
3
  module Xendit
4
4
  class Payout
5
5
  class << self
6
- def channels(**params)
7
- ApiClient.get "payouts_channels", params
6
+ def channels(**opts)
7
+ ApiClient.get "payouts_channels", opts
8
8
  end
9
9
 
10
- def create(params)
11
- ApiClient.post "v2/payouts", params
10
+ def create(**opts)
11
+ ApiClient.post "v2/payouts", opts
12
12
  end
13
13
 
14
- def cancel(id)
15
- ApiClient.post "v2/payouts/#{id}/cancel"
14
+ def cancel(id, **opts)
15
+ ApiClient.post "v2/payouts/#{id}/cancel", opts
16
16
  end
17
17
 
18
- def get_by_id(id)
19
- ApiClient.get "v2/payouts/#{id}"
18
+ def get_by_id(id, **opts)
19
+ ApiClient.get "v2/payouts/#{id}", opts
20
20
  end
21
21
 
22
- def get_by_reference_id(reference_id)
23
- ApiClient.get "v2/payouts", {reference_id: reference_id}
22
+ def get_by_reference_id(reference_id, **opts)
23
+ ApiClient.get "v2/payouts", {reference_id: reference_id}, opts
24
24
  end
25
25
  end
26
26
  end
@@ -0,0 +1,37 @@
1
+ require_relative '../api_client'
2
+
3
+ module Xendit
4
+ class QRCode
5
+ PATH = "qr_codes".freeze
6
+
7
+ class << self
8
+ def create(**opts)
9
+ ApiClient.post PATH, opts
10
+ end
11
+
12
+ def get(qr_code_id, **opts)
13
+ ApiClient.get "#{PATH}/#{qr_code_id}", opts
14
+ end
15
+
16
+ def list_payments(qr_code_id, **opts)
17
+ ApiClient.get "#{PATH}/#{qr_code_id}/payments", opts
18
+ end
19
+
20
+ def refund(qrpy_id, **opts)
21
+ ApiClient.post "#{PATH}/payments/#{qrpy_id}/refunds", opts
22
+ end
23
+
24
+ def get_refund(qrpy_id, refund_id, **opts)
25
+ ApiClient.get "#{PATH}/payments/#{qrpy_id}/refunds/#{refund_id}", opts
26
+ end
27
+
28
+ def list_refunds(qrpy_id, **opts)
29
+ ApiClient.get "#{PATH}/payments/#{qrpy_id}/refunds", opts
30
+ end
31
+
32
+ def simulate_payment(qr_code_id, **opts)
33
+ ApiClient.post "#{PATH}/#{qr_code_id}/payments/simulate", opts
34
+ end
35
+ end
36
+ end
37
+ end
@@ -3,16 +3,16 @@ require_relative '../api_client'
3
3
  module Xendit
4
4
  class Refund
5
5
  class << self
6
- def create(params)
7
- ApiClient.post "refunds", params
6
+ def create(**opts)
7
+ ApiClient.post "refunds", opts
8
8
  end
9
9
 
10
- def list
11
- ApiClient.get "refunds"
10
+ def list(**opts)
11
+ ApiClient.get "refunds", opts
12
12
  end
13
13
 
14
- def get_by_id(id)
15
- ApiClient.get "refunds/#{id}"
14
+ def get_by_id(id, **opts)
15
+ ApiClient.get "refunds/#{id}", opts
16
16
  end
17
17
  end
18
18
  end
@@ -2,3 +2,4 @@ require_relative 'resources/invoice'
2
2
  require_relative 'resources/payout'
3
3
  require_relative 'resources/refund'
4
4
  require_relative 'resources/e_wallet'
5
+ require_relative 'resources/qr_code'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Xendit
4
- VERSION = "0.5.2"
4
+ VERSION = "1.1.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xendit-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nasrul Gunawan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-04 00:00:00.000000000 Z
11
+ date: 2025-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -45,6 +45,7 @@ executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
+ - ".ruby-version"
48
49
  - CHANGELOG.md
49
50
  - Gemfile
50
51
  - Gemfile.lock
@@ -59,6 +60,7 @@ files:
59
60
  - lib/xendit/resources/e_wallet.rb
60
61
  - lib/xendit/resources/invoice.rb
61
62
  - lib/xendit/resources/payout.rb
63
+ - lib/xendit/resources/qr_code.rb
62
64
  - lib/xendit/resources/refund.rb
63
65
  - lib/xendit/response.rb
64
66
  - lib/xendit/version.rb