Agent Skills by ALSEL
Anthropic ClaudeEC・マーケティング⭐ リポ 299品質スコア 94/100

mercadopago

Node.js/TypeScriptアプリケーション向けのMercado Pago決済統合に対応しています。公式MCPサーバー、Node.js SDK(mercadopago npm)、Checkout Pro、Checkout Bricks、Checkout API、OAuthマーケットプレイスモデル、ウェブフック、マルチテナントアーキテクチャ、決済リンク生成に対応しています。 Mercado Pago決済、MercadoPago API、チェックアウト設定、決済リンク、MPウェブフック、MP OAuth、マーケットプレイス手数料、またはmercadopago npmパッケージを扱う場合に利用してください。以下のキーワードでも発動します:「link de pago」「cobro」「preferencia」「init_point」「sandbox_init_point」「mercadopago SDK」「MP integration」、ラテンアメリカ市場(AR、BR、MX、CO、CL、PE、UY)向けの決済処理、または「mercadopago」からのインポート。ラテンアメリカ市場の文脈で「決済リンク」や「チェックアウト」の言及があれば、このスキルを使用します。

description の原文を見る

Mercado Pago payment integration for Node.js/TypeScript applications. Covers the official MCP Server, Node.js SDK (mercadopago npm), Checkout Pro, Checkout Bricks, Checkout API, OAuth marketplace model, webhooks, multi-tenant architecture, and payment link generation. Use this skill whenever working with Mercado Pago payments, MercadoPago API, checkout preferences, payment links, MP webhooks, MP OAuth, marketplace fees, or the mercadopago npm package. Also triggers on: "link de pago", "cobro", "preferencia", "init_point", "sandbox_init_point", "mercadopago SDK", "MP integration", payment processing for Latin American markets (AR, BR, MX, CO, CL, PE, UY), or any code importing from 'mercadopago'. Even if the user just mentions "payment link" or "checkout" in the context of a Latin American market, use this skill.

SKILL.md 本文

Mercado Pago 統合ガイド

このスキルは、Node.js/TypeScript アプリケーション、特にチャットコマース(WhatsApp/Instagram)とマルチテナント SaaS プラットフォームへの Mercado Pago 統合に必要なすべての機能を提供します。

クイック判定:どのチェックアウトを選ぶか

チェックアウト最適な用途実装難易度チャット対応か
Checkout Pro支払いリンク、チャットコマース、迅速なセットアップはい - init_point URL を送信
Checkout Bricksサイトに埋め込む UI コンポーネントいいえ - Web ページが必要
Checkout APIフルカスタムチェックアウト、最大限の制御いいえ - フロントエンドが必要

チャットベースの販売(WhatsApp/Instagram ボット)では、常に Checkout Pro を使用してください。サーバー側でプリファレンスを作成し、init_point URL を抽出して顧客に送信します。

Node.js SDK セットアップ

npm install mercadopago
# v2.12.0 — TypeScript ネイティブ、クラスベース API
import { MercadoPagoConfig, Preference, Payment } from 'mercadopago';

const client = new MercadoPagoConfig({
  accessToken: '<ACCESS_TOKEN>',
  options: { timeout: 5000 }
});

利用可能な SDK クラス:MercadoPagoConfig(クライアント)、PreferencePaymentOrderCustomerCustomerCardCardTokenOAuthMerchantOrderPaymentRefundPaymentMethodPreApprovalPreApprovalPlanInvoiceIdentificationTypePointUser

支払いリンクの作成(Checkout Pro)

const preference = new Preference(client);
const result = await preference.create({
  body: {
    items: [{
      id: 'product-123',
      title: 'Blue T-Shirt',
      quantity: 1,
      unit_price: 2500.00,
      currency_id: 'UYU' // または ARS、BRL、MXN、COP、CLP、PEN
    }],
    external_reference: 'your-order-id',
    notification_url: 'https://yoursite.com/webhooks/mp?source_news=webhooks',
    back_urls: {
      success: 'https://yoursite.com/payment/success',
      failure: 'https://yoursite.com/payment/failure',
      pending: 'https://yoursite.com/payment/pending'
    },
    auto_return: 'approved',
    expires: true,
    date_of_expiration: '2026-03-18T23:59:59.000-03:00',
    marketplace_fee: 250.00, // プラットフォーム手数料(マーケットプレイスモデル)
    binary_mode: false,      // false で pending を許可(現金支払い方法を含む)
  }
});

const paymentLink = result.init_point;          // 本番環境
const sandboxLink = result.sandbox_init_point;  // テスト環境

レスポンスの重要フィールド:idinit_pointsandbox_init_pointcollector_idexternal_reference

ウェブフック処理

ウェブフックは支払いステータスの変更を通知します。ペイロードには data.id(支払い ID)のみが含まれます。ウェブフックを受け取った後は、常に支払い詳細全体を取得してください。

HMAC-SHA256 署名検証

import crypto from 'crypto';

function verifyWebhookSignature(
  xSignature: string,   // x-signature ヘッダーから
  xRequestId: string,   // x-request-id ヘッダーから
  dataId: string,       // クエリパラメータ data.id から
  secret: string        // MP ダッシュボードのウェブフックシークレット
): boolean {
  const parts = xSignature.split(',');
  let ts = '', hash = '';
  for (const part of parts) {
    const [key, value] = part.split('=').map(s => s.trim());
    if (key === 'ts') ts = value;
    if (key === 'v1') hash = value;
  }
  const manifest = `id:${dataId};request-id:${xRequestId};ts:${ts};`;
  const hmac = crypto.createHmac('sha256', secret);
  hmac.update(manifest);
  const calculated = hmac.digest('hex');
  return crypto.timingSafeEqual(Buffer.from(calculated), Buffer.from(hash));
}

