@ar-agents/mercadopago 0.13.0 → 0.15.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.
- package/CHANGELOG.md +92 -0
- package/README.md +11 -0
- package/README.skeleton.md +200 -0
- package/dist/index.cjs +167 -50
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +63 -0
- package/dist/index.d.ts +63 -0
- package/dist/index.js +167 -50
- package/dist/index.js.map +1 -1
- package/dist/vercel-kv.cjs +15 -3
- package/dist/vercel-kv.cjs.map +1 -1
- package/dist/vercel-kv.d.cts +39 -8
- package/dist/vercel-kv.d.ts +39 -8
- package/dist/vercel-kv.js +15 -3
- package/dist/vercel-kv.js.map +1 -1
- package/package.json +1 -1
- package/tools.manifest.json +545 -297
package/tools.manifest.json
CHANGED
|
@@ -1,156 +1,154 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://github.com/ar-agents/ar-agents/blob/main/tools-manifest.schema.json",
|
|
3
3
|
"package": "@ar-agents/mercadopago",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.15.0",
|
|
5
5
|
"factory": "mercadoPagoTools",
|
|
6
6
|
"tools": [
|
|
7
7
|
{
|
|
8
|
-
"name": "
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
"externalIO": ["MP REST API"],
|
|
15
|
-
"latencyMs": "200-600",
|
|
16
|
-
"costPerCall": "$0 (creation is free; merchant pays per-transaction fee on auto-charges)"
|
|
17
|
-
},
|
|
8
|
+
"name": "analyze_payment_3ds",
|
|
9
|
+
"description": "Pure local analyzer for a Payment's 3DS (Strong Customer Authentication) state. Pass a payment_id (string) and the tool fetches the Payment then derives { status: 'not_required'|'frictionless'|'challe"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "calculate_installments",
|
|
13
|
+
"description": "Calculate cuotas (installments) options for a given amount. THE killer Argentine feature — returns options like '12 cuotas sin interés de $X' (recommended_message field) which you should surface VERBA",
|
|
18
14
|
"input": {
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"reason": "string (3-120 chars)",
|
|
23
|
-
"external_reference": "string | undefined"
|
|
15
|
+
"amount_ars": "number positive",
|
|
16
|
+
"payment_method_id": "string? (e.g. visa, master, naranja)",
|
|
17
|
+
"bin": "string? 6-8 chars (first digits of card for issuer-specific promos)"
|
|
24
18
|
},
|
|
25
19
|
"output": {
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
"next_step": "string (instructions for the agent)"
|
|
30
|
-
},
|
|
31
|
-
"whenToUse": ["User asks to subscribe a customer to a recurring plan"],
|
|
32
|
-
"whenNotToUse": [
|
|
33
|
-
"User wants a one-off payment — Subscriptions API is recurring-only",
|
|
34
|
-
"User wants to charge a specific amount that varies per cycle — fix the amount or use a different MP product"
|
|
35
|
-
],
|
|
36
|
-
"errorPatterns": [
|
|
37
|
-
{
|
|
38
|
-
"shape": "MercadoPagoBackUrlInvalidError",
|
|
39
|
-
"meaning": "App passed a non-HTTPS backUrl (e.g., http://localhost). MP rejects all non-HTTPS even in sandbox.",
|
|
40
|
-
"recovery": "App misconfiguration — surface to user as 'application error', not a user-fixable problem."
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"shape": "MercadoPagoSelfPaymentError",
|
|
44
|
-
"meaning": "customer_email equals the seller account's email. MP refuses self-payment on subscriptions.",
|
|
45
|
-
"recovery": "Tell user to use a different buyer email."
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"shape": "MercadoPagoAccountTypeMismatchError",
|
|
49
|
-
"meaning": "Misleading MP error 'Cannot operate between different countries'. Real cause: seller token is real-account-in-test-mode but buyer email is a test_user_*@testuser.com AFIP test user.",
|
|
50
|
-
"recovery": "Use a real consumer email as the buyer."
|
|
51
|
-
}
|
|
52
|
-
]
|
|
20
|
+
"amount": "number",
|
|
21
|
+
"offers": "array of {payment_method_id, payment_type_id, issuer_name, options: [{installments, installment_amount, total_amount, installment_rate, recommended_message}]}"
|
|
22
|
+
}
|
|
53
23
|
},
|
|
54
24
|
{
|
|
55
|
-
"name": "
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
"constraints": {
|
|
60
|
-
"envVars": ["MP_ACCESS_TOKEN"],
|
|
61
|
-
"externalIO": ["MP REST API"],
|
|
62
|
-
"latencyMs": "200-500",
|
|
63
|
-
"costPerCall": "$0"
|
|
25
|
+
"name": "cancel_order",
|
|
26
|
+
"description": "Cancel an Order. Releases any auth-holds and marks the Order as canceled. For orders that have already been CAPTURED, use refund_payment instead — cancel only works pre-capture. **IRREVERSIBLE — confi",
|
|
27
|
+
"input": {
|
|
28
|
+
"order_id": "string"
|
|
64
29
|
},
|
|
65
|
-
"input": { "subscription_id": "string (MP preapproval ID)" },
|
|
66
30
|
"output": {
|
|
67
|
-
"
|
|
68
|
-
"status": "
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
31
|
+
"order_id": "string",
|
|
32
|
+
"status": "string"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "cancel_payment",
|
|
37
|
+
"description": "Cancel a pending or in_process payment (only works before approval). Once approved, use refund_payment instead. Common use: cancel an unpaid ticket payment that's still pending. **IRREVERSIBLE — confi",
|
|
38
|
+
"input": {
|
|
39
|
+
"payment_id": "string"
|
|
75
40
|
},
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
|
|
81
|
-
|
|
41
|
+
"output": {
|
|
42
|
+
"payment_id": "string",
|
|
43
|
+
"status": "cancelled",
|
|
44
|
+
"message": "string"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "cancel_point_payment_intent",
|
|
49
|
+
"description": "Cancel an OPEN point payment intent before the buyer interacts with the device. ONLY WORKS while state='OPEN' — once the buyer taps, you can't cancel; refund_payment after the fact instead. **IRREVERS"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "cancel_qr_payment",
|
|
53
|
+
"description": "Cancel a pending QR order on a POS. Necessary if the buyer never scans — otherwise the next create_qr_payment on the same POS returns 409. **IRREVERSIBLE — but low-stakes since the QR has not been pai"
|
|
82
54
|
},
|
|
83
55
|
{
|
|
84
56
|
"name": "cancel_subscription",
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
|
|
88
|
-
"constraints": {
|
|
89
|
-
"envVars": ["MP_ACCESS_TOKEN"],
|
|
90
|
-
"externalIO": ["MP REST API"],
|
|
91
|
-
"latencyMs": "200-500",
|
|
92
|
-
"costPerCall": "$0"
|
|
57
|
+
"description": "Cancel an active Mercado Pago subscription. After cancellation, MP will not charge the customer again. This action is irreversible — confirm with the user before calling.",
|
|
58
|
+
"input": {
|
|
59
|
+
"subscription_id": "string"
|
|
93
60
|
},
|
|
94
|
-
"input": { "subscription_id": "string" },
|
|
95
61
|
"output": {
|
|
96
62
|
"subscription_id": "string",
|
|
97
63
|
"status": "cancelled",
|
|
98
64
|
"message": "string"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "capture_order",
|
|
69
|
+
"description": "Capture a previously-authorized Order (only for orders created with capture_mode='manual'). Captures up to the originally-authorized amount; pass amount for partial capture. Common use: ride-share mar",
|
|
70
|
+
"input": {
|
|
71
|
+
"order_id": "string",
|
|
72
|
+
"amount": "number?"
|
|
99
73
|
},
|
|
100
|
-
"
|
|
101
|
-
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
"irreversibility": "MP cannot reactivate a cancelled subscription. Create a fresh one to resume billing."
|
|
74
|
+
"output": {
|
|
75
|
+
"order_id": "string",
|
|
76
|
+
"status": "string",
|
|
77
|
+
"captured_amount": "number"
|
|
78
|
+
}
|
|
106
79
|
},
|
|
107
80
|
{
|
|
108
|
-
"name": "
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
"envVars": ["MP_ACCESS_TOKEN"],
|
|
114
|
-
"externalIO": ["MP REST API"],
|
|
115
|
-
"latencyMs": "200-500",
|
|
116
|
-
"costPerCall": "$0"
|
|
81
|
+
"name": "capture_payment",
|
|
82
|
+
"description": "Capture an authorized credit-card payment that was created with capture=false. Use for hold-then-capture flows (e.g., authorize on order, capture on shipment). Optional partial amount. **MOVES MONEY —",
|
|
83
|
+
"input": {
|
|
84
|
+
"payment_id": "string",
|
|
85
|
+
"amount_ars": "number? (partial capture)"
|
|
117
86
|
},
|
|
118
|
-
"
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
]
|
|
87
|
+
"output": {
|
|
88
|
+
"payment_id": "string",
|
|
89
|
+
"status": "approved",
|
|
90
|
+
"amount": "number"
|
|
91
|
+
}
|
|
124
92
|
},
|
|
125
93
|
{
|
|
126
|
-
"name": "
|
|
127
|
-
"
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
"
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
94
|
+
"name": "charge_saved_card",
|
|
95
|
+
"description": "Charge a previously-saved card for a returning customer. Requires customer_id + card_id (from list_customer_cards) AND a fresh CVV the user provides this session. AR Mercado Pago does NOT support CVV-"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "compute_marketplace_fee",
|
|
99
|
+
"description": "PURE HELPER (no network) — given a transaction amount + fee rule (% or flat ARS, with optional min/max floors), returns the exact `marketplace_fee` value in ARS to pass to create_order or create_payme"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "confirm_3ds_challenge",
|
|
103
|
+
"description": "After the buyer completes a 3DS challenge (redirected back from challengeUrl), call this to poll MP and confirm whether the payment is now resolved. Polls get_payment up to N times with exponential ba"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "create_customer",
|
|
107
|
+
"description": "Create a Mercado Pago customer record so the buyer can save cards for future charges. Idempotent on email — if a customer with that email exists, MP returns it instead of creating a duplicate. Use fin",
|
|
108
|
+
"input": {
|
|
109
|
+
"email": "string",
|
|
110
|
+
"first_name": "string?",
|
|
111
|
+
"last_name": "string?",
|
|
112
|
+
"identification": "{type: DNI|CUIT|CUIL, number: string}?"
|
|
135
113
|
},
|
|
136
|
-
"
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
"
|
|
141
|
-
|
|
114
|
+
"output": {
|
|
115
|
+
"customer_id": "string",
|
|
116
|
+
"email": "string",
|
|
117
|
+
"first_name": "string|null",
|
|
118
|
+
"last_name": "string|null",
|
|
119
|
+
"date_created": "ISO"
|
|
120
|
+
}
|
|
142
121
|
},
|
|
143
122
|
{
|
|
144
|
-
"name": "
|
|
145
|
-
"
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
"
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
"
|
|
152
|
-
"
|
|
123
|
+
"name": "create_customer_card",
|
|
124
|
+
"description": "Add a saved card to an existing customer using a card_token (one-time token from MP frontend Cardform — agents should NEVER take raw card data, that's a PCI violation). Returns the saved CustomerCard "
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "create_order",
|
|
128
|
+
"description": "Create a new Order via MP's modern Order Management API. DIFFERENT from create_payment_preference: Order is a transactional entity with explicit lifecycle (created → processed → captured/canceled), su",
|
|
129
|
+
"input": {
|
|
130
|
+
"type": "'online' | 'in_store'",
|
|
131
|
+
"currency_id": "string? (default ARS)",
|
|
132
|
+
"external_reference": "string?",
|
|
133
|
+
"total_amount": "number?",
|
|
134
|
+
"items": "array?",
|
|
135
|
+
"payer_email": "string?",
|
|
136
|
+
"capture_mode": "'automatic' | 'manual'?",
|
|
137
|
+
"notification_url": "string?",
|
|
138
|
+
"marketplace": "string?",
|
|
139
|
+
"marketplace_fee": "number? (ARS)",
|
|
140
|
+
"collector_id": "string|number? (seller MP user_id)"
|
|
153
141
|
},
|
|
142
|
+
"output": {
|
|
143
|
+
"order_id": "string",
|
|
144
|
+
"status": "string",
|
|
145
|
+
"capture_mode": "string",
|
|
146
|
+
"total_amount": "number"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "create_payment",
|
|
151
|
+
"description": "Create a one-time payment. Two flows: (a) with a card token from MP frontend Cardform — for transparent checkout; (b) without token, for non-card methods like 'account_money', 'rapipago', 'pagofacil'.",
|
|
154
152
|
"input": {
|
|
155
153
|
"amount_ars": "number positive",
|
|
156
154
|
"payment_method_id": "string (visa | master | naranja | account_money | rapipago | ...)",
|
|
@@ -164,252 +162,502 @@
|
|
|
164
162
|
"payment_id": "string",
|
|
165
163
|
"status": "approved | pending | rejected | in_process | cancelled",
|
|
166
164
|
"status_detail": "string (see AGENTS.md for recovery actions per value)",
|
|
167
|
-
"amount": "number",
|
|
168
|
-
"
|
|
165
|
+
"amount": "number",
|
|
166
|
+
"currency": "ARS",
|
|
167
|
+
"installments": "number",
|
|
168
|
+
"payment_method": "string",
|
|
169
169
|
"external_reference": "string | null",
|
|
170
|
-
"date_created": "ISO date",
|
|
170
|
+
"date_created": "ISO date",
|
|
171
|
+
"date_approved": "ISO date | null"
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"name": "create_payment_preference",
|
|
176
|
+
"description": "Create a Mercado Pago Checkout Pro preference and get back a payment URL (init_point) to send to the customer. THIS is the recommended way for an agent to take a payment when you only have a payer ema",
|
|
177
|
+
"input": {
|
|
178
|
+
"items": "array of {title, quantity, unit_price, description?, picture_url?}",
|
|
179
|
+
"payer_email": "string?",
|
|
180
|
+
"external_reference": "string?",
|
|
181
|
+
"max_installments": "number 1-24?",
|
|
182
|
+
"statement_descriptor": "string max 13 chars?",
|
|
183
|
+
"excluded_payment_types": "array of (credit_card|debit_card|ticket|atm|bank_transfer)?"
|
|
171
184
|
},
|
|
172
|
-
"
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
"
|
|
178
|
-
|
|
179
|
-
]
|
|
185
|
+
"output": {
|
|
186
|
+
"preference_id": "string",
|
|
187
|
+
"init_point_url": "string (production)",
|
|
188
|
+
"sandbox_init_point_url": "string (sandbox — use this if your token is TEST-)",
|
|
189
|
+
"external_reference": "string | null",
|
|
190
|
+
"next_step": "Send init_point_url to the customer..."
|
|
191
|
+
}
|
|
180
192
|
},
|
|
181
193
|
{
|
|
182
|
-
"name": "
|
|
183
|
-
"
|
|
184
|
-
"purity": "io",
|
|
185
|
-
"sideEffects": [],
|
|
186
|
-
"constraints": { "latencyMs": "100-300", "externalIO": ["MP REST GET /v1/payments/:id"] },
|
|
187
|
-
"input": { "payment_id": "string" },
|
|
188
|
-
"output": "Same shape as create_payment output, plus net_received"
|
|
194
|
+
"name": "create_point_payment_intent",
|
|
195
|
+
"description": "Create a payment intent on a physical Point device — the device prompts the buyer to tap/insert/swipe their card. Returns immediately with intent_id; query state via get_point_payment_intent or wait f"
|
|
189
196
|
},
|
|
190
197
|
{
|
|
191
|
-
"name": "
|
|
192
|
-
"
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
"
|
|
198
|
+
"name": "create_pos",
|
|
199
|
+
"description": "Create a POS (Point of Sale) under a store. The POS's external_id is what create_qr_payment uses. Each physical checkout / counter / agent typically has its own POS. Categories are MP-defined (default"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"name": "create_qr_payment",
|
|
203
|
+
"description": "Generate a dynamic in-store QR for a buyer to scan with any AR wallet (Modo, BNA+, Cuenta DNI, Naranja X, Mercado Pago, etc. — interop is mandated by Transferencias 3.0). Requires a pre-configured POS"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "create_store",
|
|
207
|
+
"description": "Create a store under the seller's MP account. Stores are the parent entity for POSes (which generate QR payments). Required ONE-TIME setup before create_pos. Pass a unique external_id and a display na"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"name": "create_subscription",
|
|
211
|
+
"description": "Create a Mercado Pago recurring subscription. Returns an init_point URL where the customer must complete the FIRST payment with their card and CVV (this is a hard MP requirement; agents cannot bypass ",
|
|
196
212
|
"input": {
|
|
197
|
-
"
|
|
198
|
-
"
|
|
199
|
-
"
|
|
213
|
+
"customer_email": "string (email; cannot equal seller email)",
|
|
214
|
+
"amount_ars": "number (positive)",
|
|
215
|
+
"frequency_months": "number (1-12)",
|
|
216
|
+
"reason": "string (3-120 chars)",
|
|
217
|
+
"external_reference": "string | undefined"
|
|
200
218
|
},
|
|
201
|
-
"output": {
|
|
219
|
+
"output": {
|
|
220
|
+
"subscription_id": "string",
|
|
221
|
+
"status": "pending",
|
|
222
|
+
"init_point_url": "string (URL the buyer must visit to complete first payment)",
|
|
223
|
+
"next_step": "string (instructions for the agent)"
|
|
224
|
+
}
|
|
202
225
|
},
|
|
203
226
|
{
|
|
204
|
-
"name": "
|
|
205
|
-
"
|
|
206
|
-
"purity": "io",
|
|
207
|
-
"sideEffects": ["Mutates payment status to cancelled on MP"],
|
|
208
|
-
"input": { "payment_id": "string" },
|
|
209
|
-
"output": { "payment_id": "string", "status": "cancelled", "message": "string" }
|
|
227
|
+
"name": "create_subscription_plan",
|
|
228
|
+
"description": "Create a REUSABLE subscription plan (preapproval_plan). Different from create_subscription: a plan defines price + frequency once, then customers subscribe to it via subscribe_to_plan. Use plans for S"
|
|
210
229
|
},
|
|
211
230
|
{
|
|
212
|
-
"name": "
|
|
213
|
-
"
|
|
214
|
-
"purity": "io",
|
|
215
|
-
"sideEffects": ["Captures funds; settles to seller per MP rules"],
|
|
216
|
-
"input": { "payment_id": "string", "amount_ars": "number? (partial capture)" },
|
|
217
|
-
"output": { "payment_id": "string", "status": "approved", "amount": "number" }
|
|
231
|
+
"name": "create_webhook",
|
|
232
|
+
"description": "Subscribe a webhook URL to a MP topic (payment, subscription_authorized_payment, subscription_preapproval, merchant_order, point_integration_wh). MP will POST to this URL when events of that topic fir"
|
|
218
233
|
},
|
|
219
234
|
{
|
|
220
|
-
"name": "
|
|
221
|
-
"
|
|
222
|
-
"
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
"output": {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
"
|
|
230
|
-
|
|
231
|
-
],
|
|
232
|
-
"irreversibility": "Refund is irreversible. Confirm amount and payment_id with user first."
|
|
235
|
+
"name": "delete_customer_card",
|
|
236
|
+
"description": "Delete a saved card from a customer. Common use: customer requests removal, or expired card cleanup. **IRREVERSIBLE — confirm with the user before calling. The customer must re-enter card data (PAN + ",
|
|
237
|
+
"input": {
|
|
238
|
+
"customer_id": "string",
|
|
239
|
+
"card_id": "string"
|
|
240
|
+
},
|
|
241
|
+
"output": {
|
|
242
|
+
"customer_id": "string",
|
|
243
|
+
"card_id": "string",
|
|
244
|
+
"deleted": "true"
|
|
245
|
+
}
|
|
233
246
|
},
|
|
234
247
|
{
|
|
235
|
-
"name": "
|
|
236
|
-
"
|
|
237
|
-
"purity": "io",
|
|
238
|
-
"sideEffects": [],
|
|
239
|
-
"input": { "payment_id": "string" },
|
|
240
|
-
"output": { "payment_id": "string", "count": "number", "refunds": "array of {refund_id, amount, status, date_created}" }
|
|
248
|
+
"name": "delete_pos",
|
|
249
|
+
"description": "Delete a POS. IRREVERSIBLE. Cancels any pending QR orders attached to it. Confirm with user before calling."
|
|
241
250
|
},
|
|
242
251
|
{
|
|
243
|
-
"name": "
|
|
244
|
-
"
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
"
|
|
252
|
+
"name": "delete_store",
|
|
253
|
+
"description": "Delete a store. IRREVERSIBLE. Confirm with user before calling. Will fail if the store has associated POSes — delete those first."
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"name": "delete_webhook",
|
|
257
|
+
"description": "Delete a webhook subscription. MP stops POSTing to it immediately. **IRREVERSIBLE — confirm before calling. State the webhook URL + topic so the user knows which subscription is being removed. Re-subs"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "explain_payment_status",
|
|
261
|
+
"description": "PURE HELPER (no network) — given a Payment object (from get_payment / create_payment / handle_webhook), returns { summary, recommendedAction, final, paid, retryable } in Spanish. Translates MP's crypt"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"name": "find_applicable_promos",
|
|
265
|
+
"description": "PURE HELPER (no network, sub-ms) — returns the 'cuotas sin interés' promotions applicable to a given (issuer, paymentMethodId, amount, category, date) tuple. Includes the federal Ahora 3/6/12/18/24/30"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"name": "find_customer_by_email",
|
|
269
|
+
"description": "Find an existing customer by email address. Returns the customer object if found, or null. Use before create_customer to avoid duplicate records.",
|
|
248
270
|
"input": {
|
|
249
|
-
"
|
|
250
|
-
"payer_email": "string?", "external_reference": "string?",
|
|
251
|
-
"max_installments": "number 1-24?",
|
|
252
|
-
"statement_descriptor": "string max 13 chars?",
|
|
253
|
-
"excluded_payment_types": "array of (credit_card|debit_card|ticket|atm|bank_transfer)?"
|
|
271
|
+
"email": "string"
|
|
254
272
|
},
|
|
255
273
|
"output": {
|
|
256
|
-
"
|
|
257
|
-
"
|
|
258
|
-
"
|
|
259
|
-
"
|
|
260
|
-
"
|
|
274
|
+
"found": "boolean",
|
|
275
|
+
"customer_id": "string | null",
|
|
276
|
+
"email": "string?",
|
|
277
|
+
"first_name": "string?",
|
|
278
|
+
"last_name": "string?"
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"name": "get_account_balance",
|
|
283
|
+
"description": "Get the seller's current MP wallet balance. Returns { available_balance, unavailable_balance, total_amount, currency_id }. The available balance is what the seller can withdraw or pay with right now; "
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"name": "get_account_info",
|
|
287
|
+
"description": "Get info about the Mercado Pago account that owns the access token: site_id (MLA=Argentina), country_id, user_type (registered, partial, etc.). Useful to verify the agent is connected to the right acc",
|
|
288
|
+
"input": {},
|
|
289
|
+
"output": {
|
|
290
|
+
"account_id": "string",
|
|
291
|
+
"email": "string|null",
|
|
292
|
+
"nickname": "string|null",
|
|
293
|
+
"country_id": "string|null (AR for Argentina)",
|
|
294
|
+
"site_id": "string|null (MLA for Argentina)",
|
|
295
|
+
"user_type": "string|null"
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"name": "get_customer",
|
|
300
|
+
"description": "Get a customer by id. Returns full Customer object: email, first_name, last_name, identification, address, default_card, registered cards. PURE READ. USE WHEN you have the customer_id from a previous "
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"name": "get_customer_card",
|
|
304
|
+
"description": "Get details of a single saved card by (customer_id, card_id). Returns last 4 digits, expiration, brand, issuer. PURE READ — useful before charge_saved_card to confirm the card is still valid."
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"name": "get_dispute",
|
|
308
|
+
"description": "Get details of a specific dispute including reason, amount, resolution status. Read-only."
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"name": "get_merchant_order",
|
|
312
|
+
"description": "Get a merchant_order with all its associated payments + shipments. MerchantOrder is the parent entity for Payments associated with a single Preference — one Order can have multiple partial Payments (r"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"name": "get_order",
|
|
316
|
+
"description": "Fetch an Order by ID. Returns the Order with its lifecycle status and any attached payments/refunds.",
|
|
317
|
+
"input": {
|
|
318
|
+
"order_id": "string"
|
|
319
|
+
},
|
|
320
|
+
"output": "Order"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"name": "get_payment",
|
|
324
|
+
"description": "Fetch a single payment by ID. Use to confirm status after webhook arrives, or to inspect details (status_detail explains rejections).",
|
|
325
|
+
"input": {
|
|
326
|
+
"payment_id": "string"
|
|
261
327
|
},
|
|
262
|
-
"
|
|
263
|
-
"User wants to charge a payer over WhatsApp/email/SMS",
|
|
264
|
-
"User says 'cobrale $X a [email]' and you don't have a card token"
|
|
265
|
-
],
|
|
266
|
-
"whenNotToUse": [
|
|
267
|
-
"Recurring subscription — use create_subscription",
|
|
268
|
-
"User pasted raw card data — REFUSE (PCI violation)"
|
|
269
|
-
]
|
|
328
|
+
"output": "Same shape as create_payment output, plus net_received"
|
|
270
329
|
},
|
|
271
330
|
{
|
|
272
331
|
"name": "get_payment_preference",
|
|
273
|
-
"
|
|
274
|
-
"
|
|
275
|
-
|
|
332
|
+
"description": "Fetch a Checkout Pro preference by ID. Returns the preference config and current init_point URLs. Use to inspect a previously-created link.",
|
|
333
|
+
"input": {
|
|
334
|
+
"preference_id": "string"
|
|
335
|
+
},
|
|
276
336
|
"output": "Same as create_payment_preference output, plus items array"
|
|
277
337
|
},
|
|
278
338
|
{
|
|
279
|
-
"name": "
|
|
280
|
-
"
|
|
281
|
-
|
|
282
|
-
|
|
339
|
+
"name": "get_point_payment_intent",
|
|
340
|
+
"description": "Get the current state of a Point payment intent (OPEN, PROCESSING, FINISHED, CANCELED, ERROR). USE in polling loops if you can't wait for the webhook. When state=FINISHED, the intent.payment.id is the"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"name": "get_pos",
|
|
344
|
+
"description": "Fetch a POS by id. Returns: name, store_id, category, external_id, qr_template (if configured). PURE READ. Use when you need to find the external_id for create_qr_payment."
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"name": "get_refund",
|
|
348
|
+
"description": "Fetch a single refund by (payment_id, refund_id). Returns the Refund object with amount, status, date_created. PURE READ — useful to verify a refund processed or to reconcile partial-refund history."
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"name": "get_settlement",
|
|
352
|
+
"description": "Get details of a single settlement: amount, date_scheduled, date_processed, bank_account info (CBU + bank name)."
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"name": "get_store",
|
|
356
|
+
"description": "Fetch a single store by (user_id, store_id). Returns store details: name, location, business_hours, external_id. PURE READ."
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"name": "get_subscription_plan",
|
|
360
|
+
"description": "Fetch a subscription plan by id. Returns plan config: amount, frequency, status, init_point. Use to inspect a plan before subscribing customers, or to display plan details to the user."
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"name": "get_subscription_status",
|
|
364
|
+
"description": "Check the current status of a Mercado Pago subscription. Use this to confirm the customer completed the first payment (status becomes 'authorized') or to inspect the next charge date.",
|
|
283
365
|
"input": {
|
|
284
|
-
"
|
|
285
|
-
"first_name": "string?", "last_name": "string?",
|
|
286
|
-
"identification": "{type: DNI|CUIT|CUIL, number: string}?"
|
|
366
|
+
"subscription_id": "string (MP preapproval ID)"
|
|
287
367
|
},
|
|
288
|
-
"output": {
|
|
368
|
+
"output": {
|
|
369
|
+
"subscription_id": "string",
|
|
370
|
+
"status": "pending | authorized | paused | cancelled",
|
|
371
|
+
"payer_email": "string",
|
|
372
|
+
"amount": "number",
|
|
373
|
+
"currency": "ARS | USD | ...",
|
|
374
|
+
"next_payment_date": "ISO date | null",
|
|
375
|
+
"last_webhook_status": "string | null (cached from latest webhook)",
|
|
376
|
+
"last_webhook_at": "ISO date | null"
|
|
377
|
+
}
|
|
289
378
|
},
|
|
290
379
|
{
|
|
291
|
-
"name": "
|
|
292
|
-
"
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
"
|
|
380
|
+
"name": "get_test_cards",
|
|
381
|
+
"description": "Pure helper that returns the official MP test cards for AR (MLA): VISA/Mastercard/Amex credit + debit, with the 'magic' holder names that route the payment to specific status_detail values (APRO=appro"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"name": "handle_webhook",
|
|
385
|
+
"description": "Process an incoming MP webhook in ONE call: verify the HMAC-SHA256 signature, parse the event, and (optionally) auto-fetch the underlying resource (Payment, Subscription, Order). Returns the structure",
|
|
386
|
+
"input": {
|
|
387
|
+
"raw_body": "string (raw JSON body — do NOT re-stringify)",
|
|
388
|
+
"signature_header": "string|null (x-signature)",
|
|
389
|
+
"request_id_header": "string|null (x-request-id)",
|
|
390
|
+
"auto_fetch": "boolean? default true"
|
|
391
|
+
},
|
|
392
|
+
"output": {
|
|
393
|
+
"verified": "boolean",
|
|
394
|
+
"event": "{ topic, dataId, action, raw } | null",
|
|
395
|
+
"resource": "Payment | Preapproval | null",
|
|
396
|
+
"resource_error": "string | null",
|
|
397
|
+
"error": "string | null"
|
|
398
|
+
}
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"name": "list_account_movements",
|
|
402
|
+
"description": "List wallet movements (incoming payments, transfers, refunds, holdings) for the active MP account. Filter by date range with `from`/`to` (ISO 8601). Useful for monthly conciliation or 'show me what ca"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"name": "list_bank_accounts",
|
|
406
|
+
"description": "List the bank accounts (CBUs) the seller has registered with MP for receiving payouts. Returns an array — the one with `is_default: true` is where settlements (release_money) go. USE BEFORE list_settl"
|
|
296
407
|
},
|
|
297
408
|
{
|
|
298
409
|
"name": "list_customer_cards",
|
|
299
|
-
"
|
|
300
|
-
"
|
|
301
|
-
|
|
302
|
-
|
|
410
|
+
"description": "List the saved cards for a customer. Returns array with last 4 digits, expiration, payment method (visa, master, naranja, etc.). The card_id can be used in subsequent create_payment calls to charge a ",
|
|
411
|
+
"input": {
|
|
412
|
+
"customer_id": "string"
|
|
413
|
+
},
|
|
414
|
+
"output": {
|
|
415
|
+
"customer_id": "string",
|
|
416
|
+
"count": "number",
|
|
417
|
+
"cards": "array of {card_id, last_four_digits, expiration_month, expiration_year, payment_method, payment_method_name}"
|
|
418
|
+
}
|
|
303
419
|
},
|
|
304
420
|
{
|
|
305
|
-
"name": "
|
|
306
|
-
"
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
"
|
|
421
|
+
"name": "list_identification_types",
|
|
422
|
+
"description": "List valid identification types for the seller's site. AR returns: DNI, CI, LE, LC, Otro, Pasaporte, CUIT, CUIL with their min/max length. Useful to validate an identification before passing to create"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"name": "list_issuers",
|
|
426
|
+
"description": "List card issuers (banks) that support a payment_method_id. Optionally filter by `bin` (first 6 digits of the card) for accurate issuer detection. Useful with calculate_installments — issuer-specific "
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"name": "list_payment_disputes",
|
|
430
|
+
"description": "List all disputes / chargebacks raised against a payment. Read-only — resolution is dashboard-only. Surface the dashboard URL `https://www.mercadopago.com.ar/disputes/{dispute_id}` to the user when th"
|
|
310
431
|
},
|
|
311
432
|
{
|
|
312
433
|
"name": "list_payment_methods",
|
|
313
|
-
"
|
|
314
|
-
"purity": "io", "sideEffects": [],
|
|
434
|
+
"description": "List all payment methods enabled for the seller's MP account (visa, master, naranja, naranja_x, cabal, account_money, rapipago, pagofacil, etc.). Use to validate which methods you can offer the custom",
|
|
315
435
|
"input": {},
|
|
316
|
-
"output": {
|
|
436
|
+
"output": {
|
|
437
|
+
"count": "number",
|
|
438
|
+
"methods": "array of {id, name, payment_type, status, min_amount, max_amount}"
|
|
439
|
+
}
|
|
317
440
|
},
|
|
318
441
|
{
|
|
319
|
-
"name": "
|
|
320
|
-
"
|
|
321
|
-
|
|
322
|
-
|
|
442
|
+
"name": "list_point_devices",
|
|
443
|
+
"description": "List the physical Point devices (Smart, Tap to Pay, etc.) linked to the seller's MP account. Distinct from logical POS — these are actual terminals at brick-and-mortar shops. Returns each device's id "
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"name": "list_pos",
|
|
447
|
+
"description": "List all POSes for the seller (or filtered by store_id). Use to find an existing POS before create_qr_payment, or to surface options."
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"name": "list_refunds",
|
|
451
|
+
"description": "List all refunds for a given payment. Returns array of Refund objects. Useful to confirm a refund was processed or to inspect partial-refund history.",
|
|
323
452
|
"input": {
|
|
324
|
-
"
|
|
325
|
-
"payment_method_id": "string? (e.g. visa, master, naranja)",
|
|
326
|
-
"bin": "string? 6-8 chars (first digits of card for issuer-specific promos)"
|
|
453
|
+
"payment_id": "string"
|
|
327
454
|
},
|
|
328
455
|
"output": {
|
|
329
|
-
"
|
|
330
|
-
"
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
"User asks 'cuántas cuotas tiene esta tarjeta?'",
|
|
334
|
-
"Before create_payment with installments > 1 to validate available options",
|
|
335
|
-
"Show options BEFORE the user picks (AR transparency regulation E 51/2017 compliance)"
|
|
336
|
-
]
|
|
456
|
+
"payment_id": "string",
|
|
457
|
+
"count": "number",
|
|
458
|
+
"refunds": "array of {refund_id, amount, status, date_created}"
|
|
459
|
+
}
|
|
337
460
|
},
|
|
338
461
|
{
|
|
339
|
-
"name": "
|
|
340
|
-
"
|
|
341
|
-
"purity": "io", "sideEffects": [],
|
|
342
|
-
"input": {},
|
|
343
|
-
"output": { "account_id": "string", "email": "string|null", "nickname": "string|null", "country_id": "string|null (AR for Argentina)", "site_id": "string|null (MLA for Argentina)", "user_type": "string|null" }
|
|
462
|
+
"name": "list_settlements",
|
|
463
|
+
"description": "List settlements (release_money) — i.e. transfers from the MP wallet to the seller's registered bank account (CBU). USE WHEN the user asks 'cuándo me deposita MP' or for monthly bank-conciliation repo"
|
|
344
464
|
},
|
|
345
465
|
{
|
|
346
|
-
"name": "
|
|
347
|
-
"
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
"
|
|
351
|
-
"
|
|
352
|
-
|
|
466
|
+
"name": "list_settlements_all",
|
|
467
|
+
"description": "Collect ALL settlements matching a filter — auto-paginates. Pass `max_items` to cap. Use for monthly bank-conciliation reports."
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"name": "list_stores",
|
|
471
|
+
"description": "List all stores configured for this MP account. Use this to find an existing store_id before create_pos, or to surface store options to the agent."
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"name": "list_subscription_payments",
|
|
475
|
+
"description": "List the auto-charge attempts (authorized_payments) under a subscription. Useful for 'show me the cobros del último mes for this client' or to debug a failing recurring charge."
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"name": "list_subscription_plans",
|
|
479
|
+
"description": "List all subscription plans defined for this MP account. Useful before create_subscription_plan to check if one already exists, or for surfacing options to a customer."
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"name": "list_webhooks",
|
|
483
|
+
"description": "List all webhook subscriptions configured for this MP application. Use to see what topics + URLs are wired before adding new ones."
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
"name": "mp_health_check",
|
|
487
|
+
"description": "Liveness probe against MP. Returns { ok, latencyMs, userId, circuit }. USE THIS as the first call in long-running agent workflows to verify (a) network path to MP is up, (b) accessToken is valid, (c) "
|
|
353
488
|
},
|
|
354
489
|
{
|
|
355
490
|
"name": "oauth_authorize_url",
|
|
356
|
-
"
|
|
357
|
-
"
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
491
|
+
"description": "Build the URL the SELLER (third-party MP account) visits to authorize your marketplace app. Pass the seller's redirect uri (must be whitelisted in MP dev panel) and an opaque state token (CSRF protect",
|
|
492
|
+
"input": {
|
|
493
|
+
"redirect_uri": "string (must be whitelisted in MP dev panel)",
|
|
494
|
+
"state": "string (CSRF token, bind to user session)"
|
|
495
|
+
},
|
|
496
|
+
"output": {
|
|
497
|
+
"available": "boolean",
|
|
498
|
+
"url": "string|null",
|
|
499
|
+
"next_step": "string"
|
|
500
|
+
}
|
|
361
501
|
},
|
|
362
502
|
{
|
|
363
503
|
"name": "oauth_exchange_code",
|
|
364
|
-
"
|
|
365
|
-
"
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
504
|
+
"description": "Exchange the authorization code (from the OAuth redirect) for an `OAuthToken`. Returns access_token, refresh_token, user_id, and expires_in. **PERSIST the entire response** — refresh_token is long-liv",
|
|
505
|
+
"input": {
|
|
506
|
+
"code": "string",
|
|
507
|
+
"redirect_uri": "string (must EXACTLY match the URL used in oauth_authorize_url)"
|
|
508
|
+
},
|
|
509
|
+
"output": {
|
|
510
|
+
"available": "boolean",
|
|
511
|
+
"token": "OAuthToken | null",
|
|
512
|
+
"error": "string | null",
|
|
513
|
+
"next_step": "string"
|
|
514
|
+
}
|
|
369
515
|
},
|
|
370
516
|
{
|
|
371
517
|
"name": "oauth_refresh_token",
|
|
372
|
-
"
|
|
373
|
-
"
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
"output": {
|
|
518
|
+
"description": "Refresh a per-seller access_token using the saved refresh_token. Call PROACTIVELY before expires_in elapses, or REACTIVELY on a 401 from a per-seller MercadoPagoClient. Returns a fresh OAuthToken — pe",
|
|
519
|
+
"input": {
|
|
520
|
+
"refresh_token": "string"
|
|
521
|
+
},
|
|
522
|
+
"output": {
|
|
523
|
+
"available": "boolean",
|
|
524
|
+
"token": "OAuthToken | null",
|
|
525
|
+
"error": "string | null"
|
|
526
|
+
}
|
|
377
527
|
},
|
|
378
528
|
{
|
|
379
|
-
"name": "
|
|
380
|
-
"
|
|
381
|
-
"
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
"output": {
|
|
529
|
+
"name": "pause_subscription",
|
|
530
|
+
"description": "Pause an authorized Mercado Pago subscription. Charges stop until resumed. Only works on subscriptions in 'authorized' status.",
|
|
531
|
+
"input": {
|
|
532
|
+
"subscription_id": "string"
|
|
533
|
+
},
|
|
534
|
+
"output": {
|
|
535
|
+
"subscription_id": "string",
|
|
536
|
+
"status": "paused",
|
|
537
|
+
"message": "string"
|
|
538
|
+
}
|
|
385
539
|
},
|
|
386
540
|
{
|
|
387
|
-
"name": "
|
|
388
|
-
"
|
|
389
|
-
"
|
|
390
|
-
|
|
391
|
-
|
|
541
|
+
"name": "refund_payment",
|
|
542
|
+
"description": "Refund an approved payment. Pass amount for partial refund; omit for full refund. Idempotency key is auto-generated based on paymentId+amount to prevent double-refunds on retries. **IRREVERSIBLE AND M",
|
|
543
|
+
"input": {
|
|
544
|
+
"payment_id": "string",
|
|
545
|
+
"amount_ars": "number? (omit for full refund)"
|
|
546
|
+
},
|
|
547
|
+
"output": {
|
|
548
|
+
"refund_id": "string",
|
|
549
|
+
"payment_id": "string",
|
|
550
|
+
"amount": "number",
|
|
551
|
+
"status": "approved",
|
|
552
|
+
"message": "string"
|
|
553
|
+
}
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
"name": "register_bank_account",
|
|
557
|
+
"description": "Register a new bank account (CBU) for the seller. NOTE: MP usually requires this through the dashboard for compliance — this endpoint may not work for all accounts. If it fails with 403, redirect the "
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"name": "resume_subscription",
|
|
561
|
+
"description": "Resume a paused Mercado Pago subscription. Charges resume on the next scheduled date. Only works on subscriptions in 'paused' status.",
|
|
562
|
+
"input": {
|
|
563
|
+
"subscription_id": "string"
|
|
564
|
+
},
|
|
565
|
+
"output": {
|
|
566
|
+
"subscription_id": "string",
|
|
567
|
+
"status": "authorized",
|
|
568
|
+
"message": "string"
|
|
569
|
+
}
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"name": "search_merchant_orders",
|
|
573
|
+
"description": "Search merchant_orders by preference_id, external_reference, or status. Paginated. Returns up to 50 per page. USE WHEN you have a preference_id and want all its derived merchant_orders, or when reconc"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"name": "search_payments",
|
|
577
|
+
"description": "Search payments with filters. Most common: by external_reference (your-system identifier) to find all payments for an order, or by status='approved' to list successful charges in a date range. Returns",
|
|
578
|
+
"input": {
|
|
579
|
+
"external_reference": "string?",
|
|
580
|
+
"status": "string?",
|
|
581
|
+
"payer_email": "string?",
|
|
582
|
+
"begin_date": "ISO?",
|
|
583
|
+
"end_date": "ISO?",
|
|
584
|
+
"limit": "number 1-100, default 30",
|
|
585
|
+
"offset": "number, default 0"
|
|
586
|
+
},
|
|
587
|
+
"output": {
|
|
588
|
+
"total": "number",
|
|
589
|
+
"returned": "number",
|
|
590
|
+
"offset": "number",
|
|
591
|
+
"payments": "array of {payment_id, status, amount, currency, payer_email, external_reference, date_created}"
|
|
592
|
+
}
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"name": "search_payments_all",
|
|
596
|
+
"description": "Collect ALL payments matching a filter — auto-paginates under the hood. Returns an array (NOT paginated) so the agent doesn't have to manage offset/limit loops manually. SAFETY: pass `max_items` to ca"
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"name": "search_subscriptions",
|
|
600
|
+
"description": "Search subscriptions across the seller's account. Filter by status (pending/authorized/paused/cancelled), payer_email, external_reference, or preapproval_plan_id (to find all subscribers of a plan). P"
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"name": "subscribe_to_plan",
|
|
604
|
+
"description": "Subscribe a customer to an existing reusable plan. Returns a Preapproval with init_point URL where the customer completes first payment. Cleaner than create_subscription when you have fixed tiers."
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
"name": "update_customer",
|
|
608
|
+
"description": "Update a customer's profile (first_name, last_name, phone, identification, address, default_card). MP merges the patch — fields you don't send remain unchanged. Use to keep customer records in sync (e"
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"name": "update_merchant_order",
|
|
612
|
+
"description": "Update a merchant_order — typically to add items or shipping info. Most agent flows don't need this; use only when integrating with a custom shipping flow that requires updating the MO mid-lifecycle."
|
|
392
613
|
},
|
|
393
614
|
{
|
|
394
615
|
"name": "update_order",
|
|
395
|
-
"
|
|
396
|
-
"
|
|
397
|
-
|
|
616
|
+
"description": "Patch an existing Order before it's captured/canceled. Common use: update items or external_reference.",
|
|
617
|
+
"input": {
|
|
618
|
+
"order_id": "string",
|
|
619
|
+
"external_reference": "string?",
|
|
620
|
+
"total_amount": "number?"
|
|
621
|
+
},
|
|
398
622
|
"output": "Order"
|
|
399
623
|
},
|
|
400
624
|
{
|
|
401
|
-
"name": "
|
|
402
|
-
"
|
|
403
|
-
"purity": "io", "sideEffects": ["Captures funds — IRREVERSIBLE"],
|
|
404
|
-
"input": { "order_id": "string", "amount": "number?" },
|
|
405
|
-
"output": { "order_id": "string", "status": "string", "captured_amount": "number" }
|
|
625
|
+
"name": "update_payment_preference",
|
|
626
|
+
"description": "Update a Checkout Pro preference (notification_url, back_urls, items, payer info, payment_methods exclusion list). Only works on preferences NOT yet paid. Common use: regenerate the link with a new no"
|
|
406
627
|
},
|
|
407
628
|
{
|
|
408
|
-
"name": "
|
|
409
|
-
"
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
"
|
|
629
|
+
"name": "update_point_device_mode",
|
|
630
|
+
"description": "Switch a Point device's operating_mode between 'PDV' (bound to a logical POS, takes payments triggered through that POS) and 'STANDALONE' (works independently, accepts any payment). PDV is for cash-re"
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"name": "update_pos",
|
|
634
|
+
"description": "Update a POS's properties (name, category, external_id). MP merges the patch."
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"name": "update_store",
|
|
638
|
+
"description": "Update a store's properties (name, location, business_hours, external_id). MP merges the patch."
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
"name": "update_subscription",
|
|
642
|
+
"description": "Update a subscription's amount, status, reason, external_reference, OR card_token_id (to switch payment method when the buyer's card is expired/declined). For card swap: pass card_token_id from a fres"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"name": "update_subscription_plan",
|
|
646
|
+
"description": "Update a subscription plan's reason / amount / status / back_url. Existing customer subscriptions to the plan are NOT automatically updated — only NEW subscribers get the new pricing."
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"name": "update_webhook",
|
|
650
|
+
"description": "Update a webhook's URL or topic. Useful when you change deployment URLs without resubscribing from scratch."
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"name": "validate_tax_id",
|
|
654
|
+
"description": "PURE HELPER (no network, sub-ms) — validates a tax ID against the appropriate country algorithm. Supports AR (DNI/CUIT/CUIL with modulo-11), BR (CPF/CNPJ with two-step weighted modulo), MX (RFC struct"
|
|
413
655
|
}
|
|
414
|
-
]
|
|
656
|
+
],
|
|
657
|
+
"name": "@ar-agents/mercadopago",
|
|
658
|
+
"meta": {
|
|
659
|
+
"generated_at": "2026-05-06T20:54:56.481Z",
|
|
660
|
+
"generated_by": "scripts/regen-manifests.mjs",
|
|
661
|
+
"tool_count": 89
|
|
662
|
+
}
|
|
415
663
|
}
|