Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计异常

paypal-integrationPayPal 集成

Agent Skill

paypal-integration 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

465

周安装

19

GitHub Stars

19

下载量

149
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:paypal-integration(PayPal 集成)
来源仓库:https://github.com/finsilabs/awesome-ecommerce-skills
仓库路径:skills/paypal-integration
安装命令:
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill paypal-integration
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill paypal-integration

简介

paypal-integration 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

  • 适用于 PayPal 支付集成相关的资料搜索与内容筛选,可结合来源仓库和原始 README 进一步核验具体用法。
  • 通过 npx skills add 命令从 GitHub 仓库安装,支持主流 AI 宿主环境集成调用。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

PayPal Integration

Overview

PayPal Checkout lets shoppers pay using their PayPal balance, Venmo, Pay Later (installments), or a card processed by PayPal. It is particularly valuable in Germany, Netherlands, and Brazil where PayPal is the dominant payment method, and in any market where customers prefer not to enter card details. All major platforms have official PayPal integrations that require only credentials — no custom code needed for standard checkout.

When to Use This Skill

  • When adding PayPal as a payment option alongside a card processor
  • When implementing PayPal Express Checkout on the product page or cart (reduces steps to purchase)
  • When targeting markets where PayPal is the dominant payment method (Germany, Netherlands, Brazil)
  • When adding Venmo or Pay Later (installments) to appeal to younger shoppers

Core Instructions

Step 1: Create and configure your PayPal Business account

  1. Sign up for a PayPal Business account at paypal.com/business if you do not already have one
  2. Verify your business identity (required before you can receive payments)
  3. For development and testing: sign up at developer.paypal.com and create sandbox buyer/seller accounts
  4. Create an app at developer.paypal.com → My Apps → Create App to get your Client ID and Secret

Step 2: Install PayPal on your platform


Shopify

PayPal Express Checkout is built into Shopify and is enabled by default on most stores.

To verify or reconfigure:

  1. Go to Settings → Payments
  2. Under Payment providers, click PayPal or Activate PayPal
  3. If not already connected, click Activate and log in with your PayPal Business account to link it
  4. Choose between:

- PayPal Express Checkout: the classic checkout flow (recommended) - PayPal Complete Payments: a newer integration that also supports Venmo and Pay Later

Enable Venmo and Pay Later:

  1. In your PayPal Business dashboard, go to Account Settings → Payment Preferences
  2. Enable Venmo and Pay Later — these appear automatically in the Shopify checkout once activated on your PayPal account
  3. To show a Pay Later banner on product pages: install the PayPal Pay Later Messaging app from the Shopify App Store

WooCommerce

  1. Install the WooCommerce PayPal Payments plugin (the official plugin maintained by WooCommerce/PayPal — available free from WordPress.org)
  2. Go to WooCommerce → Settings → Payments → PayPal Payments → Set Up
  3. Click Connect to PayPal and log in with your PayPal Business account (OAuth setup — no need to copy/paste API keys)
  4. The plugin automatically enables: PayPal Standard, Venmo, Pay Later, card fields, and the PayPal Credit option
  5. Configure button placement under WooCommerce → Settings → Payments → PayPal Payments → Smart Payment Buttons:

- Enable buttons on: product pages, cart page, checkout page - Configure button color (gold, blue, silver, white, black)

  1. To show Pay Later messaging on product pages: go to Pay Later Messaging section in the plugin settings and enable it

PayPal Checkout (alternative, older integration): The older WooCommerce PayPal Checkout plugin still works but the newer WooCommerce PayPal Payments plugin is recommended for all new setups.

BigCommerce

  1. Go to Settings → Payment Methods → Online Payment Methods
  2. Find PayPal Powered by Braintree and click Set Up
  3. Click Connect with PayPal and authorize with your PayPal Business account
  4. Enable the payment methods you want: PayPal, Venmo, Pay Later
  5. Configure which pages show the PayPal buttons in the configuration panel

Alternatively, BigCommerce supports PayPal Commerce Platform — go to Settings → Payment Methods and choose PayPal Commerce Platform for access to the full suite of PayPal payment options.


Custom / Headless

For headless storefronts, use the PayPal JavaScript SDK with the Orders API v2:

Load the PayPal JavaScript SDK:

<!-- Always load from the CDN — never install as an npm package -->
<script src="https://www.paypal.com/sdk/js?client-id=YOUR_CLIENT_ID&currency=USD&intent=capture&components=buttons"></script>

Create a PayPal order server-side:

