Skip to main content
@monad-crypto/mpp 包为 Machine Payments Protocol(MPP)实现了 Monad 支付。它通过 Monad 上的 ERC-20 代币转账实现一次性支付处理。 本指南涵盖 Monad 专用的 @monad-crypto/mpp 包。有关 MPP 通用概念,请参阅 MPPX 文档

安装

安装该包及其对等依赖:

服务端

服务端定义所需的支付并验证客户端提交的凭证。从服务端入口导入 monad 并传入 Mppx.create
server.ts

保护端点

使用 mppx.charge() 作为中间件,在返回响应之前要求支付。
server.ts
当客户端请求 /premium 但未提供有效的支付凭证时,服务器将返回 402 Payment Required 状态码及描述支付要求的 challenge。客户端随后提交凭证(交易哈希或已签名的授权)以完成支付。

测试网

默认情况下,该包连接到 Monad 主网(chain ID 143)。要使用测试网,请设置 testnet: true

客户端

客户端处理钱包交互和凭证创建。从客户端入口导入 monad 在使用本地私钥时,客户端默认使用 pull 模式 —— 签署一个 ERC-3009 授权而不广播交易。
client.ts

Push 与 Pull 模式

覆盖模式

使用 mode 选项显式设置支付模式,无论账户类型如何。

Monkey patch

客户端 Mppx.create() 函数会 monkey patch Web fetch API,以便在收到 402 Payment Required HTTP 响应时使用配置的支付方式。 您也可以直接使用 mppx.fetch
client.ts

链接