Paypal代理工具包与谷歌代理开发套件集成演示

一个展示Paypal代理工具包与谷歌代理开发套件集成的商业演示,用于快速对话式售前互动和交易处理。

  • by gkcng
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 gkcng/pp_mcp_adk

使用说明

以商务为中心的演示,通过MCP使用Paypal代理工具包开发代理工具包

这个4分钟的演示展示了使用PayPal的快速对话式售前互动 代理工具包 通过MCP和谷歌 代理开发工具包.

Paypal沙盒

当您注册时 developer.paypal.com,您可以设置多个应用程序,每个应用程序都有自己的应用程序:

  • 调用API的应用程序的客户端ID和密钥。
  • 一个带有电子邮件和密码的沙盒帐户,可以登录 沙盒.paypal.com.
  • 沙盒帐户具有可用于测试交易的测试信用卡、地址和银行详细信息。

使用Paypal API的注意事项

可用API

API的收集主要以商家为中心。总共有25个API,涵盖:

  • 争议
  • 发票
  • 订单
  • 订阅
  • 追踪
  • 交易

在这个演示中

此演示仅获得以下API,它们经过测试并发现功能正常。 只有订单和发货是演示的一部分:

  • '订单创建',
  • “命令,得到”,
  • “命令。捕获”,
  • '装运.创建',
  • '装运。获取',
  • '订阅.创建',
  • '订阅.显示',
  • '订阅。取消'

看 arch/paypal_mcp_adk_a2a.svg 对于演示末尾提到的远程代理。 这些外部代理可以在其他地方定义,它们的代码也可以存在,但通过A2A,您的代理可以为您的客户利用这些外部代理的智能,而不需要知道它们是如何制造的。

API相互依赖性

以下是API相互依存关系和操作事项的列表:

  • 创建订单会返回一个付款URL,供用户登录并手动付款。
  • 只有在消费者完成交易后,调用订单捕获才会成功。
  • 人类必须首先在沙盒环境中创建争议,然后商家才能呼叫接受争议索赔。
  • 只有存在以前创建的产品和订阅计划,才能创建订阅。
  • 显示最新消息的list_transactions中存在延迟。

设置

Python包

需要谷歌ADK 0.3.0+:

python3 -m venv ~/.ppmcp_adk
source ~/.ppmcp_adk/bin/activate
pip install "google-adk==0.3.0"
pip install "google-cloud-aiplatform==1.90.0"

或者,如果你更喜欢诗歌:

poetry install

对于MCP客户端

从Node.js设置nodejs和npx 网站

确保你有类似的东西,那个节点和npx在你的PATH中:

$ which node
/Users/USERNAME/.nvm/versions/node/v22.14.0/bin/node

$ which npx
/Users/USERNAME/.nvm/versions/node/v22.14.0/bin/npx

配置

将'env.example'复制到'.env'中,并设置'.env`文件:

  • 填写其中之一:您的 Google API密钥,或您的Google Cloud项目ID和位置
  • 查找并填写Paypal沙盒 PAYPAL_CLIENT_ID 和 PAYPAL_SECRET

插入您的Paypal沙盒中实际存在的订单信息:

  • 在函数中 load_user_profile() 在...之内 paypal_mcp_agent/util.py.
  • 修改 user_profile 和 orders 字典。 它们是在 before_agent_callback.

运行ADK开发者界面

  1. 跑 adk web,在工作目录中 pp_mcp_adk,在哪里 .env 文件是。
  2. 它将显示 INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
  3. 将浏览器指向http://localhost:8000/dev-ui?app=paypal_mcp_agent

示例交互

**[用户]**我订购的狗玩具在哪里?

【代理人】:[调用get_shipment_tracking API]

【代理人】:您的Dido Dog Toy订单(ID:2RH052419P314283P)已于2025-04-24通过UPS发货,跟踪号为1Z1234567890123456。

[用户]:把订单信息也给我看看怎么样?

【代理人】: [电话 get_order API]

【代理人】:以下是您的订单信息:

  • 订单编号:2RH052419P314283P
  • 状态:已完成
  • 商品:Dido狗狗玩具
  • 数量:3
  • 总金额:30.00美元
  • 配送地址:美国加利福尼亚州圣何塞市主街1号,邮编95131

[用户]:(手动点击聊天框左侧的回形针图标,将绿色连衣裙图片加载到聊天框中。图片位于 ./paypal_mcp_agent/images,然后是…)推荐同样风格的更正式的东西。

**【代理人】**好的,我明白了。你正在寻找更正式的衣服,但风格与你发送的图片中的裙子相似。 …图像中的连衣裙具有以下特点:

【代理人】: [电话 product_search 工具]

...

**【代理人】**我找到了三件你可能感兴趣的衣服:

...

**[用户]**我喜欢第二条裙子!

**【代理人】**太棒了..你想点吗?

**[用户]**是的,我们开始吧。

【代理人】: [电话 create_order API]

【代理人】:您订购的花美人鱼夏装已经下单!

Here are the details:

Order ID: 7EK45304FF8688429
Item Name: Floral Mermaid Summer Dress
Cost: 220 USD
Payment Link: https://www.sandbox.paypal.com/checkoutnow?token=7EK45304FF8688429