ウェブフックのベストプラクティス

  • HTTP 200 を即座に返し、非同期で処理する
  • べき等性を実装する — MP が重複した通知を送る場合がある
  • ペイロードの id は通知 ID です。支払い ID は data.id です
  • ウェブフック後は常に Payment.get({ id }) で支払い詳細全体を取得する
  • ウェブフック形式のみを取得するため notification_url?source_news=webhooks を追加する(レガシー IPN を除外)
  • ウェブフック URL は HTTPS で公開アクセス可能である必要があります

支払いステータスのライフサイクル

created -> pending/in_process -> approved(完了)
                              -> rejected(完了)
                              -> cancelled(完了)
         -> authorized -> captured -> approved(認可+キャプチャフロー)

主要なステータス:pendingapprovedin_processrejectedcancelledrefundedcharged_back

OAuth マーケットプレイスモデル(マルチテナント)

SaaS プラットフォームで複数のマーチャントを接続し、各自が MP アカウントを持つ場合:

1. 認可 URL を生成

https://auth.mercadopago.com/authorization
  ?client_id=APP_ID
  &response_type=code
  &platform_id=mp
  &state=RANDOM_CSRF_TOKEN
  &redirect_uri=https://yoursite.com/connect/mp/callback

2. コードをトークンと交換(コードは 10 分で失効します!)

const response = await fetch('https://api.mercadopago.com/oauth/token', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    client_id: process.env.MP_CLIENT_ID,
    client_secret: process.env.MP_CLIENT_SECRET,
    code: authorizationCode,
    grant_type: 'authorization_code',
    redirect_uri: process.env.MP_REDIRECT_URI,
    test_token: false // サンドボックスの場合は true
  })
});
// 返却:access_token(180 日)、refresh_token、user_id、public_key

3. 失効前に更新

const response = await fetch('https://api.mercadopago.com/oauth/token', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    client_id: process.env.MP_CLIENT_ID,
    client_secret: process.env.MP_CLIENT_SECRET,
    grant_type: 'refresh_token',
    refresh_token: storedRefreshToken
  })
});

マーケットプレイス手数料

  • Checkout Pro:プリファレンスの marketplace_fee — 売り手から差し引かれ、プラットフォームに送付
  • Checkout API:支払いの application_fee
  • 手数料は現地通貨で、売り手の売掛金から差し引かれます(買い手の合計には追加されません)

MCP サーバー

Mercado Pago を使用した AI 支援開発のための 3 つの MCP サーバーオプションがあります。完全なセットアップの詳細は references/mcp-servers.md を読んでください。

公式(リモート — 開発向け推奨)

{
  "mcpServers": {
    "mercadopago": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.mercadopago.com/mcp",
               "--header", "Authorization:Bearer <ACCESS_TOKEN>"],
    }
  }
}

ツール:search-documentation(自然言語で公式 MP ドキュメントを検索)。

コミュニティ(ローカル — 27+ 支払いツール)

{
  "mcpServers": {
    "mercado-pago": {
      "command": "npx",
      "args": ["mercado-pago-mcp"],
      "env": {
        "MERCADOPAGO_ACCESS_TOKEN": "YOUR_TOKEN",
        "MERCADOPAGO_ENVIRONMENT": "sandbox"
      }
    }
  }
}

ツール:create_paymentcreate_payment_linksearch_paymentsget_paymentrefund_paymentcreate_subscriptioncreate_customerbatch_create_paymentsmonitor_paymentanalyze_fraudexport_to_accountingsimulate_webhook など。

よくある落とし穴

  • external_reference:常に設定する — MP 支払いと注文を相関させるための唯一の信頼できる方法
  • プリファレンスの失効:チャットリンクに対して expires: true + date_of_expiration を設定し、古い支払いを防止する
  • サンドボックス:テスト認証情報で sandbox_init_pointinit_point ではなく)を使用;MP ダッシュボードからテスト買い手/売り手アカウントを作成
  • binary_mode: trueapproved/rejected のみ(pending なし) — 現金支払い方法を除外
  • 通貨:常に数値(例:75.76)、文字列ではない
  • レート制限:プリファレンスの場合は約 100 req/s;HTTP 429 → エクスポーネンシャルバックオフ
  • 国別認可 URL:AR:auth.mercadopago.com.ar、BR:auth.mercadopago.com.br など。API ベースは共通:api.mercadopago.com

国別支払い方法

通貨主要方法
アルゼンチン(MLA)ARSカード、Rapipago、Pago Facil、MP Wallet
ブラジル(MLB)BRLカード、Pix、Boleto、MP Wallet
メキシコ(MLM)MXNカード、OXXO、SPEI
コロンビア(MCO)COPカード、PSE、Efecty、Baloto
チリ(MLC)CLPカード、Servipag、Webpay
ペルー(MPE)PENカード、PagoEfectivo
ウルグアイ(MLU)UYUカード、Abitab、RedPagos

詳細リファレンス

データベーススキーマ、マルチテナントプリファレンス作成、支払いステータスの詳細、拒否理由コード、完全なウェブフックトピックリストを含む詳細なパターンについては、references/api-patterns.md を読んでください。

MCP サーバーのセットアップ、トラブルシューティング、ツールリストについては、references/mcp-servers.md を読んでください。

公式ドキュメントリンク

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
majiayu000
リポジトリ
majiayu000/claude-skill-registry
ライセンス
MIT
最終更新
2026/5/4

Source: https://github.com/majiayu000/claude-skill-registry / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: majiayu000 · majiayu000/claude-skill-registry · ライセンス: MIT