支付订阅

关闭订阅授权

订阅授权是程序用作用户代币账户的 SPL Token 委托的 PDA。当用户不再拥有针对该铸币的活跃固定委托、循环委托或订阅委托时,请关闭它。

关闭账户会将其租金返还给账户的 lamport 资助者,并撤销程序拥有的代币委托批准。资助者通常是用户,但也可以是资助订阅授权账户的任何支付方。如果仍有活跃委托依赖于该授权,请先关闭这些委托。

关闭授权

import { address, createClient } from '@solana/kit';
import { solanaLocalRpc } from '@solana/kit-plugin-rpc';
import { signer } from '@solana/kit-plugin-signer';
import {
findSubscriptionAuthorityPda,
subscriptionsProgram,
} from '@solana/subscriptions';
const client = createClient()
.use(signer(userSigner))
.use(solanaLocalRpc({ rpcUrl: 'http://127.0.0.1:8899' }))
.use(subscriptionsProgram());
const tokenMint = address('TOKEN_MINT_ADDRESS_HERE');
const [subscriptionAuthorityPda] = await findSubscriptionAuthorityPda({
user: userSigner.address,
tokenMint,
});
await client.subscriptions.instructions
.closeSubscriptionAuthority({
user: userSigner,
tokenMint,
// Include this only when a sponsor funded the Subscription Authority.
receiver: sponsorSigner.address,
})
.sendTransaction();

注意事项

  • 用户签署关闭交易。
  • 如果赞助商资助了订阅授权,请将该赞助商账户作为 receiver 传递,以便租金返还给记录的支付方。
  • 在关闭订阅授权之前,先关闭固定、循环和订阅委托 PDA。
  • 如果用户稍后创建新的委托,请为同一铸币初始化新的订阅授权。

Is this page helpful?

Table of Contents

Edit Page
©️ 2026 Solana 基金会版权所有