mercadopago-api 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a264f88b690087c2ea53b0bcb7b42ce594c59f0b
4
- data.tar.gz: a8dd0abab34f50e8535c786c233f4c6c9dc8b9ac
3
+ metadata.gz: d82c002011ea32c8553db542e64a6d07c2b4f972
4
+ data.tar.gz: bd5e5b5c61cca31dd17cc00762f9b66d365757fa
5
5
  SHA512:
6
- metadata.gz: 1cd48c663eab6117ce1b8bd80b8017699f64039ddbb27ab3b5dad1158d65367d90d2f85b27e749d0a75c2032fa0703a2c18b195c1b51c6212ca8e6bde88d9bb9
7
- data.tar.gz: a253b69eafb095cdd5117982bf2cc85e87aa7aacd94d3a4b06728b3d36c03bba77c7a56802f0884de68954dfdb609859b99e2f4db43aa4b18ee9bf8ff9ee5e27
6
+ metadata.gz: 7f206660a89b924531a42305a6257df866fb281a179c4927f23227fade0ee6ba3b4d1c7d2a0fefa6eae25b8c31a6e71760bcdb9f7a1344687941f51f6ba293a3
7
+ data.tar.gz: 41a3716fa1d8f9995434e1a4cfb3793ba67f914c0ebad3e8746cd1ea499bb352d4785afe28f700b32f31f09a5d504a28ba6ceafc2a13242619dd8bd309036902
data/README.md CHANGED
@@ -1,24 +1,195 @@
1
1
  # Mercadopago::Api
2
2
 
3
- TODO: Write a gem description
3
+ This is a Gem to manage mercadopago using ruby, you can use the Gem like a simple Sdk to mercadopago api or like a extension module with another options.
4
4
 
5
5
  ## Installation
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
- gem 'mercadopago-api'
9
+ gem 'mercadopago-api'
10
10
 
11
11
  And then execute:
12
12
 
13
- $ bundle
13
+ $ bundle install
14
14
 
15
15
  Or install it yourself as:
16
16
 
