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

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

回答

收藏

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

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

发票

实现 Telegram invoices 功能。

初始化

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

  1. import { initInvoice } from '@telegram-apps/sdk';' I$ J0 {4 z, J1 j: \

  2. 2 R( V/ p* d3 i- \, N
  3. const invoice = initInvoice();
复制代码
开发票

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

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

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

使用 slug :

  1. invoice
    + k' ?& q( o! }5 X0 j1 K0 n0 H0 y9 J
  2.   .open('abIIks213')
    2 r* d. S( d6 r" N; C' n
  3.   .then((status) => {
    ! H( B  s) g; Y! N( F* f" [+ J# |
  4.     // Output: 'paid'  E; G$ {' i$ E" s% y
  5.     return console.log(status);
    5 C+ l6 h/ G* y( f2 O
  6.   });
复制代码

使用URL

  1. invoice$ d# @/ n2 T, p
  2.   .open('https://t.me/invoice/abIIks213', 'url')  n9 E/ b6 g8 b
  3.   .then((status) => {# c" B% R6 L2 G8 M* Y; [/ Z
  4.     // Output: 'paid'5 J5 O! I& Q/ q( }+ P  \+ A
  5.     return console.log(status);
    * z5 O3 e( p. |1 h: o
  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


  a+ z1 W# h( h$ T) Q# Z  q0 }$ g
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则