如何创建带预填金额和备注的 CashApp 支付链接?
支付阿杰
结论
https://cash.app/$username/amount 这类 Cash App 付款链接可以预填收款人的 Cashtag 和金额,但公开支持的 URL 参数中没有备注(note)字段。
在链接后添加 note、memo 等查询参数通常无效,例如:
https://cash.app/$username/25?note=Order123
Cash App 付款页面会忽略这些不受支持的参数。付款人仍需在确认支付前手动填写备注。
正确的金额链接格式
Cashtag 和金额都应放在 URL 路径中:
https://cash.app/$username/25
例如:
https://cash.app/$exampleuser/19.99
打开链接后,页面会显示向 $exampleuser 支付 19.99 美元。生成动态链接时,应先校验 Cashtag 和金额,不要直接把用户输入拼接到 URL 中。
function createCashAppLink(cashtag, amount) {
const username = cashtag.replace(/^\$/, "");
if (!/^[A-Za-z0-9_]+$/.test(username)) {
throw new Error("Invalid Cashtag");
}
const value = Number(amount);
if (!Number.isFinite(value) || value <= 0) {
throw new Error("Invalid amount");
}
return `https://cash.app/$${username}/${value.toFixed(2)}`;
}
console.log(createCashAppLink("$exampleuser", 19.99));
// https://cash.app/$exampleuser/19.99
备注的可行处理方式
由于 Cash App URL 无法可靠地携带备注,可以将付款说明单独显示,并提示用户复制:
支付金额:$19.99
付款备注:Order-12345
支付链接:https://cash.app/$exampleuser/19.99
网页也可以同时提供付款按钮和复制备注按钮:
<a href="https://cash.app/$exampleuser/19.99">
使用 Cash App 支付 $19.99
</a>
<button type="button" onclick="navigator.clipboard.writeText('Order-12345')">
复制付款备注
</button>
如需自动核对订单,可以为每笔付款生成简短且唯一的备注,例如:
ORD-12345
再在支付按钮旁写清楚填写位置:
付款前请在 For/Note 字段中填写:ORD-12345
注意事项
- 不要依赖官方文档未确认的
?note=、?memo=或类似参数。即使某个客户端暂时能够识别,也可能在网页、iOS、Android 或后续版本中失效。 - Cashtag 中的
$是链接格式的一部分。在 Markdown 或某些模板语言中使用时,需要确认$是否会被解析为变量标记。 - 金额应写成十进制数字,路径中不要包含货币符号、逗号或说明文字。
- Cash App 的个人付款链接不是可编程的订单支付 API。如果业务必须携带订单号、接收回调并自动对账,应使用支持 metadata、webhook 或订单字段的支付产品,而不是依赖 Cash App P2P 链接。
- 如果 Cash App 今后正式公布备注参数,应以届时的官方文档为准。在没有公开参数说明的情况下,只能将金额视为可预填字段。
备注:内容仅供参考。
