firekassa 0.1.0 → 0.1.2

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: db5ff926e9fd5ab6bb87cab375fc60b81a77a20b0e6eecc842d1fe50eb082a6f
4
- data.tar.gz: 5c7132fae80d82a16434c86c1031ccfbda92444b152f800a10d6375517b7c1d6
3
+ metadata.gz: bdceae90e4b6b0bb78ec79ecb406849054e3a2b1adf86c0837716f4be9ae7a41
4
+ data.tar.gz: d660a83b5a51ee7d994507c3390ddad6f4e6527856e63edd77daf7cd23672026
5
5
  SHA512:
6
- metadata.gz: 7eb4c901a6c19a7fc7872681198b730a5180177deb219552e8286f4e74be4eebe5fd3413b8951f7b845b0680ce4088e25dbf2440be91fd82cb8d1ef93f85deaf
7
- data.tar.gz: 8b787aebfb3cf550ab4924b269cf483f8e29a958742a2078d6c63a98fad743ee7e1c82eb5dea49772d096c44daebddc476d6364236e1aa86b70f2f004a43a900
6
+ metadata.gz: 94c4e146df6e8de0c896ab150926f1ffe13fff69a9569885a54e2b7fcdd2e5b9acb0bcab1f8be5c830502b8c4d84b58b91eb14f25716186488dbf64abdf9482c
7
+ data.tar.gz: 0513dfb4f9ecfbe9c9883edc1c683c937c14efd68549fe3c6a03ad88dbac94aaf4dcd94a32b6e1b486f40b941f57fd7175e467ae8b237579b0df40cc0be91da2
data/CHANGELOG.md CHANGED
@@ -3,3 +3,8 @@
3
3
  ## [0.1.0] - 2023-04-19
4
4
 
5
5
  - Initial release
6
+
7
+
8
+ ## [0.1.1] - 2023-04-19
9
+
10
+ - Implement all base API: Accounts, Transactions, Balance
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- firekassa (0.1.0)
4
+ firekassa (0.1.2)
5
5
  faraday (~> 1.0)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -30,8 +30,7 @@ Now you can make API calls
30
30
 
31
31
  ### Balance
32
32
 
33
- To get yoour account balance:
34
-
33
+ #### To get yoour account balance:
35
34
  ```ruby
36
35
  Firekassa::Balance.new.get # => { "balance": "2000.0" }
37
36
  ```