17
- $ gem install mercadopago-api
17
+ $ gem install mercadopago-api
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO: Write usage instructions here
21
+ The gem has to ways of use it, the basic way like a normal SDK
22
+
23
+ ### Usage like SDK
24
+
25
+ For normal use
26
+
27
+ mp_client = Mercadopago::Sdk.new(client_id, client_secret)
28
+
29
+ Accept a optional parameter true or false to activate sandbox mode
30
+
31
+ sandbox_client = Mercadopago::Sdk.new(client_id, client_secret, true)
32
+
33
+ #### Manage Preference
34
+
35
+ Create a checkout preference to create a link to mercadopago checkout
36
+
37
+ preference = mp_client.create_checkout_preference(data)
38
+
39
+ Data format is describe [here](http://developers.mercadopago.com/documentacion/api/preferences#glossary)
40
+
41
+ The minimal hash for data is:
42
+
43
+ data = {
44
+ :items => [
45
+ {
46
+ :title => "Title of product",
47
+ :currency_id => "VEF",
48
+ :unit_price => 2000.50,
49
+ :quantity => 2,
50
+ }
51
+ ]
52
+ }
53
+
54
+ The api response wil gave this format, will be a ruby hash and the key values will be like string not like symbols
55
+
56
+ {
57
+ "code": 200,
58
+ "external_reference": "Reference_1234",
59
+ "items": [
60
+ {
61
+ "id": "Code",
62
+ "title": "Title of what youre paying for",
63
+ "description": "Description",
64
+ "quantity": 1,
65
+ "unit_price": 50.5,
66
+ "currency_id": "Currency",
67
+ "picture_url": "https://www.mercadopago.com/org-img/MP3/home/logomp3.gif"
68
+ }
69
+ ], "date_created": "2011-08-16T21:28:42.606-04:00",
70
+ "id": "preference_identifier",
71
+ "collector_id": "your_ID_as_seller",
72
+ "init_point": "checkout-access-URL",
73
+ "payer": {
74
+ "email": "payer@email.com",
75
+ "name": "payer-name",
76
+ "surname": "payer-surname"
77
+ },
78
+ "back_urls": {
79
+ "success": "https://www.success.com",
80
+ "failure": "http://www.failure.com",
81
+ "pending": "http://www.pending.com"
82
+ },
83
+ "payment_methods": {
84
+ "excluded_payment_methods": [
85
+ {
86
+ "id": "amex"
87
+ }
88
+ ],
89
+ "excluded_payment_types": [
90
+ {
91
+ "id": "ticket"
92
+ }
93
+ ],
94
+ "installments": 12
95
+ }
96
+ }
97
+
98
+ If you have to search a previus create preference
99
+
100
+ preference = mp_client.get_checkout_preference(preference_id)
101
+
102
+ If you have to update a Preference
103
+
104
+ preference = mp_client.update_checkout_preference(preference_id, new_data)
105
+
106
+ Get a notification (IPN) payment info, details [here](http://developers.mercadopago.com/documentation/instant-payment-notifications)
107
+
108
+ payment = mp_client.get_payment_info(notificaion_payment_id)
109
+
110
+ Search a payment by payment_id, you can get that when you set your back_urls on checkout Preference, the api will send using query string parameters to your back_url (the api will responde in this case a parameter call collection_id == payment_id)
111
+
112
+ payment = mp_client.search_payment(payment_id)
113
+
114
+ The response for a payment search is:
115
+
116
+ {
117
+ collection: {
118
+ id: 52675155,
119
+ site_id: "Country ID",
120
+ operation_type: "regular_payment",
121
+ order_id: "4442154",
122
+ external_reference: "150671633",
123
+ status: "approved",
124
+ status_detail: "accredited",
125
+ payment_type: "ticket",
126
+ date_created: "2011-09-02T04:00:000Z",
127
+ last_modified: "2011-09-12T02:52:530Z",
128
+ date_approved: "2011-09-02T02:49:530Z",
129
+ money_release_date: "2011-09-09T02:49:530Z",
130
+ currency_id: "Currency",
131
+ transaction_amount: 50.5,
132
+ shipping_cost: 0,
133
+ finance_charge: null,
134
+ total_paid_amount: 50.5,
135
+ net_received_amount: 0,
136
+ reason: "Title of what youre paying for",
137
+ payer: {
138
+ id: 36073078,
139
+ first_name: "payer-name",
140
+ last_name: "payer-surname",
141
+ email: "payer@email.com",
142
+ nickname: "payer-MercadoLibre's-nickname"
143
+ phone: {
144
+ area_code: "011",
145
+ number: "3486 5039",
146
+ extension: null
147
+ }
148
+ },
149
+ collector: {
150
+ id: 68961616,
151
+ first_name: "collector-name",
152
+ last_name: "collector-surname",
153
+ email: "collector@email.com",
154
+ nickname: "collector-MercadoLibre's-nickname"
155
+ phone: {
156
+ area_code: "211",
157
+ number: "3486 5039",
158
+ extension: null
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ Search in all your payments given a hash, this hash will set your search parameters. For more details of what parameters you can use to search look [here](http://developers.mercadopago.com/documentation/search-received-payments#search-filters)
165
+
166
+ search_query = { :id => "13232333" }
167
+ payments = search_payments_where( search_query )
168
+
169
+ # Search by status
170
+ search_query = { :status => "approved" }
171
+ payments = search_payments_where( search_query )
172
+
173
+ the response of that will be:
174
+
175
+ {
176
+ paging: {
177
+ total: 76,
178
+ limit: 2,
179
+ offset: 10
180
+ },
181
+ results: [
182
+ collention ## one array of collection, see previus response code
183
+ ]
184
+ }
185
+
186
+ TODO: refund_payment
187
+
188
+ TODO: cancel_payment
189
+
190
+ ### Usage like extension
191
+
192
+ TODO: write this
22
193
 
23
194
  ## Contributing
24
195
 
data/Rakefile CHANGED
@@ -20,8 +20,8 @@ end
20
20
  desc 'Tags version, pushes to remote, and pushes gem'
21
21
  task :release => :build do
22
22
  sh "git tag v#{Mercadopago::VERSION}"
23
- sh "git push origin develop"
24
- sh "git push origin v#{Mercadopago::VERSION}"
23
+ sh "git push github master"
24
+ sh "git push github v#{Mercadopago::VERSION}"
25
25
  sh "gem push mercadopago-api-#{Mercadopago::VERSION}.gem"
26
26
  end
27
27
 
@@ -51,7 +51,7 @@ module Mercadopago
51
51
  @config = config
52
52
  end
53
53
 
54
- def set_credentials(client_id, client_secret)
54
+ def set_credentials(client_id, client_secret)
55
55
  @credentials = {
56
56
  :client_id => client_id,
57
57
  :client_secret => client_secret
@@ -24,7 +24,7 @@ module Mercadopago
24
24
  }
25
25
  result = Rest::exec(:post, url, data)
26
26
  if result[:code] == 200
27
- @access_token = result["access_token"]
27
+ @access_token = result["access_token"]
28
28
  end
29
29
  end
30
30
 
@@ -1,3 +1,3 @@
1
1
  module Mercadopago
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["higher.vnf@gmail.com"]
11
11
  spec.description = %q{Gem to manage the mercadopago api}
12
12
  spec.summary = %q{This gem manage the Mercadopago api using rest-client and mercadopago rest api}
13
- spec.homepage = ""
13
+ spec.homepage = "https://github.com/highercomve/mercadopago-api"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -23,5 +23,4 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency 'rspec'
24
24
  spec.add_development_dependency "bundler", "~> 1.3"
25
25
  spec.add_development_dependency "rake"
26
- spec.add_development_dependency 'test'
27
26
  end
@@ -4,8 +4,8 @@ require 'rspec'
4
4
  # setup test environment
5
5
  class MercadopagoTest < Mercadopago::Mp
6
6
  CREDENTIALS = {
7
- :client_id => "5453328363694708",
8
- :client_secret => "wxO9sB8Mer7wFzrjHUHLHC3iGygc4zgm"
7
+ :client_id => "your-client-id-on-mercadopago",
8
+ :client_secret => "your-client-secret-on-mercadopago"
9
9
  }
10
10
 
11
11
  CONFIG = {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mercadopago-api
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
  - Sergio Marin
@@ -80,20 +80,6 @@ dependencies:
80
80
  - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: test
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
83
  description: Gem to manage the mercadopago api
98
84
  email:
99
85
  - higher.vnf@gmail.com
@@ -115,7 +101,7 @@ files:
115
101
  - mercadopago-api.gemspec
116
102
  - spec/mercadopagoapi_spec.rb
117
103
  - spec/spec_helper.rb
118
- homepage: ''
104
+ homepage: https://github.com/highercomve/mercadopago-api
119
105
  licenses:
120
106
  - MIT
121
107
  metadata: {}
@@ -135,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
121
  version: '0'
136
122
  requirements: []
137
123
  rubyforge_project:
138
- rubygems_version: 2.0.3
124
+ rubygems_version: 2.0.7
139
125
  signing_key:
140
126
  specification_version: 4
141
127
  summary: This gem manage the Mercadopago api using rest-client and mercadopago rest