pagseguro_next 0.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 +7 -0
- data/README.md +39 -0
- data/Rakefile +10 -0
- data/lib/pagseguro/api.rb +88 -0
- data/lib/pagseguro/authorizations.rb +53 -0
- data/lib/pagseguro/base.rb +31 -0
- data/lib/pagseguro/checkout.rb +42 -0
- data/lib/pagseguro/payment_orders.rb +20 -0
- data/lib/pagseguro/plans.rb +23 -0
- data/lib/pagseguro/response.rb +21 -0
- data/lib/pagseguro/sessions.rb +11 -0
- data/lib/pagseguro/subscriptions.rb +19 -0
- data/lib/pagseguro/transactions.rb +40 -0
- data/lib/pagseguro/version.rb +3 -0
- data/lib/pagseguro.rb +50 -0
- data/lib/pagseguro_next.rb +1 -0
- data/pagseguro_next.gemspec +31 -0
- metadata +225 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d809b8bae61f471fdaf8452d62055e7fd12b8456c85c00228fa142366aaa61bf
|
4
|
+
data.tar.gz: 4639e344cf4951a77730140f90776e06b992c2d9670e07dc38a5c9a8d1202701
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 761d6f2f5fbe1fa335bfb00d743119dbb2d91c3ca69450314249b542da1146891ce3accfff22b3689abedbad9566e068220c466aa4142f83f9016ccb77f04556
|
7
|
+
data.tar.gz: 8db1410512a170c4ebeac345a7fa137e2ccadaf85434802da134996c3e6bc9e83d6feb88fc1df3e1c764efc0a66d43792c241b57b59d036e6756d2c7a3eac971
|
data/README.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# PagSeguro
|
2
|
+
|
3
|
+
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/pagseguro_next`. To experiment with that code, run `bin/console` for an interactive prompt.
|
4
|
+
|
5
|
+
TODO: Delete this and the text above, and describe your gem
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
gem 'pagseguro_next'
|
13
|
+
```
|
14
|
+
|
15
|
+
And then execute:
|
16
|
+
|
17
|
+
$ bundle
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
|
21
|
+
$ gem install pagseguro_next
|
22
|
+
|
23
|
+
## Usage
|
24
|
+
|
25
|
+
TODO: Write usage instructions here
|
26
|
+
|
27
|
+
## Development
|
28
|
+
|
29
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
30
|
+
|
31
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
32
|
+
|
33
|
+
## Contributing
|
34
|
+
|
35
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/rainerborene/pagseguro_next.
|
36
|
+
|
37
|
+
## License
|
38
|
+
|
39
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
require "faraday"
|
2
|
+
require "faraday_middleware"
|
3
|
+
|
4
|
+
module PagSeguro
|
5
|
+
class API
|
6
|
+
delegate :get, :post, :put, :patch, to: :@connection
|
7
|
+
|
8
|
+
attr_reader :options, :logger
|
9
|
+
|
10
|
+
def initialize(options = {})
|
11
|
+
@options = options
|
12
|
+
@logger = options.delete(:logger)
|
13
|
+
@connection ||= Faraday.new api_url do |conn|
|
14
|
+
conn.request :json
|
15
|
+
conn.response :xml, content_type: /\bxml$/
|
16
|
+
conn.response :json, content_type: /\bjson$/
|
17
|
+
conn.response :logger, logger, bodies: true if logger
|
18
|
+
conn.adapter :net_http
|
19
|
+
conn.params = auth_params
|
20
|
+
conn.headers[:accept] = FORMATS[:json]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def subscriptions
|
25
|
+
@subscriptions ||= Subscriptions.new(self)
|
26
|
+
end
|
27
|
+
|
28
|
+
def payment_orders
|
29
|
+
@payment_orders ||= PaymentOrders.new(self)
|
30
|
+
end
|
31
|
+
|
32
|
+
def sessions
|
33
|
+
@sessions ||= Sessions.new(self)
|
34
|
+
end
|
35
|
+
|
36
|
+
def plans
|
37
|
+
@plans ||= Plans.new(self)
|
38
|
+
end
|
39
|
+
|
40
|
+
def authorizations
|
41
|
+
@authorizations ||= Authorizations.new(self)
|
42
|
+
end
|
43
|
+
|
44
|
+
def checkout
|
45
|
+
@checkout ||= Checkout.new(self)
|
46
|
+
end
|
47
|
+
|
48
|
+
def transactions
|
49
|
+
@transactions ||= Transactions.new(self)
|
50
|
+
end
|
51
|
+
|
52
|
+
def build_url(source, path, params = {})
|
53
|
+
url = URI(send("#{source}_url"))
|
54
|
+
url.path = path
|
55
|
+
url.query = params.to_query
|
56
|
+
url.to_s
|
57
|
+
end
|
58
|
+
|
59
|
+
private
|
60
|
+
|
61
|
+
def site_url
|
62
|
+
PagSeguro.uris[environment][:site]
|
63
|
+
end
|
64
|
+
|
65
|
+
def api_url
|
66
|
+
PagSeguro.uris[environment][:api]
|
67
|
+
end
|
68
|
+
|
69
|
+
def environment
|
70
|
+
options[:environment] || PagSeguro.environment
|
71
|
+
end
|
72
|
+
|
73
|
+
def auth_params
|
74
|
+
auth = {}
|
75
|
+
|
76
|
+
if options.key?(:app) || options.key?(:app_id)
|
77
|
+
auth[:appId] = options.fetch :app_id, PagSeguro.app_id
|
78
|
+
auth[:appKey] = options.fetch :app_key, PagSeguro.app_key
|
79
|
+
auth[:authorizationCode] = options[:authorization_code]
|
80
|
+
else
|
81
|
+
auth[:token] = options.fetch :token, PagSeguro.token
|
82
|
+
auth[:email] = options.fetch :email, PagSeguro.email
|
83
|
+
end
|
84
|
+
|
85
|
+
auth.compact
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module PagSeguro
|
2
|
+
class Authorizations < Base
|
3
|
+
PERMISSIONS = {
|
4
|
+
checkouts: "CREATE_CHECKOUTS",
|
5
|
+
notifications: "RECEIVE_TRANSACTION_NOTIFICATIONS",
|
6
|
+
searches: "SEARCH_TRANSACTIONS",
|
7
|
+
payments: "DIRECT_PAYMENT",
|
8
|
+
refunds: "REFUND_TRANSACTIONS",
|
9
|
+
cancels: "CANCEL_TRANSACTIONS",
|
10
|
+
direct_pre_approval: "USE_DIRECT_PRE_APPROVAL",
|
11
|
+
manage_pre_approvals: "MANAGE_PAYMENT_PRE_APPROVALS"
|
12
|
+
}
|
13
|
+
|
14
|
+
def create(params)
|
15
|
+
xml = build_request(params).to_xml
|
16
|
+
|
17
|
+
response = api.post "/v2/authorizations/request", xml do |conn|
|
18
|
+
conn.headers[:content_type] = FORMATS[:xml]
|
19
|
+
conn.headers[:accept] = FORMATS[:xml]
|
20
|
+
end
|
21
|
+
|
22
|
+
parse response.body["authorizationRequest"]
|
23
|
+
end
|
24
|
+
|
25
|
+
def find_by_notification_code(code)
|
26
|
+
response = api.get "/v2/authorizations/notifications/#{code}" do |conn|
|
27
|
+
conn.headers[:content_type] = FORMATS[:xml]
|
28
|
+
conn.headers[:accept] = FORMATS[:xml]
|
29
|
+
end
|
30
|
+
|
31
|
+
parse response.body["authorization"]
|
32
|
+
end
|
33
|
+
|
34
|
+
def url(code)
|
35
|
+
api.build_url :site, "/v2/authorization/request.jhtml", code: code
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def build_request(params)
|
41
|
+
builder do
|
42
|
+
authorizationRequest do
|
43
|
+
redirectURL params[:redirect_url]
|
44
|
+
permissions do
|
45
|
+
params[:permissions].each do |aliased|
|
46
|
+
code PERMISSIONS[aliased]
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require "nokogiri"
|
2
|
+
|
3
|
+
module PagSeguro
|
4
|
+
class Base
|
5
|
+
attr_reader :api
|
6
|
+
|
7
|
+
def initialize(api)
|
8
|
+
@api = api
|
9
|
+
end
|
10
|
+
|
11
|
+
def parse(hash)
|
12
|
+
Response.new(hash)
|
13
|
+
end
|
14
|
+
|
15
|
+
def parse_body(response)
|
16
|
+
parse response.body
|
17
|
+
end
|
18
|
+
|
19
|
+
def parameterize(hash)
|
20
|
+
hash.as_json.deep_transform_keys! do |key|
|
21
|
+
key.to_s.camelize(:lower)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def builder(&block)
|
26
|
+
Nokogiri::XML::Builder.new do |xml|
|
27
|
+
xml.instance_eval(&block)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module PagSeguro
|
2
|
+
class Checkout < Base
|
3
|
+
def create(params)
|
4
|
+
params = build_request(params).to_xml
|
5
|
+
|
6
|
+
response = api.post "/v2/checkout", params do |conn|
|
7
|
+
conn.headers[:content_type] = FORMATS[:xml]
|
8
|
+
conn.headers[:accept] = FORMATS[:xml]
|
9
|
+
end
|
10
|
+
|
11
|
+
parse response.body["checkout"]
|
12
|
+
end
|
13
|
+
|
14
|
+
def url(code)
|
15
|
+
api.build_url :site, "/v2/checkout/payment.html", code: code
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def build_request(params)
|
21
|
+
builder do
|
22
|
+
checkout do
|
23
|
+
currency "BRL"
|
24
|
+
sender do
|
25
|
+
ip params[:remote_ip]
|
26
|
+
end if params.key?(:remote_ip)
|
27
|
+
items do
|
28
|
+
item do
|
29
|
+
id params[:id]
|
30
|
+
description params[:description]
|
31
|
+
amount format("%.2f", params[:amount].to_f)
|
32
|
+
quantity 1
|
33
|
+
end
|
34
|
+
end
|
35
|
+
shipping do
|
36
|
+
addressRequired false
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module PagSeguro
|
2
|
+
class PaymentOrders < Base
|
3
|
+
class Item < Hashie::Dash
|
4
|
+
include Hashie::Extensions::Dash::PropertyTranslation
|
5
|
+
include Hashie::Extensions::IgnoreUndeclared
|
6
|
+
include Hashie::Extensions::IndifferentAccess
|
7
|
+
|
8
|
+
property :amount, transform_with: ->(value) { format "R$%.2f", value }
|
9
|
+
property :scheduling_date, from: :schedulingDate, transform_with: ->(value) { value.to_date }
|
10
|
+
property :last_event_date, from: :lastEventDate, transform_with: ->(value) { value.to_date }
|
11
|
+
end
|
12
|
+
|
13
|
+
def fetch(code, params = {})
|
14
|
+
params.reverse_merge! status: 5, page: 0
|
15
|
+
response = api.get("/pre-approvals/#{code}/payment-orders", params)
|
16
|
+
orders = response.body["paymentOrders"] || {}
|
17
|
+
orders.values.map { |item| Item.new item }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module PagSeguro
|
2
|
+
class Plans < Base
|
3
|
+
def create(params)
|
4
|
+
params[:amount_per_payment] = to_money params[:amount_per_payment]
|
5
|
+
params = parameterize params
|
6
|
+
|
7
|
+
parse_body api.post("/pre-approvals/request", preApproval: params)
|
8
|
+
end
|
9
|
+
|
10
|
+
def update(code, params)
|
11
|
+
params[:amount_per_payment] = to_money params[:amount_per_payment]
|
12
|
+
params = parameterize params
|
13
|
+
|
14
|
+
api.put "/pre-approvals/request/#{code}/payment", params
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def to_money(value)
|
20
|
+
format "%.2f", value.to_f
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module PagSeguro
|
2
|
+
class Response < Hashie::Mash
|
3
|
+
protected
|
4
|
+
|
5
|
+
def convert_key(key)
|
6
|
+
key.to_s.underscore
|
7
|
+
end
|
8
|
+
|
9
|
+
def convert_value(val, duping = false)
|
10
|
+
obj = super
|
11
|
+
obj = self.class.new(obj) if Hashie::Mash == obj
|
12
|
+
obj
|
13
|
+
end
|
14
|
+
|
15
|
+
def initializing_reader(key)
|
16
|
+
ck = convert_key(key)
|
17
|
+
regular_writer(ck, self.class.new) unless key?(ck)
|
18
|
+
regular_reader(ck)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module PagSeguro
|
2
|
+
class Subscriptions < Base
|
3
|
+
def find_by_notification_code(code)
|
4
|
+
parse_body api.get("/pre-approvals/notifications/#{code}")
|
5
|
+
end
|
6
|
+
|
7
|
+
def create(params)
|
8
|
+
params = parameterize params
|
9
|
+
|
10
|
+
parse_body api.post("/pre-approvals", params)
|
11
|
+
end
|
12
|
+
|
13
|
+
def update(code, params)
|
14
|
+
params = parameterize params
|
15
|
+
|
16
|
+
api.put("/pre-approvals/#{code}/payment-method", params)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module PagSeguro
|
2
|
+
class Transactions < Base
|
3
|
+
STATUSES = {
|
4
|
+
"0" => :initiated,
|
5
|
+
"1" => :waiting_payment,
|
6
|
+
"2" => :in_analysis,
|
7
|
+
"3" => :paid,
|
8
|
+
"4" => :available,
|
9
|
+
"5" => :in_dispute,
|
10
|
+
"6" => :refunded,
|
11
|
+
"7" => :cancelled,
|
12
|
+
"8" => :chargeback_charged,
|
13
|
+
"9" => :contested
|
14
|
+
}
|
15
|
+
|
16
|
+
def find(code)
|
17
|
+
response = api.get "/v3/transactions/#{code}" do |conn|
|
18
|
+
conn.headers[:accept] = FORMATS[:xml]
|
19
|
+
end
|
20
|
+
|
21
|
+
parse_body response
|
22
|
+
end
|
23
|
+
|
24
|
+
def find_by_notification_code(code)
|
25
|
+
response = api.get "/v2/transactions/notifications/#{code}" do |conn|
|
26
|
+
conn.headers[:accept] = FORMATS[:xml]
|
27
|
+
end
|
28
|
+
|
29
|
+
parse_body response
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def parse_body(response)
|
35
|
+
parse(response.body["transaction"]).tap do |transaction|
|
36
|
+
transaction.status = STATUSES[transaction.status]
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/pagseguro.rb
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
require "pagseguro/version"
|
2
|
+
require "hashie"
|
3
|
+
require "active_support/core_ext/string/inflections"
|
4
|
+
require "active_support/core_ext/module/delegation"
|
5
|
+
require "active_support/core_ext/hash/reverse_merge"
|
6
|
+
require "active_support/core_ext/string/conversions"
|
7
|
+
require "active_support/core_ext/object/json"
|
8
|
+
|
9
|
+
module PagSeguro
|
10
|
+
autoload :API, "pagseguro/api"
|
11
|
+
autoload :Base, "pagseguro/base"
|
12
|
+
autoload :Subscriptions, "pagseguro/subscriptions"
|
13
|
+
autoload :PaymentOrders, "pagseguro/payment_orders"
|
14
|
+
autoload :Sessions, "pagseguro/sessions"
|
15
|
+
autoload :Plans, "pagseguro/plans"
|
16
|
+
autoload :Authorizations, "pagseguro/authorizations"
|
17
|
+
autoload :Checkout, "pagseguro/checkout"
|
18
|
+
autoload :Transactions, "pagseguro/transactions"
|
19
|
+
autoload :Response, "pagseguro/response"
|
20
|
+
|
21
|
+
FORMATS = {
|
22
|
+
json: "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1",
|
23
|
+
xml: "application/xml;charset=ISO-8859-1"
|
24
|
+
}
|
25
|
+
|
26
|
+
class << self
|
27
|
+
attr_accessor :token
|
28
|
+
attr_accessor :email
|
29
|
+
attr_accessor :app_id
|
30
|
+
attr_accessor :app_key
|
31
|
+
attr_accessor :environment
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.configure(&block)
|
35
|
+
instance_eval(&block)
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.uris
|
39
|
+
@uris ||= {
|
40
|
+
production: {
|
41
|
+
api: "https://ws.pagseguro.uol.com.br",
|
42
|
+
site: "https://pagseguro.uol.com.br"
|
43
|
+
},
|
44
|
+
sandbox: {
|
45
|
+
site: "https://sandbox.pagseguro.uol.com.br",
|
46
|
+
api: "https://ws.sandbox.pagseguro.uol.com.br"
|
47
|
+
}
|
48
|
+
}
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require_relative "pagseguro"
|
@@ -0,0 +1,31 @@
|
|
1
|
+
lib = File.expand_path("../lib", __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require "pagseguro/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "pagseguro_next"
|
7
|
+
spec.version = PagSeguro::VERSION
|
8
|
+
spec.authors = ["Rainer Borene"]
|
9
|
+
spec.email = ["rainerborene@gmail.com"]
|
10
|
+
|
11
|
+
spec.summary = "Yet another client to PagSeguro API"
|
12
|
+
spec.description = "Yet another client to PagSeguro API"
|
13
|
+
spec.homepage = "https://github.com/rainerborene/pagseguro_next"
|
14
|
+
spec.license = "MIT"
|
15
|
+
spec.files = %w(README.md Rakefile pagseguro_next.gemspec)
|
16
|
+
spec.files += Dir.glob("lib/**/*.rb")
|
17
|
+
spec.require_paths = ["lib"]
|
18
|
+
|
19
|
+
spec.add_dependency "faraday", [">= 0.7.4", "< 1.0"]
|
20
|
+
spec.add_dependency "faraday_middleware", "~> 0.13"
|
21
|
+
spec.add_dependency "hashie", [">= 3.4.6", "< 3.7.0"]
|
22
|
+
spec.add_dependency "nokogiri", ">= 1.6"
|
23
|
+
spec.add_dependency "activesupport", ">= 4"
|
24
|
+
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.17"
|
26
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
+
spec.add_development_dependency "minitest", "~> 5.0"
|
28
|
+
spec.add_development_dependency "vcr", "~> 4.0"
|
29
|
+
spec.add_development_dependency "webmock", "~> 3.5"
|
30
|
+
spec.add_development_dependency "pry"
|
31
|
+
end
|
metadata
ADDED
@@ -0,0 +1,225 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pagseguro_next
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Rainer Borene
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-04-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faraday
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.7.4
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '1.0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.7.4
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '1.0'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: faraday_middleware
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0.13'
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0.13'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: hashie
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 3.4.6
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 3.7.0
|
57
|
+
type: :runtime
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 3.4.6
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 3.7.0
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: nokogiri
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '1.6'
|
74
|
+
type: :runtime
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '1.6'
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: activesupport
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '4'
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '4'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: bundler
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - "~>"
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '1.17'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - "~>"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '1.17'
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: rake
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - "~>"
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '10.0'
|
116
|
+
type: :development
|
117
|
+
prerelease: false
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - "~>"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '10.0'
|
123
|
+
- !ruby/object:Gem::Dependency
|
124
|
+
name: minitest
|
125
|
+
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - "~>"
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '5.0'
|
130
|
+
type: :development
|
131
|
+
prerelease: false
|
132
|
+
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - "~>"
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '5.0'
|
137
|
+
- !ruby/object:Gem::Dependency
|
138
|
+
name: vcr
|
139
|
+
requirement: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - "~>"
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '4.0'
|
144
|
+
type: :development
|
145
|
+
prerelease: false
|
146
|
+
version_requirements: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - "~>"
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '4.0'
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
name: webmock
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - "~>"
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '3.5'
|
158
|
+
type: :development
|
159
|
+
prerelease: false
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - "~>"
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '3.5'
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
name: pry
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - ">="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '0'
|
172
|
+
type: :development
|
173
|
+
prerelease: false
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - ">="
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '0'
|
179
|
+
description: Yet another client to PagSeguro API
|
180
|
+
email:
|
181
|
+
- rainerborene@gmail.com
|
182
|
+
executables: []
|
183
|
+
extensions: []
|
184
|
+
extra_rdoc_files: []
|
185
|
+
files:
|
186
|
+
- README.md
|
187
|
+
- Rakefile
|
188
|
+
- lib/pagseguro.rb
|
189
|
+
- lib/pagseguro/api.rb
|
190
|
+
- lib/pagseguro/authorizations.rb
|
191
|
+
- lib/pagseguro/base.rb
|
192
|
+
- lib/pagseguro/checkout.rb
|
193
|
+
- lib/pagseguro/payment_orders.rb
|
194
|
+
- lib/pagseguro/plans.rb
|
195
|
+
- lib/pagseguro/response.rb
|
196
|
+
- lib/pagseguro/sessions.rb
|
197
|
+
- lib/pagseguro/subscriptions.rb
|
198
|
+
- lib/pagseguro/transactions.rb
|
199
|
+
- lib/pagseguro/version.rb
|
200
|
+
- lib/pagseguro_next.rb
|
201
|
+
- pagseguro_next.gemspec
|
202
|
+
homepage: https://github.com/rainerborene/pagseguro_next
|
203
|
+
licenses:
|
204
|
+
- MIT
|
205
|
+
metadata: {}
|
206
|
+
post_install_message:
|
207
|
+
rdoc_options: []
|
208
|
+
require_paths:
|
209
|
+
- lib
|
210
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - ">="
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '0'
|
215
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
|
+
requirements:
|
217
|
+
- - ">="
|
218
|
+
- !ruby/object:Gem::Version
|
219
|
+
version: '0'
|
220
|
+
requirements: []
|
221
|
+
rubygems_version: 3.0.3
|
222
|
+
signing_key:
|
223
|
+
specification_version: 4
|
224
|
+
summary: Yet another client to PagSeguro API
|
225
|
+
test_files: []
|