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.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.yml +150 -0
- data/.github/ISSUE_TEMPLATE/config.yml +8 -0
- data/.github/ISSUE_TEMPLATE/feature_request.yml +86 -0
- data/.github/ISSUE_TEMPLATE/question.yml +95 -0
- data/CODE_OF_CONDUCT.md +27 -28
- data/Gemfile +1 -1
- data/Gemfile.lock +18 -23
- data/SUPPORT.md +147 -0
- data/examples/order/create_pse.rb +93 -0
- data/lib/mercadopago/config/config.rb +26 -1
- data/lib/mercadopago/config/request_options.rb +55 -0
- data/lib/mercadopago/core/mp_base.rb +57 -2
- data/lib/mercadopago/http/http_client.rb +82 -50
- data/lib/mercadopago/resources/advanced_payment.rb +51 -3
- data/lib/mercadopago/resources/card.rb +35 -7
- data/lib/mercadopago/resources/card_token.rb +18 -3
- data/lib/mercadopago/resources/customer.rb +38 -6
- data/lib/mercadopago/resources/disbursement_refund.rb +25 -3
- data/lib/mercadopago/resources/identification_type.rb +12 -3
- data/lib/mercadopago/resources/merchant_order.rb +35 -3
- data/lib/mercadopago/resources/order.rb +49 -7
- data/lib/mercadopago/resources/order_transaction.rb +28 -7
- data/lib/mercadopago/resources/payment.rb +34 -7
- data/lib/mercadopago/resources/payment_methods.rb +12 -3
- data/lib/mercadopago/resources/preapproval.rb +36 -8
- data/lib/mercadopago/resources/preapproval_plan.rb +35 -8
- data/lib/mercadopago/resources/preference.rb +28 -4
- data/lib/mercadopago/resources/refund.rb +24 -8
- data/lib/mercadopago/resources/user.rb +10 -3
- data/lib/mercadopago/sdk.rb +55 -1
- data/lib/mercadopago/webhook/validator.rb +237 -0
- data/lib/mercadopago.rb +21 -0
- data/mercadopago.gemspec +2 -2
- data/tests/test_webhook_signature_validator.rb +152 -0
- metadata +17 -10
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -28
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 80a375e53469d0a6747544a947a302a3ed7b4ca218a7cea37fcf474d7115245d
|
|
4
|
+
data.tar.gz: 5e21421b3beb58572468ad4ca8108c6123717e36b1aa8694fb7f8f9eb8eb8932
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
#
|
|
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
|
|
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,
|
|
9
|
-
|
|
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
|
-
|
|
31
|
-
* Other conduct
|
|
32
|
-
|
|
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
|
|
43
|
-
permanently any contributor for other
|
|
44
|
-
|
|
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
|
|
49
|
-
|
|
50
|
-
representing a project or community include using an official
|
|
51
|
-
address, posting via an official social media account, or acting
|
|
52
|
-
representative at an online or offline event. Representation of
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
74
|
-
|
|
72
|
+
For answers to common questions about this code of conduct, see
|
|
73
|
+
https://www.contributor-covenant.org/faq
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
mercadopago-sdk (
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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.
|
|
21
|
+
logger (1.7.0)
|
|
20
22
|
method_source (1.0.0)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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.
|
|
57
|
-
unicode-emoji (~> 4.
|
|
58
|
-
unicode-emoji (4.0
|
|
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.
|
|
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!**
|