TransactionPartnerUser
Describes a transaction with a user
Describes a transaction with a user.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
type | String | Always | Type of the transaction partner, always "user" |
transaction_type | String | Always | Type of the transaction, currently one of "invoice_payment" for payments via invoices, "paid_media_payment" for payments for paid media, "gift_purchase" for gifts sent by the bot, "premium_purchase" for Telegram Premium subscriptions gifted by the bot, "business_account_transfer" for direct transfers from managed business accounts |
user | User | Always | Information about the user |
affiliate | AffiliateInfo | Optional | Information about the affiliate that received a commission via this transaction. Can be available only for "invoice_payment" and "paid_media_payment" transactions. |
invoice_payload | String | Optional | Bot-specified invoice payload. Can be available only for "invoice_payment" transactions. |
subscription_period | Integer | Optional | The duration of the paid subscription. Can be available only for "invoice_payment" transactions. |
paid_media | Array of PaidMedia | Optional | Information about the paid media bought by the user; for "paid_media_payment" transactions only |
paid_media_payload | String | Optional | Bot-specified paid media payload. Can be available only for "paid_media_payment" transactions. |
gift | Gift | Optional | The gift sent to the user by the bot; for "gift_purchase" transactions only |
premium_subscription_duration | Integer | Optional | Number of months the gifted Telegram Premium subscription will be active for; for "premium_purchase" transactions only |
Botlify Cloud Runtime
Credentials are auto-injected in
Credentials are auto-injected in
.env — always load them with getenv(): BOT_TOKEN, ADMIN_CHAT_ID, BOT_USERNAME. Main database: database.db (SQLite, WAL mode). Runtime errors: error.log. Quick test: send to $ADMIN_CHAT_ID. Full details: Runtime Reference.