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

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

回答

收藏

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

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

发票

实现 Telegram invoices 功能。

初始化

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

  1. import { initInvoice } from '@telegram-apps/sdk';
    5 T! o9 R: O. g6 g7 ?3 ?6 O
  2. 2 s' T! |* k/ f& }
  3. const invoice = initInvoice();
复制代码
开发票

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

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

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

使用 slug :

  1. invoice% C' A( \, s& j5 @3 K
  2.   .open('abIIks213')
    7 b* ]" S" ]0 C; a0 X8 Y
  3.   .then((status) => {! M: U4 _, E9 I' N" V: g+ o, M
  4.     // Output: 'paid'
    8 x) {, |$ ~/ O( v/ {& Z" Z
  5.     return console.log(status);
    % T9 o0 P" L) E7 |! [. k
  6.   });
复制代码

使用URL

  1. invoice7 x* w$ ~1 {" I0 P" U/ `; Z* H
  2.   .open('https://t.me/invoice/abIIks213', 'url')1 E( o8 Q; V$ U8 I) P& |8 s7 h
  3.   .then((status) => {6 ]6 \" P5 H, ?; E
  4.     // Output: 'paid'
    ) j1 f$ e9 [  T+ z: T$ P* a1 v
  5.     return console.log(status);4 q/ Q1 l5 s2 {
  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

( i+ o9 d4 x: x
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则