mercadopago-sdk 2.4.1 → 3.0.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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.yml +150 -0
  3. data/.github/ISSUE_TEMPLATE/config.yml +8 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.yml +86 -0
  5. data/.github/ISSUE_TEMPLATE/question.yml +95 -0
  6. data/CODE_OF_CONDUCT.md +27 -28
  7. data/Gemfile +1 -1
  8. data/Gemfile.lock +18 -23
  9. data/SUPPORT.md +147 -0
  10. data/examples/order/create_pse.rb +93 -0
  11. data/lib/mercadopago/config/config.rb +26 -1
  12. data/lib/mercadopago/config/request_options.rb +55 -0
  13. data/lib/mercadopago/core/mp_base.rb +57 -2
  14. data/lib/mercadopago/http/http_client.rb +82 -50
  15. data/lib/mercadopago/resources/advanced_payment.rb +51 -3
  16. data/lib/mercadopago/resources/card.rb +35 -7
  17. data/lib/mercadopago/resources/card_token.rb +18 -3
  18. data/lib/mercadopago/resources/customer.rb +38 -6
  19. data/lib/mercadopago/resources/disbursement_refund.rb +25 -3
  20. data/lib/mercadopago/resources/identification_type.rb +12 -3
  21. data/lib/mercadopago/resources/merchant_order.rb +35 -3
  22. data/lib/mercadopago/resources/order.rb +49 -7
  23. data/lib/mercadopago/resources/order_transaction.rb +28 -7
  24. data/lib/mercadopago/resources/payment.rb +34 -7
  25. data/lib/mercadopago/resources/payment_methods.rb +12 -3
  26. data/lib/mercadopago/resources/preapproval.rb +36 -8
  27. data/lib/mercadopago/resources/preapproval_plan.rb +35 -8
  28. data/lib/mercadopago/resources/preference.rb +28 -4
  29. data/lib/mercadopago/resources/refund.rb +24 -8
  30. data/lib/mercadopago/resources/user.rb +10 -3
  31. data/lib/mercadopago/sdk.rb +55 -1
  32. data/lib/mercadopago/webhook/validator.rb +237 -0
  33. data/lib/mercadopago.rb +21 -0
  34. data/mercadopago.gemspec +2 -2
  35. data/tests/test_webhook_signature_validator.rb +152 -0
  36. metadata +17 -10
  37. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -28
  38. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de0ce1256d0a92dde936ddf9f18280a361a04bb38301c2ca3357b684c189e33d
4
- data.tar.gz: cd6a15b78170040a312ebd3dbd6a924fce4f63e35a51a79c620109fcd3766c19
3
+ metadata.gz: 80a375e53469d0a6747544a947a302a3ed7b4ca218a7cea37fcf474d7115245d
4
+ data.tar.gz: 5e21421b3beb58572468ad4ca8108c6123717e36b1aa8694fb7f8f9eb8eb8932
5
5
  SHA512:
6
- metadata.gz: 949d0051087c2960ea091b87b8c4991068dbeb7b6dd86145a8d387311008bdcc75035fadc0886f0cf3939a894156c6cf6021ac6c7fa432c584fe7d50a906b796
7
- data.tar.gz: 9fa4cfe4c1191481874cfc17f62cd44fec45d15b6358f49ad0ec141b99016eb4066a896ea57c5c821650d122bdfc60524ebdf9b30ca1babf513118e36aa767b3
6
+ metadata.gz: 8947ccb1e8a3b4c807e1a656980e2722a50d7178c0158dff18c2bd57358a810df89731193cd1cfffd23636f6b17ade418c51c83c77b508ec09a091efbbf79ccd
7
+ data.tar.gz: d12efb50c22e4befedcefe788e75ba2b984500e245b21290b8e33522126b9d79819a68f4a6581230b0fd4d5992ce83a7d72648faaf11164b0550f677cfe4492c
@@ -0,0 +1,150 @@
1
+ name: 🐛 Bug Report
2
+ description: Report a bug or unexpected behavior in the SDK
3
+ title: "[BUG]: "
4
+ labels: ["bug", "needs-triage"]
5
+ assignees: ["danielalfarourrea","luismeli10","orojaspardo"]
6
+
7
+ body:
8
+ - type: markdown
9
+ attributes:
10
+ value: |
11
+ ## 🐛 Thanks for reporting this issue!
12
+
13
+ Please make sure you tested with the latest version of the relevant packages and/or checked existing issues to avoid duplicates. If the bug persists, open the issue with a clear and concise description including screenshots, if applicable. We appreciate your feedback!
14
+
15
+ **Before reporting a bug:**
16
+ - 🔍 **Search [existing issues](./issues?q=is%3Aissue) to avoid duplicates**
17
+ - 📚 **Verify you are using the [latest version](../../releases)**
18
+ - 💡 **Try to reproduce the problem in sandbox environment**
19
+ - ⚠️ **IMPORTANT: Your bug will be resolved faster if you can share a self-contained example that doesn't rely on internal or private dependencies.**
20
+
21
+ > **🔒 SECURITY WARNING:** Issues without reproduction steps or code examples may be immediately closed as not actionable. Always remember to **REMOVE ALL PII AND PERSONAL INFORMATION** from your examples. **Bugs opened with real data will be immediately reported and closed.**
22
+
23
+ - type: input
24
+ id: sdk-version
25
+ attributes:
26
+ label: 📦 SDK Version
27
+ description: "Example: 2.1.0"
28
+ placeholder: "x.y.z"
29
+ validations:
30
+ required: true
31
+
32
+ - type: textarea
33
+ id: environment-details
34
+ attributes:
35
+ label: 🖥️ Environment Details
36
+ description: |
37
+ System and dependencies information
38
+ placeholder: |
39
+ - Operating System: [e.g. Ubuntu 20.04, Windows 11, macOS 13]
40
+ - Language Version: [e.g. Python 3.9.0, Node.js 18.0.0]
41
+ - Framework: [e.g. Django 4.0, Express 4.18]
42
+ - Package Manager: [e.g. pip 21.0, npm 8.0]
43
+ - Other relevant dependencies: ...
44
+ validations:
45
+ required: true
46
+
47
+ - type: dropdown
48
+ id: country
49
+ attributes:
50
+ label: 🌎 Country
51
+ description: Country where the issue occurs
52
+ options:
53
+ - Argentina (MLA)
54
+ - Brazil (MLB)
55
+ - Chile (MLC)
56
+ - Colombia (MCO)
57
+ - Mexico (MLM)
58
+ - Peru (MPE)
59
+ - Uruguay (MLU)
60
+ - Other
61
+ validations:
62
+ required: true
63
+
64
+ - type: textarea
65
+ id: description
66
+ attributes:
67
+ label: 📝 Bug Description
68
+ description: A clear and concise description of what the bug is
69
+ placeholder: The SDK fails when I try to...
70
+ validations:
71
+ required: true
72
+
73
+ - type: textarea
74
+ id: expected
75
+ attributes:
76
+ label: ✅ Expected Behavior
77
+ description: A clear description of the behavior you expected from the SDK
78
+ placeholder: I expected the SDK to...
79
+ validations:
80
+ required: true
81
+
82
+ - type: textarea
83
+ id: actual
84
+ attributes:
85
+ label: ❌ Actual Behavior
86
+ description: A description of what the SDK actually does instead
87
+ placeholder: Instead, the SDK...
88
+ validations:
89
+ required: true
90
+
91
+ - type: textarea
92
+ id: reproduce
93
+ attributes:
94
+ label: 🔄 Steps To Reproduce
95
+ description: Detailed steps to reproduce the problem
96
+ placeholder: |
97
+ 1. Configure the SDK with...
98
+ 2. Execute the method...
99
+ 3. Send the following parameters...
100
+ 4. Observe the error...
101
+ validations:
102
+ required: true
103
+
104
+ - type: textarea
105
+ id: code-sample
106
+ attributes:
107
+ label: 💻 Code Example
108
+ description: |
109
+ Minimal code that reproduces the problem. **REMOVE ALL CREDENTIALS AND SENSITIVE DATA.**
110
+
111
+ You can provide:
112
+ - A CodeSandbox (https://codepen.io/pen/)
113
+ - A link to a GitHub repository
114
+ - A minimal code example that reproduces the problem
115
+ - A screenshot of the application if you think it is relevant
116
+
117
+ **Remember to REMOVE ALL SENSITIVE DATA FIRST.**
118
+ render: python
119
+ placeholder: |
120
+ import mercadopago
121
+
122
+ sdk = mercadopago.SDK("YOUR_ACCESS_TOKEN") # ⚠️ DO NOT USE REAL TOKENS
123
+
124
+ # Your code here that reproduces the bug...
125
+ validations:
126
+ required: true
127
+
128
+ - type: textarea
129
+ id: error-logs
130
+ attributes:
131
+ label: 📋 Logs and Error Messages
132
+ description: Copy complete logs, stack traces, or error messages
133
+ render: shell
134
+ placeholder: |
135
+ Error: ...
136
+ Stack trace: ...
137
+
138
+ - type: checkboxes
139
+ id: checklist
140
+ attributes:
141
+ label: ✅ Checklist
142
+ options:
143
+ - label: I have verified that I am using the latest SDK version
144
+ required: true
145
+ - label: I have searched existing issues and this bug has not been reported
146
+ required: true
147
+ - label: I have included a minimal code example to reproduce the problem
148
+ required: true
149
+ - label: I have removed all sensitive information (tokens, credentials, real data)
150
+ required: true
@@ -0,0 +1,8 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Support Center Mercado Pago - ES
4
+ url: https://www.mercadopago.com/developers/es/support/center
5
+ about: Problems with payments, account, or general inquiries
6
+ - name: Support Center Mercado Pago - PT
7
+ url: https://www.mercadopago.com/developers/pt/support/center
8
+ about: Problems with payments, account, or general inquiries
@@ -0,0 +1,86 @@
1
+ name: ✨ Feature Request
2
+ description: Propose a new feature for the Mercado Pago SDK
3
+ title: "[FEATURE]: "
4
+ labels: ["enhancement", "needs-triage"]
5
+ assignees: ["danielalfarourrea","luismeli10","orojaspardo"]
6
+
7
+ body:
8
+ - type: markdown
9
+ attributes:
10
+ value: |
11
+ ## 💡 Thanks for contributing with ideas!
12
+
13
+ Your feedback is valuable to improve the SDK. Before submitting:
14
+ - 🔍 **Search [existing issues](./issues?q=is%3Aissue) to avoid duplicates**.
15
+ - 📚 **Check the [documentation](https://www.mercadopago.com/developers/es/docs) to confirm this isn't already supported**.
16
+
17
+ - type: dropdown
18
+ id: feature-type
19
+ attributes:
20
+ label: ⚙️ Feature Type
21
+ description: What type of improvement are you proposing?
22
+ options:
23
+ - New feature
24
+ - Enhancement of existing feature
25
+ - Support for new Mercado Pago product
26
+ - Better error handling
27
+ - Documentation improvement
28
+ - Performance optimization
29
+ - Other
30
+ validations:
31
+ required: true
32
+
33
+ - type: textarea
34
+ id: problem
35
+ attributes:
36
+ label: 🎯 Problem to solve
37
+ description: Describe the problem or need this feature would solve.
38
+ placeholder: |
39
+ As a developer of [application type]...
40
+ I need [feature]...
41
+ To be able to [goal]...
42
+ validations:
43
+ required: true
44
+
45
+ - type: textarea
46
+ id: solution
47
+ attributes:
48
+ label: 💡 Proposed Solution
49
+ description: Describe how you would like this new feature to work.
50
+ placeholder: |
51
+ I would like the SDK to support...
52
+ The implementation could be...
53
+ Usage example:
54
+ ```
55
+ // example code
56
+ ```
57
+ validations:
58
+ required: true
59
+
60
+ - type: textarea
61
+ id: alternatives
62
+ attributes:
63
+ label: 🔄 Alternatives Considered
64
+ description: |
65
+ Have you tried any workarounds?
66
+ Are there similar features in other SDKs or libraries?
67
+ placeholder: |
68
+ - Alternative 1: ...
69
+ - Alternative 2: ...
70
+ - In the [language] SDK they do...
71
+
72
+ - type: checkboxes
73
+ id: checklist
74
+ attributes:
75
+ label: ✅ Checklist
76
+ options:
77
+ - label: I have searched existing issues and this feature has not been requested before
78
+ required: true
79
+ - label: I have clearly described the problem I am trying to solve
80
+ required: true
81
+ - label: I have proposed a concrete solution or API design
82
+ required: true
83
+ - label: This feature would benefit other users, not just my specific use case
84
+ required: true
85
+ - label: I have not included any sensitive information (tokens, credentials, real data)
86
+ required: true
@@ -0,0 +1,95 @@
1
+ name: 💬 Question
2
+ description: Ask a question about the Mercado Pago SDK
3
+ title: "[QUESTION]: "
4
+ labels: ["question", "needs-triage"]
5
+ assignees: ["danielalfarourrea","luismeli10","orojaspardo"]
6
+
7
+ body:
8
+ - type: markdown
9
+ attributes:
10
+ value: |
11
+ ## 👋 Thanks for using the Mercado Pago SDK!
12
+
13
+ Before asking your question, please:
14
+ - 🔍 **Search [existing issues](./issues?q=is%3Aissue) to see if it was already answered**
15
+ - 📚 **Check the [official documentation](https://www.mercadopago.com/developers/es/docs)**
16
+ - 💡 **Review the repository examples**
17
+
18
+ - type: input
19
+ id: sdk-version
20
+ attributes:
21
+ label: 📦 SDK Version
22
+ description: "Example: 2.1.0"
23
+ placeholder: "x.y.z"
24
+ validations:
25
+ required: true
26
+
27
+ - type: dropdown
28
+ id: country
29
+ attributes:
30
+ label: 🌎 Country
31
+ description: In which country are you operating?
32
+ options:
33
+ - Argentina (MLA)
34
+ - Brazil (MLB)
35
+ - Chile (MLC)
36
+ - Colombia (MCO)
37
+ - Mexico (MLM)
38
+ - Peru (MPE)
39
+ - Uruguay (MLU)
40
+ - Other
41
+ validations:
42
+ required: true
43
+
44
+ - type: textarea
45
+ id: context
46
+ attributes:
47
+ label: 🖥️ Environment Details
48
+ description: |
49
+ Provide details about your environment to help us understand your setup:
50
+ - Platform (Web, Mobile, Backend)
51
+ - Framework used
52
+ - Relevant error messages
53
+ - Documentation consulted
54
+ placeholder: |
55
+ - Platform: [e.g. Backend, Web, Mobile]
56
+ - Language Version: [e.g. Python 3.9.0, Node.js 18.0.0]
57
+ - Framework: [e.g. Django 4.0, Express 4.18]
58
+ - Other relevant dependencies: ...
59
+
60
+ - type: textarea
61
+ id: question
62
+ attributes:
63
+ label: ❓ Your Question
64
+ description: Ask your question as clearly and specifically as possible. The more detail you provide, the faster we can help.
65
+ placeholder: |
66
+ What are you trying to do?
67
+ What have you tried so far?
68
+ What is the result you are getting vs. what you expected?
69
+ Is there an error message involved?
70
+ validations:
71
+ required: true
72
+
73
+ - type: textarea
74
+ id: code-sample
75
+ attributes:
76
+ label: 💻 Code Example (optional)
77
+ description: If applicable, share a code snippet that illustrates your question. **Remember to remove all sensitive data (tokens, credentials, etc)**
78
+ render: python
79
+ placeholder: |
80
+ import mercadopago
81
+
82
+ sdk = mercadopago.SDK("YOUR_ACCESS_TOKEN") # ⚠️ DO NOT USE REAL TOKENS
83
+ # Your code here...
84
+
85
+ - type: checkboxes
86
+ id: checklist
87
+ attributes:
88
+ label: ✅ Checklist
89
+ options:
90
+ - label: I have searched existing issues
91
+ required: true
92
+ - label: I have checked the official documentation
93
+ required: true
94
+ - label: I have removed sensitive information (tokens, credentials, etc)
95
+ required: true
data/CODE_OF_CONDUCT.md CHANGED
@@ -1,13 +1,13 @@
1
- # Contributor Covenant Code of Conduct
1
+ # Code of Conduct
2
2
 
3
3
  ## Our Pledge
4
4
 
5
5
  In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
6
+ contributors and maintainers pledge to make participation in
7
7
  our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, gender identity and expression, level of experience,
9
- nationality, personal appearance, race, religion, or sexual identity and
10
- orientation.
8
+ size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression,
9
+ level of experience, education, socio-economic status, nationality, personal
10
+ appearance, race, religion, or sexual identity and orientation.
11
11
 
12
12
  ## Our Standards
13
13
 
@@ -25,11 +25,11 @@ Examples of unacceptable behavior by participants include:
25
25
  * The use of sexualized language or imagery and unwelcome sexual attention or
26
26
  advances
27
27
  * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
28
+ * Public or private harassment of individuals or the company
29
29
  * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
30
+ address, without explicit permission
31
+ * Other conduct that could reasonably be considered inappropriate in a
32
+ professional setting
33
33
 
34
34
  ## Our Responsibilities
35
35
 
@@ -39,27 +39,24 @@ response to any instances of unacceptable behavior.
39
39
 
40
40
  Project maintainers have the right and responsibility to remove, edit, or
41
41
  reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
42
+ that are not aligned with this Code of Conduct, as well as temporarily or
43
+ permanently ban any contributor for other behavior deemed inappropriate, threatening, offensive, or harmful with or without prior notice..
44
+
45
45
 
46
46
  ## Scope
47
47
 
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
48
+ This Code of Conduct applies within all project spaces and it also applies when
49
+ an individual is representing the project or its community in public spaces.
50
+ Examples of representing a project or community include using an official
51
+ project email address, posting via an official social media account, or acting
52
+ as an appointed representative at an online or offline event. Representation of
53
+ a project may be further defined and clarified by project maintainers.
54
54
 
55
- ## Enforcement
55
+ This Code of Conduct also applies outside the project spaces when there is a
56
+ reasonable belief that an individual's behavior may have a negative impact on
57
+ the project, the company or the community.
56
58
 
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at [developers.mercadopago.com](https://www.mercadopago.com/developers). All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
59
+ ## Enforcement
63
60
 
64
61
  Project maintainers who do not follow or enforce the Code of Conduct in good
65
62
  faith may face temporary or permanent repercussions as determined by other
@@ -68,7 +65,9 @@ members of the project's leadership.
68
65
  ## Attribution
69
66
 
70
67
  This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at [https://contributor-covenant.org/version/1/4][version]
68
+ available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
69
+
70
+ [homepage]: https://www.contributor-covenant.org
72
71
 
73
- [homepage]: https://contributor-covenant.org
74
- [version]: https://contributor-covenant.org/version/1/4/
72
+ For answers to common questions about this code of conduct, see
73
+ https://www.contributor-covenant.org/faq
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
 
5
5
  group :development, :test do
6
6
  gem 'rake'
7
- gem 'minitest'
7
+ gem 'minitest', '~> 5.0'
8
8
  gem 'rubocop', '~> 1.70', require: false
9
9
  end
10
10
 
data/Gemfile.lock CHANGED
@@ -1,29 +1,28 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mercadopago-sdk (2.4.1)
4
+ mercadopago-sdk (3.0.0)
5
+ faraday (~> 2.0)
5
6
  json (~> 2.5)
6
- rest-client (~> 2.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  ast (2.4.2)
12
12
  coderay (1.1.3)
13
- domain_name (0.6.20240107)
14
- http-accept (1.7.0)
15
- http-cookie (1.0.8)
16
- domain_name (~> 0.5)
13
+ faraday (2.14.1)
14
+ faraday-net_http (>= 2.0, < 3.5)
15
+ json
16
+ logger
17
+ faraday-net_http (3.4.2)
18
+ net-http (~> 0.5)
17
19
  json (2.9.1)
18
20
  language_server-protocol (3.17.0.3)
19
- logger (1.6.5)
21
+ logger (1.7.0)
20
22
  method_source (1.0.0)
21
- mime-types (3.6.0)
22
- logger
23
- mime-types-data (~> 3.2015)
24
- mime-types-data (3.2025.0107)
25
- minitest (5.14.4)
26
- netrc (0.11.0)
23
+ minitest (5.25.5)
24
+ net-http (0.9.1)
25
+ uri (>= 0.11.1)
27
26
  parallel (1.26.3)
28
27
  parser (3.3.6.0)
29
28
  ast (~> 2.4.1)
@@ -35,11 +34,6 @@ GEM
35
34
  rainbow (3.1.1)
36
35
  rake (13.0.3)
37
36
  regexp_parser (2.10.0)
38
- rest-client (2.1.0)
39
- http-accept (>= 1.7.0, < 2.0)
40
- http-cookie (>= 1.0.2, < 2.0)
41
- mime-types (>= 1.16, < 4.0)
42
- netrc (~> 0.8)
43
37
  rubocop (1.70.0)
44
38
  json (~> 2.3)
45
39
  language_server-protocol (>= 3.17.0)
@@ -53,19 +47,20 @@ GEM
53
47
  rubocop-ast (1.37.0)
54
48
  parser (>= 3.3.1.0)
55
49
  ruby-progressbar (1.13.0)
56
- unicode-display_width (3.1.4)
57
- unicode-emoji (~> 4.0, >= 4.0.4)
58
- unicode-emoji (4.0.4)
50
+ unicode-display_width (3.2.0)
51
+ unicode-emoji (~> 4.1)
52
+ unicode-emoji (4.2.0)
53
+ uri (1.1.1)
59
54
 
60
55
  PLATFORMS
61
56
  ruby
62
57
 
63
58
  DEPENDENCIES
64
59
  mercadopago-sdk!
65
- minitest
60
+ minitest (~> 5.0)
66
61
  pry (~> 0.14)
67
62
  rake
68
63
  rubocop (~> 1.70)
69
64
 
70
65
  BUNDLED WITH
71
- 2.2.22
66
+ 2.5.23
data/SUPPORT.md ADDED
@@ -0,0 +1,147 @@
1
+ # 🆘 Support and Help
2
+
3
+ > **Quick guide:** Have a bug? → [Bug Report](../../issues/new/choose) | Questions? → [Question](../../issues/new/choose) | New idea? → [Feature Request](../../issues/new/choose)
4
+
5
+ ---
6
+
7
+ ## 🎯 Quick Decision Guide
8
+
9
+ | If you need... | Then... |
10
+ |----------------|---------|
11
+ | 💬 Question about how to use the SDK | [Create Question](../../issues/new/choose) |
12
+ | 🐛 Report an error or bug | [Create Bug Report](../../issues/new/choose) |
13
+ | ✨ Propose new feature | [Create Feature Request](../../issues/new/choose) |
14
+ | 💳 Problem with your MP account | [Official MP Support - ES ](https://www.mercadopago.com.co/developers/en/support/center)- [Official MP Support - PT ](https://www.mercadopago.com.co/developers/pt/support/center) |
15
+
16
+ ---
17
+
18
+ ## 📚 Before Creating an Issue
19
+
20
+ **Search first, ask later:**
21
+
22
+ 1. **[Official Documentation](https://www.mercadopago.com/developers/es/docs)** - Most questions are answered here
23
+ 2. **[Closed Issues](../../issues?q=is%3Aissue+is%3Aclosed)** - Your problem may be solved
24
+ 3. **[Open Issues](../../issues?q=is%3Aissue+is%3Aopen)** - Your problem may be already reported
25
+ ---
26
+
27
+ ## 💬 How to Report Issues
28
+
29
+ ### 1. For Questions 💬
30
+
31
+ **When to use?** Doubts about usage, configuration, or best practices.
32
+
33
+ **Steps:**
34
+
35
+ 1. Search in [closed questions](../../issues?q=is%3Aissue+is%3Aclosed+label%3Aquestion)
36
+ 2. [Create new question](../../issues/new/choose)
37
+ 3. **Include:** SDK version, country, environment, code example.
38
+
39
+ ### 2. For Bugs 🐛
40
+
41
+ **When to use?** Errors, unexpected behavior and/or crashes.
42
+
43
+ **Steps:**
44
+
45
+ 1. Verify [latest version](../../releases/latest)
46
+ 2. Search in [existing bugs](../../issues?q=is%3Aissue+label%3Abug)
47
+ 3. [Report bug](../../issues/new/choose)
48
+ 4. **Include:** reproducible steps, logs, environment, SDK version.
49
+
50
+ ### 3. For Features ✨
51
+
52
+ **When to use?** Propose improvements or new features
53
+
54
+ **Steps:**
55
+
56
+ 1. Search in [feature requests](../../issues?q=is%3Aissue+label%3Afeature%20request)
57
+ 2. [Propose feature](../../issues/new/choose)
58
+ 3. **Explain:** problem it solves, use cases, benefit.
59
+
60
+ ### 4. To Contribute 🤝
61
+
62
+ **Want to help?** Read [CONTRIBUTING.md](./CONTRIBUTING.md)
63
+
64
+ ---
65
+
66
+ ## 🔒 Security
67
+
68
+ ### ⚠️ NEVER Share in Public Issues:
69
+
70
+ - ❌ Access tokens or production credentials
71
+ - ❌ Client IDs / Client Secrets
72
+ - ❌ Customer or card data
73
+ - ❌ Personally Identifiable Information (PII)
74
+
75
+ > **⚠️ IMPORTANT:** Issues with real data will be closed and reported immediately.
76
+
77
+ ---
78
+
79
+ ## 🌎 Official Mercado Pago SDK Support
80
+
81
+ ### ⚡ GitHub Issues Scope
82
+
83
+ **GitHub Issues is ONLY for SDK technical support.**
84
+
85
+ ✅ **Use GitHub for:**
86
+
87
+ - SDK bugs
88
+ - Questions about SDK usage
89
+ - SDK features
90
+ - Code contributions
91
+
92
+ ❌ **DO NOT use GitHub for:**
93
+
94
+ - Problems with your MP account
95
+ - Specific transactions or payments
96
+ - Commercial or billing topics
97
+ - Homologation/certification
98
+ - Account access or credentials
99
+ - Webhook configuration in your account
100
+
101
+ ### 🏢 Contact Official MP Support for:
102
+
103
+ [**🔗 Official Mercado Pago Support - ES**](https://www.mercadopago.com.co/developers/es/support/center)
104
+ [**🔗 Official Mercado Pago Support - PT**](https://www.mercadopago.com.co/developers/pt/support/center)
105
+
106
+ - ✉️ Account problems
107
+ - 💳 Transactions and payments
108
+ - 🤝 Commercial topics
109
+ - 📋 Homologation
110
+ - 🔐 Account access
111
+ - 🌐 Webhooks in your account
112
+ - 📊 Reports and statistics
113
+
114
+ ---
115
+
116
+ ## 🔗 Resources and Contacts
117
+
118
+ ### Documentation
119
+
120
+ - **[Official Documentation](https://www.mercadopago.com/developers/es/docs)** - Complete guides
121
+ - **[API Reference](https://www.mercadopago.com/developers/en/reference)** - API reference
122
+ - **[SDKs](https://www.mercadopago.com/developers/en/docs/sdks-library/server-side)** - Other SDKs
123
+
124
+ ### Support
125
+
126
+ - **[GitHub Issues](../../issues/new/choose)** - SDK technical support
127
+
128
+ ### Community channels
129
+
130
+ - **[Discord](https://discord.gg/96nqqpaycN)** - Community channel
131
+ - **[Newsletter](https://www.mercadopago.com/developers/panel/contact)** - Mercado Pago Newsletter
132
+ - **[Status Page](https://status.mercadopago.com/)** - Service status
133
+
134
+ ---
135
+
136
+ ## 💡 Tips for Getting Quick Help
137
+
138
+ 1. **🔍 Search first** - Saves everyone time
139
+ 2. **📝 Be specific** - "Error 400 on POST /payments" vs "It doesn't work"
140
+ 3. **💻 Reproducible code** - Minimal and complete example
141
+ 4. **📋 Follow templates** - They're designed to help you
142
+ 5. **🚫 No sensitive data** - Protect your security
143
+ 6. **🤝 Be respectful** - We're all part of the community
144
+
145
+ ---
146
+
147
+ 💙 **Thank you for being part of the Mercado Pago developer community!**