mercadopago-sdk 1.3.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +10 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +28 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  5. data/.github/workflows/ruby.yml +35 -0
  6. data/.rubocop.yml +1 -0
  7. data/.rubocop_todo.yml +104 -0
  8. data/.ruby-version +1 -0
  9. data/CODE_OF_CONDUCT.md +74 -0
  10. data/CODING_GUIDELINES.md +70 -0
  11. data/CONTRIBUTING.md +57 -0
  12. data/Gemfile +6 -1
  13. data/Gemfile.lock +45 -17
  14. data/LICENSE.txt +21 -0
  15. data/README.md +51 -27
  16. data/Rakefile +3 -1
  17. data/docs/CODE_OF_CONDUCT_md.html +154 -0
  18. data/docs/CODING_GUIDELINES_md.html +188 -0
  19. data/docs/CONTRIBUTING_md.html +165 -0
  20. data/docs/LICENSE_txt.html +96 -0
  21. data/docs/Mercadopago.html +123 -0
  22. data/docs/Mercadopago/AdvancedPayment.html +279 -0
  23. data/docs/Mercadopago/Card.html +204 -0
  24. data/docs/Mercadopago/CardToken.html +160 -0
  25. data/docs/Mercadopago/Config.html +266 -0
  26. data/docs/Mercadopago/Customer.html +228 -0
  27. data/docs/Mercadopago/DisbursementRefund.html +183 -0
  28. data/docs/Mercadopago/HttpClient.html +249 -0
  29. data/docs/Mercadopago/IdentificationType.html +136 -0
  30. data/docs/Mercadopago/MPBase.html +316 -0
  31. data/docs/Mercadopago/MerchantOrder.html +209 -0
  32. data/docs/Mercadopago/Payment.html +208 -0
  33. data/docs/Mercadopago/PaymentMethods.html +136 -0
  34. data/docs/Mercadopago/Preference.html +184 -0
  35. data/docs/Mercadopago/Refund.html +160 -0
  36. data/docs/Mercadopago/RequestOptions.html +433 -0
  37. data/docs/Mercadopago/SDK.html +528 -0
  38. data/docs/Mercadopago/User.html +136 -0
  39. data/docs/README_md.html +181 -0
  40. data/docs/created.rid +25 -0
  41. data/docs/css/fonts.css +167 -0
  42. data/docs/css/rdoc.css +619 -0
  43. data/docs/fonts/Lato-Light.ttf +0 -0
  44. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  45. data/docs/fonts/Lato-Regular.ttf +0 -0
  46. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  47. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  48. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  49. data/docs/images/add.png +0 -0
  50. data/docs/images/arrow_up.png +0 -0
  51. data/docs/images/brick.png +0 -0
  52. data/docs/images/brick_link.png +0 -0
  53. data/docs/images/bug.png +0 -0
  54. data/docs/images/bullet_black.png +0 -0
  55. data/docs/images/bullet_toggle_minus.png +0 -0
  56. data/docs/images/bullet_toggle_plus.png +0 -0
  57. data/docs/images/date.png +0 -0
  58. data/docs/images/delete.png +0 -0
  59. data/docs/images/find.png +0 -0
  60. data/docs/images/loadingAnimation.gif +0 -0
  61. data/docs/images/macFFBgHack.png +0 -0
  62. data/docs/images/package.png +0 -0
  63. data/docs/images/page_green.png +0 -0
  64. data/docs/images/page_white_text.png +0 -0
  65. data/docs/images/page_white_width.png +0 -0
  66. data/docs/images/plugin.png +0 -0
  67. data/docs/images/ruby.png +0 -0
  68. data/docs/images/tag_blue.png +0 -0
  69. data/docs/images/tag_green.png +0 -0
  70. data/docs/images/transparent.png +0 -0
  71. data/docs/images/wrench.png +0 -0
  72. data/docs/images/wrench_orange.png +0 -0
  73. data/docs/images/zoom.png +0 -0
  74. data/docs/index.html +109 -0
  75. data/docs/js/darkfish.js +84 -0
  76. data/docs/js/navigation.js +105 -0
  77. data/docs/js/navigation.js.gz +0 -0
  78. data/docs/js/search.js +110 -0
  79. data/docs/js/search_index.js +1 -0
  80. data/docs/js/search_index.js.gz +0 -0
  81. data/docs/js/searcher.js +229 -0
  82. data/docs/js/searcher.js.gz +0 -0
  83. data/docs/table_of_contents.html +562 -0
  84. data/lib/mercadopago.rb +24 -295
  85. data/lib/mercadopago/config/config.rb +42 -0
  86. data/lib/mercadopago/config/request_options.rb +85 -0
  87. data/lib/mercadopago/core/mp_base.rb +77 -0
  88. data/lib/mercadopago/http/http_client.rb +74 -0
  89. data/lib/mercadopago/resources/advanced_payment.rb +48 -0
  90. data/lib/mercadopago/resources/card.rb +31 -0
  91. data/lib/mercadopago/resources/card_token.rb +19 -0
  92. data/lib/mercadopago/resources/customer.rb +36 -0
  93. data/lib/mercadopago/resources/disbursement_refund.rb +24 -0
  94. data/lib/mercadopago/resources/identification_type.rb +13 -0
  95. data/lib/mercadopago/resources/merchant_order.rb +32 -0
  96. data/lib/mercadopago/resources/payment.rb +35 -0
  97. data/lib/mercadopago/resources/payment_methods.rb +13 -0
  98. data/lib/mercadopago/resources/preference.rb +26 -0
  99. data/lib/mercadopago/resources/refund.rb +24 -0
  100. data/lib/mercadopago/resources/user.rb +13 -0
  101. data/lib/mercadopago/sdk.rb +85 -0
  102. data/mercadopago.gemspec +11 -11
  103. data/tests/test_card.rb +79 -0
  104. data/tests/test_card_token.rb +39 -0
  105. data/tests/test_customer.rb +54 -0
  106. data/tests/test_identification_type.rb +16 -0
  107. data/tests/test_merchant_order.rb +94 -0
  108. data/tests/test_payment.rb +102 -0
  109. data/tests/test_payment_methods.rb +14 -0
  110. data/tests/test_preference.rb +49 -0
  111. data/tests/test_refund.rb +88 -0
  112. data/tests/test_user.rb +17 -0
  113. data/tests/tests.rb +12 -56
  114. metadata +127 -24
  115. data/.travis.yml +0 -14
  116. data/examples/checkout-buttons/basic_preference/button.rb +0 -28
  117. data/examples/instant-payment-notifications/receive-ipn.rb +0 -25
  118. data/examples/payment-search/search-approved-payments.rb +0 -23
  119. data/examples/payment-search/search-creditcard-payments.rb +0 -23
  120. data/examples/payment-search/search-funded-payments-by-name.rb +0 -23
  121. data/examples/payment-search/search-payments-from-email-and-date.rb +0 -23
  122. data/examples/payment-search/search-payments.rb +0 -23
  123. data/examples/preapproval-payments/button.rb +0 -42
  124. data/lib/ssl_options_patch.rb +0 -15
  125. data/lib/version.rb +0 -2
  126. data/travis_Gemfile +0 -4
