English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE คนไทย Français русский

回答

收藏

Telegram 小程序 | TypeScript @telegram-apps/sdk @1.x | 组件 | 发票

开源社区 开源社区 7000 人阅读 | 0 人回复 | 2025-02-23

发票

实现 Telegram invoices 功能。

初始化

要初始化组件,请使用initInvoice函数:

  1. import { initInvoice } from '@telegram-apps/sdk';0 H/ b9 A8 O* z* v; e2 F

  2. ( |' t. }) d0 c4 k, q0 R
  3. const invoice = initInvoice();
复制代码
开发票

要开发票,需要使用 open 方法。 这种方法允许使用发票的 URL 或 slug 开发票 。

在 URL 模式下开发票需要传递等于 url 的第二个参数,因此 方法会将传递的值解释为 URL。

若要将传递的值解释为 slug,请省略第二个参数。

使用 slug :

  1. invoice
    & J: E9 Z% b! ]1 c4 o9 S' ^
  2.   .open('abIIks213')
    & X2 ]8 s3 M* q9 T" y
  3.   .then((status) => {& w& R0 x1 ~" t0 J# N; Z+ P
  4.     // Output: 'paid'( `5 z, i% s% T: r7 r+ ]
  5.     return console.log(status);# W3 ^5 N6 S, f" N) o  d  S
  6.   });
复制代码

使用URL

  1. invoice
    8 @  v8 f5 ^% K7 Z! K4 ]2 j
  2.   .open('https://t.me/invoice/abIIks213', 'url')) a3 y5 l0 U' d& k- F7 u. K
  3.   .then((status) => {6 h: v3 F$ M0 V0 ]" \
  4.     // Output: 'paid'
    + h( U' P. w' H& T
  5.     return console.log(status);% S  G# g9 T7 q" r8 w
  6.   });
复制代码

INFO

请注意,slug 是字符串的一部分,位于 $ 符号之后。 因此,在获得 Telegram Bot API 返回的 $abcdefghi 值后,必须使用 abcdefghi 值或完整的 URL(https://t.me/invoice/abcdefghi or https://t.me/$abcdefghi)调用 open 方法。

事件

可被 跟踪 的事件列表:

[td]
事件
监听器
触发条件
change() => void组件中的某些部分发生了变化
change:isOpened(value: boolean) => void更改了 isOpened 属性
方法支持

方法列表,可用于 支持检查:open

3 V$ Z7 C- z) w- Z" t
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则