@@ -39,33 +38,93 @@ See [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/ge
39
38
 
40
39
  ### Account
41
40
 
42
- To list your Site accounts:
41
+ #### To list your Site accounts:
43
42
  ```ruby
44
43
  Firekassa::Account.new.list # => items: [ ... ]
45
44
  ```
46
45
  See more info in tests and [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/getSiteAccounts)
47
46
 
48
- To show your concrete account info:
47
+ #### To show your concrete account info:
49
48
  ```ruby
50
49
  Firekassa::Balance.new.show(account_id) # => { account_data... }
51
50
  ```
52
51
  See more info in tests and [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/getSiteAccount)
53
52
 
54
53
 
55
- ### Deposit
54
+ ### Transactions
56
55
 
57
- To create deposit:
56
+ #### To list transactions:
58
57
  ```ruby
59
- Firekassa::Deposit.new.create(deposit_data) # => { trx data... }
58
+ Firekassa::Transaction.new.list # => {items:[ trxs...] }
59
+ ```
60
+ See more info in tests and [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/getTransactions)
61
+
62
+ #### To create deposit:
63
+ ```ruby
64
+ deposit_data = {
65
+ order_id: "123", # payment ID from your system
66
+ method: "h2h-a", # host to host payment
67
+ amount: "5000.0",
68
+ # callbacks
69
+ notification_url: "http://some.url/callback",
70
+ success_url: "http://some.url/callback",
71
+ fail_url: "http://some.url/callback",
72
+ # card credentials
73
+ card_number: "4242424242424242",
74
+ card_expire: "01/25",
75
+ card_cvv: "123"
76
+ }
77
+ result = Firekassa::Deposit.new.create(deposit_data)
78
+ payment_url = result['payment_url'] # Customer should visit this link to proceed the payment
60
79
  ```
61
80
  See more info in tests and [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/createDepositTransaction)
62
81
 
63
- To show deposit data:
82
+ #### To create withdrawal:
83
+ ```ruby
84
+ withdraw_data = {
85
+ order_id: "123123", # payment ID from your system
86
+ method: "card",
87
+ account: "4242424242424242",
88
+ amount: "100.00",
89
+ # callbacks
90
+ notification_url: "http://some.url/callback",
91
+ success_url: "http://some.url/callback",
92
+ fail_url: "http://some.url/callback"
93
+ }
94
+ Firekassa::Withdraw.new.create(withdraw_data) # => { trx data... }
95
+ ```
96
+ See more info in tests and [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/createWithdrawalTransaction)
97
+
98
+ #### To show transaction data:
64
99
  ```ruby
65
- Firekassa::Deposit.new.show(deposit_id) # => { trx data... }
100
+ Firekassa::Transaction.new.show(deposit_id) # => { trx data... }
66
101
  ```
67
102
  See more info in tests and [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/getTransaction)
68
103
 
104
+ #### Cancel transaction:
105
+ ```ruby
106
+ Firekassa::Transaction.new.cancel(id) # => { trx data... }
107
+ ```
108
+ See more info in tests and [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/cancelTransaction)
109
+
110
+ #### To get currency rate for withdrawal:
111
+ ```ruby
112
+ Firekassa::Withdraw.new.currency_rate(data) # => { rate data... }
113
+ ```
114
+ See more info in tests and [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/getWithdrawalRate)
115
+
116
+ #### To download transaction receipt:
117
+ ```ruby
118
+ Firekassa::Transaction.new.download_receipt(id)
119
+ ```
120
+ See more info in tests and [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/downloadTransactionReceipt)
121
+
122
+ To send transaction receipt to email:
123
+ ```ruby
124
+ Firekassa::Transaction.new.send_to_email(id)
125
+ ```
126
+ See more info in tests and [API method reference](https://admin.vanilapay.com/api/doc/v2#/operations/sendTransactionReceipt)
127
+
69
128
  ## Development
70
129
 
71
130
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -4,16 +4,11 @@ require "firekassa/config"
4
4
  require "firekassa/client"
5
5
 
6
6
  module Firekassa
7
- # Get site deposit API
7
+ # Deposit API
8
8
  class Deposit < Client
9
9
  def create(data)
10
10
  path = "/api/v2/deposit"
11
11
  send_request(method: :post, path: path, body: data)
12
12
  end
13
-
14
- def show(id)
15
- path = "/api/v2/transactions/#{id}"
16
- send_request(method: :get, path: path)
17
- end
18
13
  end
19
14
  end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "firekassa/config"
4
+ require "firekassa/client"
5
+
6
+ module Firekassa
7
+ # Transactions API
8
+ class Transaction < Client
9
+ def show(id)
10
+ path = "/api/v2/transactions/#{id}"
11
+ send_request(method: :get, path: path)
12
+ end
13
+
14
+ def cancel(id)
15
+ path = "/api/v2/transactions/#{id}/cancel"
16
+ send_request(method: :post, path: path)
17
+ end
18
+
19
+ def list
20
+ # TODO: add proper URI encode
21
+ # filter: nil, page: nil, sort: nil
22
+ path = "/api/v2/transactions"
23
+ send_request(method: :get, path: path)
24
+ end
25
+
26
+ def download_receipt(id)
27
+ path = "/api/v2/transactions/#{id}/receipt"
28
+ send_request(method: :get, path: path)
29
+ end
30
+
31
+ def send_to_email(id:, email:, format:)
32
+ data = { email: email, format: format }
33
+ path = "/api/v2/transactions/#{id}/send-receipt"
34
+ send_request(method: :post, path: path, body: data)
35
+ end
36
+ end
37
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Firekassa
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.2"
5
5
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "firekassa/config"
4
+ require "firekassa/client"
5
+
6
+ module Firekassa
7
+ # Withdraw API
8
+ class Withdraw < Client
9
+ def create(data)
10
+ path = "/api/v2/withdrawal"
11
+ send_request(method: :post, path: path, body: data)
12
+ end
13
+
14
+ def currency_rate(data)
15
+ path = "/api/v2/withdrawal/rate"
16
+ send_request(method: :post, path: path, body: data)
17
+ end
18
+ end
19
+ end
data/lib/firekassa.rb CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  require "firekassa/config"
4
4
  require "firekassa/version"
5
+ require "firekassa/account"
5
6
  require "firekassa/balance"
7
+ require "firekassa/transaction"
6
8
  require "firekassa/deposit"
7
- require "firekassa/account"
9
+ require "firekassa/withdraw"
8
10
 
9
11
  # Head module
10
12
  module Firekassa
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firekassa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Kuznetsov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-19 00:00:00.000000000 Z
11
+ date: 2023-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -90,7 +90,9 @@ files:
90
90
  - lib/firekassa/config.rb
91
91
  - lib/firekassa/deposit.rb
92
92
  - lib/firekassa/errors.rb
93
+ - lib/firekassa/transaction.rb
93
94
  - lib/firekassa/version.rb
95
+ - lib/firekassa/withdraw.rb
94
96
  - sig/firekassa.rbs
95
97
  homepage: https://fp-dev4.fkcore.com/api/doc/v2
96
98
  licenses: