mercadopago-sdk 1.2.0 → 1.3.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 +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
|