mercadopago-sdk 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -105
- data/lib/mercadopago.rb +18 -112
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da34e332c43d8d31d53ed4b4057aefcf3b1b3998c4641ae213f30688d4e3ea5e
|
4
|
+
data.tar.gz: 52d00679df1618c0a4fb1709b902f379982b6c918b8290b47be7f815c0781f77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: efa5823c5ed784e5252096764105d520936dd9a722bbf8206671b053cb28e2a23fa44378c067199d9e8d91d5b1cebee7d4709d003b88f63d7d302d7e7343a4c6
|
7
|
+
data.tar.gz: cd7ba8c4e5b6ed53eed2f737d98d2294cbe153327a9d461aa4866f8e31fe75c414bb77a41d1bd37161d787009ffdfbf3eba6ad814120dd5317d47fa062b206c9
|
data/README.md
CHANGED
@@ -18,13 +18,7 @@ First time using Mercado Pago? Create your [Mercado Pago account](https://www.me
|
|
18
18
|
|
19
19
|
2. Copy the access_token in the [credentials](https://www.mercadopago.com/mlb/account/credentials) section of the page and replace YOUR_ACCESS_TOKEN with it.
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
```ruby
|
24
|
-
preference = $mp.get_preference('PREFERENCE_ID')
|
25
|
-
|
26
|
-
puts $preferenceResult
|
27
|
-
```
|
21
|
+
That's it! Mercado Pago SDK has been successfully installed.
|
28
22
|
|
29
23
|
## 🌟 Getting Started
|
30
24
|
|
@@ -48,112 +42,22 @@ preference = $mp.create_preference(preference_data)
|
|
48
42
|
puts preference
|
49
43
|
```
|
50
44
|
|
51
|
-
|
52
|
-
|
53
|
-
```ruby
|
54
|
-
preferenceDataToUpdate = Hash["items" => Array(Array["title"=>"testUpdated", "quantity"=>1, "unit_price"=>2])]
|
55
|
-
|
56
|
-
preferenceUpdate = $mp.update_preference("PREFERENCE_ID", preferenceDataToUpdate)
|
57
|
-
|
58
|
-
puts preferenceUpdate
|
59
|
-
```
|
60
|
-
|
61
|
-
### Payments/Collections
|
62
|
-
|
63
|
-
#### Search for payments
|
64
|
-
|
65
|
-
```ruby
|
66
|
-
filters = Array["id"=>null, "external_reference"=>null]
|
67
|
-
|
68
|
-
searchResult = $mp.search_payment(filters)
|
69
|
-
|
70
|
-
puts searchResult
|
71
|
-
```
|
72
|
-
|
73
|
-
#### Get payment data
|
74
|
-
|
75
|
-
```ruby
|
76
|
-
paymentInfo = $mp.get_payment("ID")
|
77
|
-
|
78
|
-
puts paymentInfo
|
79
|
-
```
|
80
|
-
|
81
|
-
### Cancel (only for pending payments)
|
45
|
+
## 📚 Documentation
|
82
46
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
puts result
|
88
|
-
```
|
89
|
-
|
90
|
-
### Refund (only for accredited payments)
|
91
|
-
|
92
|
-
```ruby
|
93
|
-
result = $mp.refund_payment("ID");
|
94
|
-
|
95
|
-
// Show result
|
96
|
-
puts result
|
97
|
-
```
|
98
|
-
|
99
|
-
<a name="custom-checkout"></a>
|
100
|
-
## Customized checkout
|
101
|
-
|
102
|
-
### Configure your credentials
|
103
|
-
|
104
|
-
* Get your **ACCESS_TOKEN** in the following address:
|
105
|
-
* Argentina: [https://www.mercadopago.com/mla/account/credentials](https://www.mercadopago.com/mla/account/credentials)
|
106
|
-
* Brazil: [https://www.mercadopago.com/mlb/account/credentials](https://www.mercadopago.com/mlb/account/credentials)
|
107
|
-
* Mexico: [https://www.mercadopago.com/mlm/account/credentials](https://www.mercadopago.com/mlm/account/credentials)
|
108
|
-
* Venezuela: [https://www.mercadopago.com/mlv/account/credentials](https://www.mercadopago.com/mlv/account/credentials)
|
109
|
-
* Colombia: [https://www.mercadopago.com/mco/account/credentials](https://www.mercadopago.com/mco/account/credentials)
|
110
|
-
|
111
|
-
```ruby
|
112
|
-
require 'mercadopago.rb'
|
113
|
-
|
114
|
-
$mp = MercadoPago.new('ACCESS_TOKEN')
|
115
|
-
```
|
116
|
-
|
117
|
-
### Create payment
|
118
|
-
|
119
|
-
```ruby
|
120
|
-
$mp.post ("/v1/payments", payment_data);
|
121
|
-
```
|
122
|
-
|
123
|
-
### Create customer
|
124
|
-
|
125
|
-
```ruby
|
126
|
-
$mp.post ("/v1/customers", Hash["email" => "email@test.com"]);
|
127
|
-
```
|
47
|
+
Visit our Dev Site for further information regarding:
|
48
|
+
- Payments APIs: [Spanish](https://www.mercadopago.com.ar/developers/es/guides/payments/api/introduction/) / [Portuguese](https://www.mercadopago.com.br/developers/pt/guides/payments/api/introduction/)
|
49
|
+
- Mercado Pago checkout: [Spanish](https://www.mercadopago.com.ar/developers/es/guides/payments/web-payment-checkout/introduction/) / [Portuguese](https://www.mercadopago.com.br/developers/pt/guides/payments/web-payment-checkout/introduction/)
|
50
|
+
- Web Tokenize checkout: [Spanish](https://www.mercadopago.com.ar/developers/es/guides/payments/web-tokenize-checkout/introduction/) / [Portuguese](https://www.mercadopago.com.br/developers/pt/guides/payments/web-tokenize-checkout/introduction/)
|
128
51
|
|
129
52
|
Check our official code reference to explore all available functionalities.
|
130
53
|
|
131
|
-
|
132
|
-
$mp.get ("/v1/customers/CUSTOMER_ID");
|
133
|
-
```
|
54
|
+
## ❤️ Support
|
134
55
|
|
135
56
|
If you require technical support, please contact our support team at [developers.mercadopago.com](https://developers.mercadopago.com)
|
136
57
|
|
137
58
|
## 🏻 License
|
138
59
|
|
139
|
-
```ruby
|
140
|
-
// Get a resource, with optional URL params. Also you can disable authentication for public APIs
|
141
|
-
$mp.get ("/resource/uri", [params], [authenticate=true])
|
142
|
-
|
143
|
-
// Create a resource with "data" and optional URL params.
|
144
|
-
$mp.post ("/resource/uri", data, [params])
|
145
|
-
|
146
|
-
// Update a resource with "data" and optional URL params.
|
147
|
-
$mp.put ("/resource/uri", data, [params])
|
148
|
-
|
149
|
-
// Delete a resource with optional URL params.
|
150
|
-
$mp.delete ("/resource/uri", [params])
|
151
60
|
```
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
```ruby
|
156
|
-
$sites = $mp.get ("/sites", null, false)
|
157
|
-
|
158
|
-
puts $sites
|
61
|
+
MIT license. Copyright (c) 2018 - Mercado Pago / Mercado Libre
|
62
|
+
For more information, see the LICENSE file.
|
159
63
|
```
|
data/lib/mercadopago.rb
CHANGED
@@ -23,6 +23,7 @@ class MercadoPago
|
|
23
23
|
@ll_access_token = args.at(0) if args.size == 1
|
24
24
|
|
25
25
|
@rest_client = RestClient.new()
|
26
|
+
@rest_client.set_access_token(get_access_token)
|
26
27
|
@sandbox = false
|
27
28
|
end
|
28
29
|
|
@@ -74,15 +75,9 @@ class MercadoPago
|
|
74
75
|
|
75
76
|
# Get information for specific payment
|
76
77
|
def get_payment(id)
|
77
|
-
begin
|
78
|
-
access_token = get_access_token
|
79
|
-
rescue => e
|
80
|
-
return e.message
|
81
|
-
end
|
82
|
-
|
83
78
|
uri_prefix = @sandbox ? "/sandbox" : ""
|
84
79
|
|
85
|
-
@rest_client.get(uri_prefix + "/v1/payments/" + id
|
80
|
+
@rest_client.get(uri_prefix + "/v1/payments/" + id)
|
86
81
|
|
87
82
|
end
|
88
83
|
|
@@ -92,61 +87,30 @@ class MercadoPago
|
|
92
87
|
|
93
88
|
# Get information for specific authorized payment
|
94
89
|
def get_authorized_payment(id)
|
95
|
-
|
96
|
-
access_token = get_access_token
|
97
|
-
rescue => e
|
98
|
-
return e.message
|
99
|
-
end
|
100
|
-
|
101
|
-
@rest_client.get("/authorized_payments/" + id + "?access_token=" + access_token)
|
90
|
+
@rest_client.get("/authorized_payments/" + id)
|
102
91
|
end
|
103
92
|
|
104
93
|
# Refund accredited payment
|
105
94
|
def refund_payment(id)
|
106
|
-
begin
|
107
|
-
access_token = get_access_token
|
108
|
-
rescue => e
|
109
|
-
return e.message
|
110
|
-
end
|
111
|
-
|
112
|
-
|
113
95
|
refund_status = {}
|
114
|
-
@rest_client.post("/v1/payments/" + id
|
96
|
+
@rest_client.post("/v1/payments/" + id, refund_status)
|
115
97
|
|
116
98
|
end
|
117
99
|
|
118
100
|
# Cancel pending payment
|
119
101
|
def cancel_payment(id)
|
120
|
-
begin
|
121
|
-
access_token = get_access_token
|
122
|
-
rescue => e
|
123
|
-
return e.message
|
124
|
-
end
|
125
|
-
|
126
102
|
cancel_status = {"status" => "cancelled"}
|
127
|
-
@rest_client.put("/v1/payments/" + id
|
103
|
+
@rest_client.put("/v1/payments/" + id, cancel_status)
|
128
104
|
end
|
129
105
|
|
130
106
|
# Cancel preapproval payment
|
131
107
|
def cancel_preapproval_payment(id)
|
132
|
-
begin
|
133
|
-
access_token = get_access_token
|
134
|
-
rescue => e
|
135
|
-
return e.message
|
136
|
-
end
|
137
|
-
|
138
108
|
cancel_status = {"status" => "cancelled"}
|
139
|
-
@rest_client.put("/preapproval/" + id
|
109
|
+
@rest_client.put("/preapproval/" + id, cancel_status)
|
140
110
|
end
|
141
111
|
|
142
112
|
# Search payments according to filters, with pagination
|
143
113
|
def search_payment(filters, offset=0, limit=0)
|
144
|
-
begin
|
145
|
-
access_token = get_access_token
|
146
|
-
rescue => e
|
147
|
-
return e.message
|
148
|
-
end
|
149
|
-
|
150
114
|
filters["offset"] = offset
|
151
115
|
filters["limit"] = limit
|
152
116
|
|
@@ -154,63 +118,33 @@ class MercadoPago
|
|
154
118
|
|
155
119
|
uri_prefix = @sandbox ? "/sandbox" : ""
|
156
120
|
|
157
|
-
@rest_client.get(uri_prefix + "/v1/payments/search?" + filters
|
121
|
+
@rest_client.get(uri_prefix + "/v1/payments/search?" + filters)
|
158
122
|
|
159
123
|
end
|
160
124
|
|
161
125
|
# Create a checkout preference
|
162
126
|
def create_preference(preference)
|
163
|
-
|
164
|
-
access_token = get_access_token
|
165
|
-
rescue => e
|
166
|
-
return e.message
|
167
|
-
end
|
168
|
-
|
169
|
-
@rest_client.post("/checkout/preferences?access_token=" + access_token, preference)
|
127
|
+
@rest_client.post("/checkout/preferences", preference)
|
170
128
|
end
|
171
129
|
|
172
130
|
# Update a checkout preference
|
173
131
|
def update_preference(id, preference)
|
174
|
-
|
175
|
-
access_token = get_access_token
|
176
|
-
rescue => e
|
177
|
-
return e.message
|
178
|
-
end
|
179
|
-
|
180
|
-
@rest_client.put("/checkout/preferences/" + id + "?access_token=" + access_token, preference)
|
132
|
+
@rest_client.put("/checkout/preferences/" + id, preference)
|
181
133
|
end
|
182
134
|
|
183
135
|
# Get a checkout preference
|
184
136
|
def get_preference(id)
|
185
|
-
|
186
|
-
access_token = get_access_token
|
187
|
-
rescue => e
|
188
|
-
return e.message
|
189
|
-
end
|
190
|
-
|
191
|
-
@rest_client.get("/checkout/preferences/" + id + "?access_token=" + access_token)
|
137
|
+
@rest_client.get("/checkout/preferences/" + id)
|
192
138
|
end
|
193
139
|
|
194
140
|
# Create a preapproval payment
|
195
141
|
def create_preapproval_payment(preapproval_payment)
|
196
|
-
|
197
|
-
access_token = get_access_token
|
198
|
-
rescue => e
|
199
|
-
return e.message
|
200
|
-
end
|
201
|
-
|
202
|
-
@rest_client.post("/preapproval?access_token=" + access_token, preapproval_payment)
|
142
|
+
@rest_client.post("/preapproval", preapproval_payment)
|
203
143
|
end
|
204
144
|
|
205
145
|
# Get a preapproval payment
|
206
146
|
def get_preapproval_payment(id)
|
207
|
-
|
208
|
-
access_token = get_access_token
|
209
|
-
rescue => e
|
210
|
-
return e.message
|
211
|
-
end
|
212
|
-
|
213
|
-
@rest_client.get("/preapproval/" + id + "?access_token=" + access_token)
|
147
|
+
@rest_client.get("/preapproval/" + id)
|
214
148
|
end
|
215
149
|
|
216
150
|
# Generic resource get
|
@@ -219,16 +153,6 @@ class MercadoPago
|
|
219
153
|
params = Hash.new
|
220
154
|
end
|
221
155
|
|
222
|
-
if authenticate
|
223
|
-
begin
|
224
|
-
access_token = get_access_token
|
225
|
-
rescue => e
|
226
|
-
return e.message
|
227
|
-
end
|
228
|
-
|
229
|
-
params["access_token"] = access_token
|
230
|
-
end
|
231
|
-
|
232
156
|
if not params.empty?
|
233
157
|
uri << (if uri.include? "?" then "&" else "?" end) << build_query(params)
|
234
158
|
end
|
@@ -242,14 +166,6 @@ class MercadoPago
|
|
242
166
|
params = Hash.new
|
243
167
|
end
|
244
168
|
|
245
|
-
begin
|
246
|
-
access_token = get_access_token
|
247
|
-
rescue => e
|
248
|
-
return e.message
|
249
|
-
end
|
250
|
-
|
251
|
-
params["access_token"] = access_token
|
252
|
-
|
253
169
|
if not params.empty?
|
254
170
|
uri << (if uri.include? "?" then "&" else "?" end) << build_query(params)
|
255
171
|
end
|
@@ -263,14 +179,6 @@ class MercadoPago
|
|
263
179
|
params = Hash.new
|
264
180
|
end
|
265
181
|
|
266
|
-
begin
|
267
|
-
access_token = get_access_token
|
268
|
-
rescue => e
|
269
|
-
return e.message
|
270
|
-
end
|
271
|
-
|
272
|
-
params["access_token"] = access_token
|
273
|
-
|
274
182
|
if not params.empty?
|
275
183
|
uri << (if uri.include? "?" then "&" else "?" end) << build_query(params)
|
276
184
|
end
|
@@ -284,14 +192,6 @@ class MercadoPago
|
|
284
192
|
params = Hash.new
|
285
193
|
end
|
286
194
|
|
287
|
-
begin
|
288
|
-
access_token = get_access_token
|
289
|
-
rescue => e
|
290
|
-
return e.message
|
291
|
-
end
|
292
|
-
|
293
|
-
params["access_token"] = access_token
|
294
|
-
|
295
195
|
if not params.empty?
|
296
196
|
uri << (if uri.include? "?" then "&" else "?" end) << build_query(params)
|
297
197
|
end
|
@@ -327,6 +227,7 @@ class MercadoPago
|
|
327
227
|
@platform_id = nil
|
328
228
|
@integrator_id = nil
|
329
229
|
@corporation_id = nil
|
230
|
+
@access_token = nil
|
330
231
|
end
|
331
232
|
|
332
233
|
def set_debug_logger(debug_logger)
|
@@ -345,6 +246,10 @@ class MercadoPago
|
|
345
246
|
@corporation_id = corporation_id
|
346
247
|
end
|
347
248
|
|
249
|
+
def set_access_token(access_token)
|
250
|
+
@access_token = access_token
|
251
|
+
end
|
252
|
+
|
348
253
|
def exec(method, uri, data, content_type)
|
349
254
|
if not data.nil? and content_type == MIME_JSON
|
350
255
|
data = data.to_json
|
@@ -358,6 +263,7 @@ class MercadoPago
|
|
358
263
|
'Accept' => MIME_JSON
|
359
264
|
}
|
360
265
|
|
266
|
+
headers['Authorization'] = "Bearer " + @access_token if @access_token != nil
|
361
267
|
headers['x-platform-id'] = @platform_id if @platform_id != nil
|
362
268
|
headers['x-integrator-id'] = @integrator_id if @integrator_id != nil
|
363
269
|
headers['x-corporation-id'] = @corporation_id if @corporation_id != nil
|
data/lib/version.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
MERCADO_PAGO_VERSION = '1.
|
1
|
+
MERCADO_PAGO_VERSION = '1.3.0' unless defined?(MERCADO_PAGO_VERSION)
|
2
2
|
PRODUCT_ID = 'bc32a7vtrpp001u8nhjg'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mercadopago-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- maticompiano
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|