// POST /api/paypal/create-order
async function createPayPalOrder(req, res) {
  const { cartId } = req.body;
  const cart = await db.carts.findUnique({ where: { id: cartId } });
  const accessToken = await getPayPalAccessToken();

  const orderRes = await fetch('https://api-m.paypal.com/v2/checkout/orders', {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${accessToken}`,
      'Content-Type': 'application/json',
      'PayPal-Request-Id': cartId, // Idempotency key
    },
    body: JSON.stringify({
      intent: 'CAPTURE',
      purchase_units: [{
        reference_id: cartId,
        amount: {
          currency_code: 'USD',
          value: cart.total.toFixed(2),
        },
      }],
    }),
  });

  const order = await orderRes.json();
  res.json({ id: order.id });
}

Render PayPal buttons and capture payment:

useEffect(() => {
  if (!window.paypal) return;

  window.paypal.Buttons({
    style: { layout: 'vertical', color: 'gold', shape: 'rect' },

    createOrder: async () => {
      const res = await fetch('/api/paypal/create-order', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ cartId }),
      });
      const data = await res.json();
      return data.id; // PayPal Order ID
    },

    onApprove: async (data) => {
      // Always capture server-side — never trust client-side only
      const res = await fetch('/api/paypal/capture-order', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ orderId: data.orderID, cartId }),
      });
      const result = await res.json();
      if (result.success) router.push(`/orders/${result.shopOrderId}/confirmation`);
    },

    onCancel: () => {
      // User closed PayPal popup — leave cart intact, show no error
    },

    onError: (err) => {
      console.error('PayPal error:', err);
      setError('PayPal encountered an error. Please try again or use a card.');
    },
  }).render('#paypal-button-container');
}, [cartId]);

Capture the payment server-side:

// POST /api/paypal/capture-order
async function capturePayPalOrder(req, res) {
  const { orderId, cartId } = req.body;
  const accessToken = await getPayPalAccessToken();

  const captureRes = await fetch(`https://api-m.paypal.com/v2/checkout/orders/${orderId}/capture`, {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${accessToken}`,
      'Content-Type': 'application/json',
      'PayPal-Request-Id': `capture-${orderId}`, // Idempotency key
    },
  });

  const capture = await captureRes.json();
  if (capture.status !== 'COMPLETED') {
    return res.status(400).json({ error: 'Payment capture failed' });
  }

  // Create your internal order record
  const order = await createOrderFromCart(cartId, {
    paymentMethod: 'paypal',
    paypalOrderId: orderId,
    paypalCaptureId: capture.purchase_units[0].payments.captures[0].id,
  });

  res.json({ success: true, shopOrderId: order.id });
}

Handle PayPal webhooks:

Register webhooks in your PayPal developer dashboard for: PAYMENT.CAPTURE.COMPLETED, PAYMENT.CAPTURE.REFUNDED, PAYMENT.CAPTURE.REVERSED. Verify webhook signatures using PayPal's signature verification API before processing.

Step 3: Test with PayPal sandbox

  1. Go to developer.paypal.com → Sandbox → Accounts and use the pre-created sandbox buyer and seller accounts
  2. Set environment variables to use sandbox: PAYPAL_CLIENT_ID=<sandbox-client-id> PAYPAL_CLIENT_SECRET=<sandbox-client-secret> PAYPAL_API_BASE=https://api-m.sandbox.paypal.com
  3. Test a full purchase flow using the sandbox buyer account credentials
  4. Verify the webhook fires and your handler processes it correctly

Best Practices

  • Always capture server-side — do not trust the onApprove client callback alone; always capture using the Orders API from your server
  • Use PayPal-Request-Id header — this idempotency key prevents double charges if a request is retried
  • Enable Pay Later messaging on product pages — showing "4 interest-free payments of $X" before checkout increases AOV; the WooCommerce plugin has this built in
  • Handle onCancel gracefully — when users close the PayPal popup, do not show an error; just let them try again or choose another payment method
  • Verify webhook signatures — PayPal can call your webhook endpoint with forged payloads; always verify the paypal-transmission-sig header

Common Pitfalls

ProblemSolution
"This seller doesn't accept payments" errorEnsure your PayPal account has completed seller onboarding (email verification, bank account linked); also verify sandbox vs. production credentials match
PayPal popup blocked on some browsersThe createOrder callback must return a value immediately from a user click event; any async delay can trigger popup blockers — move server calls before the button renders or use PayPal's built-in API
Order confirmed by webhook before capture completesUse the PAYMENT.CAPTURE.COMPLETED webhook (not CHECKOUT.ORDER.APPROVED); the latter fires before funds are captured
Duplicate order on webhook retryCheck for an existing order with the PayPal capture ID before creating a new one
WooCommerce PayPal plugin not showing Venmo/Pay LaterVenmo and Pay Later must be enabled in your PayPal Business account settings (not just the plugin) — check Account Settings → Payment Preferences in PayPal
Shopify PayPal not processing after reconnectionDisconnect and reconnect your PayPal account in Shopify → Settings → Payments; old OAuth tokens sometimes expire

Related Skills

  • @stripe-integration
  • @checkout-flow-optimization
  • @order-processing-pipeline
  • @buy-now-pay-later

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.61%
按下载量换算53

Claude

30.97%
按下载量换算46

Cursor

16.81%
按下载量换算25

Gemini CLI

8.59%
按下载量换算13

安全审计

Gen Agent Trust Hub

通过

Socket

未通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills