skrill_payments 0.0.2 → 0.0.3
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.
- data/README.md +67 -14
- data/lib/skrill_payments.rb +14 -0
- data/lib/skrill_payments/api.rb +2 -2
- data/lib/skrill_payments/configuration.rb +6 -0
- data/lib/skrill_payments/version.rb +1 -1
- data/skrill_payments.gemspec +3 -2
- data/spec/models/prepare_transfer_spec.rb +16 -0
- data/spec/spec_helper.rb +13 -0
- data/spec/support/config.rb +4 -0
- data/{lib/skrill_payments/payment.rb~ → spec/support/payment.rb} +0 -2
- metadata +27 -3
data/README.md
CHANGED
@@ -1,13 +1,4 @@
|
|
1
|
-
# [WIP]
|
2
|
-
|
3
|
-
Plase wait day or two to next release.
|
4
|
-
Next update will be 26.5.2014
|
5
|
-
|
6
|
-
Thank you very much.
|
7
|
-
|
8
|
-
# SkrillPayments
|
9
|
-
|
10
|
-
TODO: Write a gem description
|
1
|
+
# [WIP] SkrillPayments
|
11
2
|
|
12
3
|
## Installation
|
13
4
|
|
@@ -23,15 +14,77 @@ Or install it yourself as:
|
|
23
14
|
|
24
15
|
$ gem install skrill_payments
|
25
16
|
|
26
|
-
Create
|
17
|
+
Create a configuration file for Scrill Payments.
|
27
18
|
|
28
|
-
|
19
|
+
$ touch config/initializers/scrill_payments.rb
|
29
20
|
|
30
|
-
|
31
|
-
|
21
|
+
```ruby
|
22
|
+
Rails.configuration.scrill_payments_email = 'michal.macejko1@gmail.com'
|
23
|
+
Rails.configuration.scrill_payments_password = '3427342378427834782347832' # MD5
|
24
|
+
```
|
32
25
|
|
33
26
|
## Usage
|
34
27
|
|
28
|
+
Put this code into your Payment class.
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
include ScrillPayment
|
32
|
+
```
|
33
|
+
|
34
|
+
Your payment class must contain all attributes/methods which is required for transfer money.
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
[:amount, :currency, :recipient_email, :subject, :note, :reference_id]
|
38
|
+
# :reference_id is optional attribute
|
39
|
+
```
|
40
|
+
|
41
|
+
For example:
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
class Payment
|
45
|
+
|
46
|
+
include ScrillPayment
|
47
|
+
|
48
|
+
def amount
|
49
|
+
price + fees
|
50
|
+
end
|
51
|
+
|
52
|
+
def currency
|
53
|
+
bank.czech? 'CZK' : 'ENG'
|
54
|
+
end
|
55
|
+
|
56
|
+
def recipient_email
|
57
|
+
client.user
|
58
|
+
end
|
59
|
+
|
60
|
+
def subject
|
61
|
+
'My super subject'
|
62
|
+
end
|
63
|
+
|
64
|
+
def note
|
65
|
+
'Money for your service'
|
66
|
+
end
|
67
|
+
|
68
|
+
def reference_id
|
69
|
+
id
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
```
|
74
|
+
|
75
|
+
And in your controller just put the following code:
|
76
|
+
|
77
|
+
```ruby
|
78
|
+
def pay_for_service
|
79
|
+
payment = Payment.find(params[:id])
|
80
|
+
begin
|
81
|
+
ScrillPayment.pay!(payment)
|
82
|
+
rescue => e
|
83
|
+
# do stuff
|
84
|
+
end
|
85
|
+
redirect_to payments_path
|
86
|
+
end
|
87
|
+
```
|
35
88
|
|
36
89
|
## Contributing
|
37
90
|
|
data/lib/skrill_payments.rb
CHANGED
@@ -8,6 +8,18 @@ module SkrillPayments
|
|
8
8
|
execute_transfer['transaction'][0]['status_msg'][0] == 'processed'
|
9
9
|
end
|
10
10
|
|
11
|
+
class << self
|
12
|
+
attr_writer :configuration
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.configuration
|
16
|
+
@configuration ||= Configuration.new
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.configure
|
20
|
+
yield(configuration)
|
21
|
+
end
|
22
|
+
|
11
23
|
end
|
12
24
|
|
13
25
|
# VERSION
|
@@ -15,8 +27,10 @@ require 'skrill_payments/version'
|
|
15
27
|
|
16
28
|
# GEM CLASS
|
17
29
|
require 'skrill_payments/api'
|
30
|
+
require 'skrill_payments/scrill_payment'
|
18
31
|
require 'skrill_payments/prepare_transfer'
|
19
32
|
require 'skrill_payments/execute_transfer'
|
33
|
+
require 'skrill_payments/configuration'
|
20
34
|
|
21
35
|
# GEMS
|
22
36
|
require 'faraday'
|
data/lib/skrill_payments/api.rb
CHANGED
@@ -29,8 +29,8 @@ class Api
|
|
29
29
|
|
30
30
|
def default_params
|
31
31
|
{
|
32
|
-
email:
|
33
|
-
password:
|
32
|
+
email: SkrillPayments.configuration.email,
|
33
|
+
password: SkrillPayments.configuration.password
|
34
34
|
}
|
35
35
|
end
|
36
36
|
|
data/skrill_payments.gemspec
CHANGED
@@ -18,8 +18,9 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency
|
22
|
-
spec.add_development_dependency
|
21
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
22
|
+
spec.add_development_dependency 'rake'
|
23
|
+
spec.add_development_dependency 'rspec'
|
23
24
|
|
24
25
|
spec.add_dependency('faraday')
|
25
26
|
spec.add_dependency('xml-simple')
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
Bundler.setup
|
3
|
+
|
4
|
+
require 'skrill_payments'
|
5
|
+
|
6
|
+
RSpec.configure do |config|
|
7
|
+
end
|
8
|
+
|
9
|
+
# SUPPORT FILES
|
10
|
+
require File.expand_path('../support/config.rb', __FILE__)
|
11
|
+
require File.expand_path('../support/payment.rb', __FILE__)
|
12
|
+
|
13
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: skrill_payments
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rspec
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
46
62
|
- !ruby/object:Gem::Dependency
|
47
63
|
name: faraday
|
48
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,12 +105,16 @@ files:
|
|
89
105
|
- Rakefile
|
90
106
|
- lib/skrill_payments.rb
|
91
107
|
- lib/skrill_payments/api.rb
|
108
|
+
- lib/skrill_payments/configuration.rb
|
92
109
|
- lib/skrill_payments/execute_transfer.rb
|
93
|
-
- lib/skrill_payments/payment.rb~
|
94
110
|
- lib/skrill_payments/prepare_transfer.rb
|
95
111
|
- lib/skrill_payments/scrill_payment.rb
|
96
112
|
- lib/skrill_payments/version.rb
|
97
113
|
- skrill_payments.gemspec
|
114
|
+
- spec/models/prepare_transfer_spec.rb
|
115
|
+
- spec/spec_helper.rb
|
116
|
+
- spec/support/config.rb
|
117
|
+
- spec/support/payment.rb
|
98
118
|
homepage: ''
|
99
119
|
licenses:
|
100
120
|
- MIT
|
@@ -120,4 +140,8 @@ rubygems_version: 1.8.25
|
|
120
140
|
signing_key:
|
121
141
|
specification_version: 3
|
122
142
|
summary: Skrill payments
|
123
|
-
test_files:
|
143
|
+
test_files:
|
144
|
+
- spec/models/prepare_transfer_spec.rb
|
145
|
+
- spec/spec_helper.rb
|
146
|
+
- spec/support/config.rb
|
147
|
+
- spec/support/payment.rb
|