data/docs/css/rdoc.css ADDED
@@ -0,0 +1,619 @@
1
+ /*
2
+ * "Darkfish" Rdoc CSS
3
+ * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $
4
+ *
5
+ * Author: Michael Granger <ged@FaerieMUD.org>
6
+ *
7
+ */
8
+
9
+ /* vim: ft=css et sw=2 ts=2 sts=2 */
10
+ /* Base Green is: #6C8C22 */
11
+
12
+ .hide { display: none !important; }
13
+
14
+ * { padding: 0; margin: 0; }
15
+
16
+ body {
17
+ background: #fafafa;
18
+ font-family: Lato, sans-serif;
19
+ font-weight: 300;
20
+ }
21
+
22
+ h1 span,
23
+ h2 span,
24
+ h3 span,
25
+ h4 span,
26
+ h5 span,
27
+ h6 span {
28
+ position: relative;
29
+
30
+ display: none;
31
+ padding-left: 1em;
32
+ line-height: 0;
33
+ vertical-align: baseline;
34
+ font-size: 10px;
35
+ }
36
+
37
+ h1 span { top: -1.3em; }
38
+ h2 span { top: -1.2em; }
39
+ h3 span { top: -1.0em; }
40
+ h4 span { top: -0.8em; }
41
+ h5 span { top: -0.5em; }
42
+ h6 span { top: -0.5em; }
43
+
44
+ h1:hover span,
45
+ h2:hover span,
46
+ h3:hover span,
47
+ h4:hover span,
48
+ h5:hover span,
49
+ h6:hover span {
50
+ display: inline;
51
+ }
52
+
53
+ h1:target,
54
+ h2:target,
55
+ h3:target,
56
+ h4:target,
57
+ h5:target,
58
+ h6:target {
59
+ margin-left: -10px;
60
+ border-left: 10px solid #f1edba;
61
+ }
62
+
63
+ :link,
64
+ :visited {
65
+ color: #6C8C22;
66
+ text-decoration: none;
67
+ }
68
+
69
+ :link:hover,
70
+ :visited:hover {
71
+ border-bottom: 1px dotted #6C8C22;
72
+ }
73
+
74
+ code,
75
+ pre {
76
+ font-family: "Source Code Pro", Monaco, monospace;
77
+ background-color: rgba(27,31,35,0.05);
78
+ padding: 0em 0.2em;
79
+ border-radius: 0.2em;
80
+ }
81
+
82
+ /* @group Generic Classes */
83
+
84
+ .initially-hidden {
85
+ display: none;
86
+ }
87
+
88
+ #search-field {
89
+ width: 98%;
90
+ background: white;
91
+ border: none;
92
+ height: 1.5em;
93
+ -webkit-border-radius: 4px;
94
+ -moz-border-radius: 4px;
95
+ border-radius: 4px;
96
+ text-align: left;
97
+ }
98
+ #search-field:focus {
99
+ background: #f1edba;
100
+ }
101
+ #search-field:-moz-placeholder,
102
+ #search-field::-webkit-input-placeholder {
103
+ font-weight: bold;
104
+ color: #666;
105
+ }
106
+
107
+ .missing-docs {
108
+ font-size: 120%;
109
+ background: white url(../images/wrench_orange.png) no-repeat 4px center;
110
+ color: #ccc;
111
+ line-height: 2em;
112
+ border: 1px solid #d00;
113
+ opacity: 1;
114
+ padding-left: 20px;
115
+ text-indent: 24px;
116
+ letter-spacing: 3px;
117
+ font-weight: bold;
118
+ -webkit-border-radius: 5px;
119
+ -moz-border-radius: 5px;
120
+ }
121
+
122
+ .target-section {
123
+ border: 2px solid #dcce90;
124
+ border-left-width: 8px;
125
+ padding: 0 1em;
126
+ background: #fff3c2;
127
+ }
128
+
129
+ /* @end */
130
+
131
+ /* @group Index Page, Standalone file pages */
132
+ .table-of-contents ul {
133
+ margin: 1em;
134
+ list-style: none;
135
+ }
136
+
137
+ .table-of-contents ul ul {
138
+ margin-top: 0.25em;
139
+ }
140
+
141
+ .table-of-contents ul :link,
142
+ .table-of-contents ul :visited {
143
+ font-size: 16px;
144
+ }
145
+
146
+ .table-of-contents li {
147
+ margin-bottom: 0.25em;
148
+ }
149
+
150
+ .table-of-contents li .toc-toggle {
151
+ width: 16px;
152
+ height: 16px;
153
+ background: url(../images/add.png) no-repeat;
154
+ }
155
+
156
+ .table-of-contents li .toc-toggle.open {
157
+ background: url(../images/delete.png) no-repeat;
158
+ }
159
+
160
+ /* @end */
161
+
162
+ /* @group Top-Level Structure */
163
+
164
+ nav {
165
+ float: left;
166
+ width: 260px;
167
+ font-family: Helvetica, sans-serif;
168
+ font-size: 14px;
169
+ }
170
+
171
+ main {
172
+ display: block;
173
+ margin: 0 2em 5em 260px;
174
+ padding-left: 20px;
175
+ min-width: 340px;
176
+ font-size: 16px;
177
+ }
178
+
179
+ main h1,
180
+ main h2,
181
+ main h3,
182
+ main h4,
183
+ main h5,
184
+ main h6 {
185
+ font-family: Helvetica, sans-serif;
186
+ }
187
+
188
+ .table-of-contents main {
189
+ margin-left: 2em;
190
+ }
191
+
192
+ #validator-badges {
193
+ clear: both;
194
+ margin: 1em 1em 2em;
195
+ font-size: smaller;
196
+ }
197
+
198
+ /* @end */
199
+
200
+ /* @group navigation */
201
+ nav {
202
+ margin-bottom: 1em;
203
+ }
204
+
205
+ nav .nav-section {
206
+ margin-top: 2em;
207
+ border-top: 2px solid #aaa;
208
+ font-size: 90%;
209
+ overflow: hidden;
210
+ }
211
+
212
+ nav h2 {
213
+ margin: 0;
214
+ padding: 2px 8px 2px 8px;
215
+ background-color: #e8e8e8;
216
+ color: #555;
217
+ font-size: 125%;
218
+ text-align: center;
219
+ }
220
+
221
+ nav h3,
222
+ #table-of-contents-navigation {
223
+ margin: 0;
224
+ padding: 2px 8px 2px 8px;
225
+ text-align: right;
226
+ background-color: #e8e8e8;
227
+ color: #555;
228
+ }
229
+
230
+ nav ul,
231
+ nav dl,
232
+ nav p {
233
+ padding: 4px 8px 0;
234
+ list-style: none;
235
+ }
236
+
237
+ #project-navigation .nav-section {
238
+ margin: 0;
239
+ border-top: 0;
240
+ }
241
+
242
+ #home-section h2 {
243
+ text-align: center;
244
+ }
245
+
246
+ #table-of-contents-navigation {
247
+ font-size: 1.2em;
248
+ font-weight: bold;
249
+ text-align: center;
250
+ }
251
+
252
+ #search-section {
253
+ margin-top: 0;
254
+ border-top: 0;
255
+ }
256
+
257
+ #search-field-wrapper {
258
+ border-top: 1px solid #aaa;
259
+ border-bottom: 1px solid #aaa;
260
+ padding: 3px 8px;
261
+ background-color: #e8e8e8;
262
+ color: #555;
263
+ }
264
+
265
+ ul.link-list li {
266
+ white-space: nowrap;
267
+ line-height: 1.4em;
268
+ }
269
+
270
+ ul.link-list .type {
271
+ font-size: 8px;
272
+ text-transform: uppercase;
273
+ color: white;
274
+ background: #969696;
275
+ padding: 2px 4px;
276
+ -webkit-border-radius: 5px;
277
+ }
278
+
279
+ dl.note-list dt {
280
+ float: left;
281
+ margin-right: 1em;
282
+ }
283
+
284
+ .calls-super {
285
+ background: url(../images/arrow_up.png) no-repeat right center;
286
+ }
287
+
288
+ /* @end */
289
+
290
+ /* @group Documentation Section */
291
+ main {
292
+ color: #333;
293
+ }
294
+
295
+ main > h1:first-child,
296
+ main > h2:first-child,
297
+ main > h3:first-child,
298
+ main > h4:first-child,
299
+ main > h5:first-child,
300
+ main > h6:first-child {
301
+ margin-top: 0px;
302
+ }
303
+
304
+ main sup {
305
+ vertical-align: super;
306
+ font-size: 0.8em;
307
+ }
308
+
309
+ /* The heading with the class name */
310
+ main h1[class] {
311
+ margin-top: 0;
312
+ margin-bottom: 1em;
313
+ font-size: 2em;
314
+ color: #6C8C22;
315
+ }
316
+
317
+ main h1 {
318
+ margin: 2em 0 0.5em;
319
+ font-size: 1.7em;
320
+ }
321
+
322
+ main h2 {
323
+ margin: 2em 0 0.5em;
324
+ font-size: 1.5em;
325
+ }
326
+
327
+ main h3 {
328
+ margin: 2em 0 0.5em;
329
+ font-size: 1.2em;
330
+ }
331
+
332
+ main h4 {
333
+ margin: 2em 0 0.5em;
334
+ font-size: 1.1em;
335
+ }
336
+
337
+ main h5 {
338
+ margin: 2em 0 0.5em;
339
+ font-size: 1em;
340
+ }
341
+
342
+ main h6 {
343
+ margin: 2em 0 0.5em;
344
+ font-size: 1em;
345
+ }
346
+
347
+ main p {
348
+ margin: 0 0 0.5em;
349
+ line-height: 1.4em;
350
+ }
351
+
352
+ main pre {
353
+ margin: 1.2em 0.5em;
354
+ padding: 1em;
355
+ font-size: 0.8em;
356
+ }
357
+
358
+ main hr {
359
+ margin: 1.5em 1em;
360
+ border: 2px solid #ddd;
361
+ }
362
+
363
+ main blockquote {
364
+ margin: 0 2em 1.2em 1.2em;
365
+ padding-left: 0.5em;
366
+ border-left: 2px solid #ddd;
367
+ }
368
+
369
+ main ol,
370
+ main ul {
371
+ margin: 1em 2em;
372
+ }
373
+
374
+ main li > p {
375
+ margin-bottom: 0.5em;
376
+ }
377
+
378
+ main dl {
379
+ margin: 1em 0.5em;
380
+ }
381
+
382
+ main dt {
383
+ margin-bottom: 0.5em;
384
+ font-weight: bold;
385
+ }
386
+
387
+ main dd {
388
+ margin: 0 1em 1em 0.5em;
389
+ }
390
+
391
+ main header h2 {
392
+ margin-top: 2em;
393
+ border-width: 0;
394
+ border-top: 4px solid #bbb;
395
+ font-size: 130%;
396
+ }
397
+
398
+ main header h3 {
399
+ margin: 2em 0 1.5em;
400
+ border-width: 0;
401
+ border-top: 3px solid #bbb;
402
+ font-size: 120%;
403
+ }
404
+
405
+ .documentation-section-title {
406
+ position: relative;
407
+ }
408
+ .documentation-section-title .section-click-top {
409
+ position: absolute;
410
+ top: 6px;
411
+ left: 12px;
412
+ font-size: 10px;
413
+ color: #9b9877;
414
+ visibility: hidden;
415
+ padding-left: 0.5px;
416
+ }
417
+
418
+ .documentation-section-title:hover .section-click-top {
419
+ visibility: visible;
420
+ }
421
+
422
+ .constants-list > dl {
423
+ margin: 1em 0 2em;
424
+ border: 0;
425
+ }
426
+
427
+ .constants-list > dl dt {
428
+ margin-bottom: 0.75em;
429
+ padding-left: 0;
430
+ font-family: "Source Code Pro", Monaco, monospace;
431
+ font-size: 110%;
432
+ }
433
+
434
+ .constants-list > dl dt a {
435
+ color: inherit;
436
+ }
437
+
438
+ .constants-list > dl dd {
439
+ margin: 0 0 2em 0;
440
+ padding: 0;
441
+ color: #666;
442
+ }
443
+
444
+ .documentation-section h2 {
445
+ position: relative;
446
+ }
447
+
448
+ .documentation-section h2 a {
449
+ position: absolute;
450
+ top: 8px;
451
+ right: 10px;
452
+ font-size: 12px;
453
+ color: #9b9877;
454
+ visibility: hidden;
455
+ }
456
+
457
+ .documentation-section h2:hover a {
458
+ visibility: visible;
459
+ }
460
+
461
+ /* @group Method Details */
462
+
463
+ main .method-source-code {
464
+ max-height: 0;
465
+ overflow: hidden;
466
+ transition-duration: 200ms;
467
+ transition-delay: 0ms;
468
+ transition-property: all;
469
+ transition-timing-function: ease-in-out;
470
+ }
471
+
472
+ main .method-source-code.active-menu {
473
+ max-height: 100vh;
474
+ }
475
+
476
+ main .method-description .method-calls-super {
477
+ color: #333;
478
+ font-weight: bold;
479
+ }
480
+
481
+ main .method-detail {
482
+ margin-bottom: 2.5em;
483
+ cursor: pointer;
484
+ }
485
+
486
+ main .method-detail:target {
487
+ margin-left: -10px;
488
+ border-left: 10px solid #f1edba;
489
+ }
490
+
491
+ main .method-heading {
492
+ position: relative;
493
+ font-family: "Source Code Pro", Monaco, monospace;
494
+ font-size: 110%;
495
+ font-weight: bold;
496
+ color: #333;
497
+ }
498
+ main .method-heading :link,
499
+ main .method-heading :visited {
500
+ color: inherit;
501
+ }
502
+ main .method-click-advice {
503
+ position: absolute;
504
+ top: 2px;
505
+ right: 5px;
506
+ font-size: 12px;
507
+ color: #9b9877;
508
+ visibility: hidden;
509
+ padding-right: 20px;
510
+ line-height: 20px;
511
+ background: url(../images/zoom.png) no-repeat right top;
512
+ }
513
+ main .method-heading:hover .method-click-advice {
514
+ visibility: visible;
515
+ }
516
+
517
+ main .method-alias .method-heading {
518
+ color: #666;
519
+ }
520
+
521
+ main .method-description,
522
+ main .aliases {
523
+ margin-top: 0.75em;
524
+ color: #333;
525
+ }
526
+
527
+ main .aliases {
528
+ padding-top: 4px;
529
+ font-style: italic;
530
+ cursor: default;
531
+ }
532
+ main .method-description ul {
533
+ margin-left: 1.5em;
534
+ }
535
+
536
+ main #attribute-method-details .method-detail:hover {
537
+ background-color: transparent;
538
+ cursor: default;
539
+ }
540
+ main .attribute-access-type {
541
+ text-transform: uppercase;
542
+ padding: 0 1em;
543
+ }
544
+ /* @end */
545
+
546
+ /* @end */
547
+
548
+ /* @group Source Code */
549
+
550
+ pre {
551
+ margin: 0.5em 0;
552
+ border: 1px dashed #999;
553
+ padding: 0.5em;
554
+ background: #262626;
555
+ color: white;
556
+ overflow: auto;
557
+ }
558
+
559
+ .ruby-constant { color: #7fffd4; background: transparent; }
560
+ .ruby-keyword { color: #00ffff; background: transparent; }
561
+ .ruby-ivar { color: #eedd82; background: transparent; }
562
+ .ruby-operator { color: #00ffee; background: transparent; }
563
+ .ruby-identifier { color: #ffdead; background: transparent; }
564
+ .ruby-node { color: #ffa07a; background: transparent; }
565
+ .ruby-comment { color: #dc0000; background: transparent; }
566
+ .ruby-regexp { color: #ffa07a; background: transparent; }
567
+ .ruby-value { color: #7fffd4; background: transparent; }
568
+
569
+ /* @end */
570
+
571
+
572
+ /* @group search results */
573
+ #search-results {
574
+ font-family: Lato, sans-serif;
575
+ font-weight: 300;
576
+ }
577
+
578
+ #search-results .search-match {
579
+ font-family: Helvetica, sans-serif;
580
+ font-weight: normal;
581
+ }
582
+
583
+ #search-results .search-selected {
584
+ background: #e8e8e8;
585
+ border-bottom: 1px solid transparent;
586
+ }
587
+
588
+ #search-results li {
589
+ list-style: none;
590
+ border-bottom: 1px solid #aaa;
591
+ margin-bottom: 0.5em;
592
+ }
593
+
594
+ #search-results li:last-child {
595
+ border-bottom: none;
596
+ margin-bottom: 0;
597
+ }
598
+
599
+ #search-results li p {
600
+ padding: 0;
601
+ margin: 0.5em;
602
+ }
603
+
604
+ #search-results .search-namespace {
605
+ font-weight: bold;
606
+ }
607
+
608
+ #search-results li em {
609
+ background: yellow;
610
+ font-style: normal;
611
+ }
612
+
613
+ #search-results pre {
614
+ margin: 0.5em;
615
+ font-family: "Source Code Pro", Monaco, monospace;
616
+ }
617
+
618
+ /* @end */
619
+