# MoonPay Commerce：核对Charge、Pay Link与订单交易

整理：链小知（AI 辅助）
资料核对日期：2026-10-14
引用地址：https://lianxiaozhi.com/tools/guides/moonpay-commerce-charge-paylink-transaction-check
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

用一次性chargeId和链上signature定位已有收款，并保留少付、多付和退款边界。

## 使用工具
- [MoonPay Commerce](https://lianxiaozhi.com/tools/moonpay-commerce) · [官方入口](https://moonpay.hel.io/)

## 前置条件
- 准备已有且脱敏的订单、请求或回执记录；没有实际记录时仅按文档列出待核字段。
- 本教程依据公开资料，不登录、申请密钥、调用业务API、创建收款或执行退款。

## 1. 先分清一次性与可重复链接

Charge由paylinkId生成，支付成功后不能再用；普通Pay Link可以重复收款。同一paylinkId因此不等于同一订单。

从已有charge URL末尾取chargeId，记录原订单与paylinkId。官方GET /v1/charge/{chargeId}用于取回一次性收款，生产/开发环境不能混用。

核对结果：订单与chargeId一一对应；可重复Pay Link不作为唯一付款凭证。
依据：[MoonPay Commerce：Charge与Pay Link、二维码少付多付](https://docs.hel.io/docs/charges.md)
依据：[MoonPay Commerce：按chargeId查询paylinkTx](https://docs.hel.io/reference/charge/retrieve.md)

## 2. 检查paylinkTx而不是只看页面

Charge查询中paylinkTx为null表示尚未产生关联交易；有交易时核paylinkTx.id、paylinkTx.paylinkId、paylinkTx.meta.transactionSignature、paylinkTx.meta.transactionStatus和paylinkTx.meta.currency。

对照requestAmount、currencySymbol与交易币种/decimals，不能把所有字符串金额都当美元。usdcAmount按文档是USDC最小单位且可能缺省，expiresAt也可能因未设置而缺省。

核对结果：空交易、可选字段与金额单位明确；未读到交易时不填SUCCESS。
依据：[MoonPay Commerce：按chargeId查询paylinkTx](https://docs.hel.io/reference/charge/retrieve.md)

## 3. 用signature核对关联交易

已有链上signature时，可按GET /v1/transactions/signature/{signature}的交易记录再核id、paylinkId、meta.amount、recipientPK及transactionStatus。示例成功响应是数组，不能假定总是单个对象。

查询文档列apiKey参数及认证要求；缺权限或401不等于链上未支付。本教程不调用接口，缺少原响应时只记录待核关系。

核对结果：signature、支付链接、币种和收款方匹配，未知或认证失败单列。
依据：[MoonPay Commerce：按链上signature查询交易](https://docs.hel.io/reference/transactions/retrieve-by-signature.md)
依据：[MoonPay Commerce：按chargeId查询paylinkTx](https://docs.hel.io/reference/charge/retrieve.md)

## 4. 保留二维码差额与退款边界

Charge页二维码使用deposit式流程：少付会提示补足；多付会将全部存入额转给商户，不保证自动退差额。该描述仅限此二维码流程。

官方FAQ要求买方联系商户退款，平台无法撤销点对点交易。将已有退款记录与原交易单列；未取得退款凭证时不把“已申请”写成“已退回”。

核对结果：少付、多付、申请与完成退款分别有记录或待核。
依据：[MoonPay Commerce：Charge与Pay Link、二维码少付多付](https://docs.hel.io/docs/charges.md)
依据：[MoonPay Commerce FAQ：旧Helio入口、费用与商户退款](https://support.moonpay.com/en/articles/466267-moonpay-commerce-faqs)

## 常见错误
- 旧Helio域名由当前官方FAQ链接确认，但旧示例字段不保证所有收款方式相同。
- successRedirectUrl与浏览器成功页面不代替后台交易记录。

## 完成检查
- 形成订单、资源ID、金额、状态与未验证项的对照；保留失败原文。

## 相关知识

## 官方依据
- [MoonPay Commerce：Charge与Pay Link、二维码少付多付](https://docs.hel.io/docs/charges.md)
- [MoonPay Commerce：按chargeId查询paylinkTx](https://docs.hel.io/reference/charge/retrieve.md)
- [MoonPay Commerce：按链上signature查询交易](https://docs.hel.io/reference/transactions/retrieve-by-signature.md)
- [MoonPay Commerce FAQ：旧Helio入口、费用与商户退款](https://support.moonpay.com/en/articles/466267-moonpay-commerce-faqs)
