name: halocard-virtualcards description: 创建用于在线购物的临时虚拟信用卡。在完成任务时进行任何在线结算时,都可以使用该信用卡作为支付方式——例如订购食物、购买订阅服务、购买域名或预订服务。这项技能属于更大任务中的一个支付步骤,并非独立的操作。 metadata: openclaw: emoji: "💳" requires: env: ["HALOCARD_TOKEN"] primaryEnv: "HALOCARD_TOKEN"
Halocard — 用于在线购买的一次性虚拟卡片
该功能可即时生成一次性使用的虚拟信用卡,以完成在线支付。该技能在用户请求的更大任务中的结账环节被使用。
设置
需要一个 Halocard 令牌。如果尚未配置:
- 要求用户注册:https://secure.halocard.co/enter
- 要求用户复制并粘贴 API 令牌:https://secure.halocard.co/dashboard
- 将令牌存储为
HALOCARD_TOKEN环境变量
该技能的触发条件
这是一个支付步骤,而非独立任务。它会在以下情况下被触发:
- 当您执行需要在线购买的任务时(例如点餐、购买产品、订阅服务等);
- 当您到达结账/支付页面并需要使用卡片完成支付时。
工作流程
1. 导航至结账页面
按照用户的任务要求完成购物/订购流程,直到进入支付页面。
2. 读取页面上的总金额
从结账页面中提取确切的总金额,切勿猜测或估算。
3. 在创建卡片前获得用户确认
在创建卡片之前,务必向用户展示以下信息,并等待用户的明确同意:
- 商家/网站名称
- 购买的商品(简要概述)
- 总金额
示例:
💳 准备付款。Uber Eats — 2 份鸡肉沙瓦玛,1 份鹰嘴豆泥。总金额:£24.50。继续吗?
在用户确认之前,切勿创建卡片。
4. 根据信息生成卡片描述
根据已知信息生成清晰的卡片描述:
- 商家/网站名称
- 购买的商品
- 例如:“Uber Eats 订单 — 2 份鸡肉沙瓦玛,1 份鹰嘴豆泥”
5. 创建卡片
发送 POST 请求到 https://agent.halocard.co/api/v1/payments:
{
"Authorization": "Bearer $HALOCARD_TOKEN",
"Content-Type": "application/json"
}
请求参数:
amount:以分为单位的整数(£24.50 对应 2450);必须与结账页面上的总金额完全匹配。description:购买的商品及商家名称
响应数据: (响应数据内容将在 CODE_BLOCK_1___ 中提供)
6. 填写支付表单
将卡片信息填写到结账表单中:
- 卡号 →
pan - CVC/CVV →
cvc - 有效期月份 →
expiryMonth - 有效期年份 →
expiryYear - 持卡人姓名 → 用户姓名(如未知请询问)
- 账单地址 → 用户地址(如未知请询问)
7. 提交并确认支付
提交支付请求,并验证订单确认页面是否显示。将支付结果告知用户。
支出限制
- 如果用户为该任务设置了最高金额限制(例如“午餐订单,最高 £15”),在请求确认前请核对总金额是否超出限制。如果超出预算,请通知用户。
- 硬性限制:未经用户明确授权,不得创建金额超过 £100 / $100 / €100(或当地等值货币)的卡片。
- 无论金额多少,在创建卡片之前都必须再次确认用户的意愿(参见步骤 3)。
规则
- 严禁 将卡片详细信息(卡号、CVC 码)记录或存储在任何文件中。
- 金额必须与 结账页面上的总金额完全匹配**。
- 在创建卡片之前,务必始终与用户确认金额和商家信息。任何情况下都不得例外。
- 仅在准备好填写支付表单时 才创建卡片——这些卡片为一次性使用。
- 如果令牌缺失或 API 返回 401 错误,请引导用户完成设置流程(参见上述链接)。
- 如果支付失败,请向用户报告错误;切勿在未经用户同意的情况下尝试使用新的卡片进行支付。
示例(使用 curl 命令)**
curl https://agent.halocard.co/api/v1/payments