Methods

Shop methods for managing orders and recurring payments.

Payment Methods

Available payment methods depend on the order configuration:

Standard orders (onlyStars: false):

Method
Availability

Bank cards

Always available

SBP

Available when seller has SBP enabled (can be enabled by request to Tribute support). Only for one-time orders (period: "onetime")

Wallet Pay (TON)

Always available

Telegram Stars

Only when starsAmount > 0, period is onetime or monthly, and tokenCharging is disabled

OnlyStars orders (onlyStars: true, tokenCharging disabled, only onetime and monthly periods):

Method
Availability

Telegram Stars

Always available

Bank cards

Card-to-Stars flow. Available when starsAmount >= 50

Note: Pix and PayPal are not available for shop orders.

List Shops

get

Returns the authenticated user's active shops, ordered by creation (oldest first). Inactive shops are never listed. Single-shop owners always see one element; multi-shop owners use this endpoint to discover shop IDs to pass to the other shop endpoints via ?shopId=.

Authorizations
Api-KeystringRequired

API key for authentication.

Responses
200

Successful response

application/json
idinteger · uint64Required

Shop ID

Example: 1
userIdintegerRequired

Shop owner user ID

Example: 123
namestringRequired

Shop name

Example: My Shop
linkstringRequired

Shop link/slug

Example: myshop
callbackUrlstring · uriRequired

Webhook callback URL for order notifications

Example: https://example.com/webhook
recurrentbooleanRequired

Whether recurring payments are available

Example: true
onlyStarsbooleanRequired

Whether only Telegram Stars payment is accepted

Example: false
tokenChargingbooleanRequired

Whether merchant-initiated token charging is enabled

Example: false
statusinteger · enumRequired

Shop status (0 = inactive, 1 = active)

Example: 1Possible values:
get
/shops

Get Shop

get

Returns shop information for the authenticated user. Only active shops are returned. Pass ?shopId= to target a specific shop; omitting it returns the user's oldest active shop. An explicit shopId for an inactive (but owned) shop returns error_shop_inactive.

Authorizations
Api-KeystringRequired

API key for authentication.

Query parameters
shopIdinteger · uint64Optional

ID of the active shop to return. Defaults to the oldest active shop owned by the authenticated user.

Example: 1
Responses
200

Successful response

application/json
idinteger · uint64Required

Shop ID

Example: 1
userIdintegerRequired

Shop owner user ID

Example: 123
namestringRequired

Shop name

Example: My Shop
linkstringRequired

Shop link/slug

Example: myshop
callbackUrlstring · uriRequired

Webhook callback URL for order notifications

Example: https://example.com/webhook
recurrentbooleanRequired

Whether recurring payments are available

Example: true
onlyStarsbooleanRequired

Whether only Telegram Stars payment is accepted

Example: false
tokenChargingbooleanOptional

Whether merchant-initiated token charging is enabled

Example: false
statusinteger · enumRequired

Shop status (0 = inactive, 1 = active)

Example: 1Possible values:
get
/shop

Get Shop Orders

get

Returns a list of shop orders sorted by ID descending (newest first). Optionally filter by date range. Pass ?shopId= to target a specific shop; omitting it returns orders for the oldest shop.

Authorizations
Api-KeystringRequired

API key for authentication.

Query parameters
shopIdinteger · uint64Optional

ID of the shop to read orders from. Defaults to the oldest shop owned by the authenticated user.

Example: 1
dateFromstring · dateOptional

Start date (inclusive) in UTC, format yyyy-mm-dd

Example: 2026-01-01
dateTostring · dateOptional

End date (inclusive) in UTC, format yyyy-mm-dd

Example: 2026-12-31
Responses
200

Successful response

application/json
uuidstring · uuidRequired

Order UUID

Example: 550e8400-e29b-41d4-a716-446655440000
shopIdinteger · uint64Required

Shop ID this order belongs to

Example: 1
amountinteger · int64Required

Order amount in smallest currency units (cents/kopecks)

Example: 100000
currencystring · enumRequired

Currency code (lowercase)

Example: rubPossible values:
titlestringRequired

Order title (max 100 UTF-16 characters)

Example: Product X
descriptionstringRequired

Order description (max 300 UTF-16 characters)

Example: Detailed product description
statusstring · enumRequired

Order status

Example: paidPossible values:
emailstring · emailOptional

Customer email (optional)

Example: [email protected]
successUrlstring · uriRequired

Redirect URL on successful payment

Example: https://shop.com/success
failUrlstring · uriRequired

Redirect URL on failed payment

Example: https://shop.com/fail
paymentUrlstring · uri · nullableRequired

Web URL for customer to complete payment in a browser. null for OnlyStars orders — they can only be paid inside Telegram via webappPaymentUrl.

Example: https://web.tribute.tg/shop/pay/550e8400-e29b-41d4-a716-446655440000
webappPaymentUrlstring · uriOptional

Telegram WebApp payment URL for in-app payment

Example: https://t.me/tribute/app?startapp=b2RK4mN
createdAtstring · date-timeRequired

Order creation timestamp in ISO 8601 format

Example: 2025-11-13T15:04:05Z
commentstringOptional

Optional comment for the order

Example: Special request
periodstring · enumRequired

Billing period for recurring orders

Example: onetimePossible values:
memberStatusstring · enumOptional

Recurring subscription status (only for recurring orders)

Example: activePossible values:
memberExpiresAtstring · date-timeOptional

Recurring subscription expiration date in ISO 8601 format (only for recurring orders)

Example: 2025-12-13T15:04:05Z
lastPaidTransactionAtstring · date-time · nullableOptional

Date of the last paid transaction in ISO 8601 format. Null if no transactions exist.

Example: 2025-12-13T15:04:05Z
starsAmountinteger · int64Optional

Fixed amount in Telegram Stars (0 if not set)

Example: 0
onlyStarsbooleanOptional

Whether this order only accepts Telegram Stars payment

Example: false
sendEmailbooleanOptional

Whether a receipt email is sent to the buyer after successful payment (inherited from the shop at creation)

Example: false
get
/shop/orders

Create Shop Order

post

Creates a new shop order and returns a payment URL for the customer. Supports one-time and recurring payments.

Authorizations
Api-KeystringRequired

API key for authentication.

Body
shopIdinteger · uint64Optional

Shop ID to create the order for. If omitted, the order is created for the first (oldest) shop of the authenticated user.

Example: 1
amountinteger · int64Optional

Order amount in smallest currency units (cents for EUR/USD, kopecks for RUB). Required for regular shops. Optional for OnlyStars shops — when both amount and currency are omitted on an OnlyStars order, the order is stored with amount=0 and the charge is settled in Telegram Stars (via starsAmount). If either amount or currency is provided on an OnlyStars order, the pair is validated normally.

Example: 100000
currencystring · enumOptional

Currency code (lowercase). Required for regular shops. Optional for OnlyStars shops — see amount.

Example: rubPossible values:
titlestringRequired

Order title (required, max 100 UTF-16 characters). Leading/trailing whitespace is trimmed; a whitespace-only value is rejected.

Example: Product X
descriptionstringRequired

Order description (required, max 300 UTF-16 characters). Leading/trailing whitespace is trimmed; a whitespace-only value is rejected.

Example: Detailed product description
successUrlstring · uriOptional

Redirect URL on successful payment (optional, must be valid URL)

Example: https://shop.com/success
failUrlstring · uriOptional

Redirect URL on failed payment (optional, must be valid URL)

Example: https://shop.com/fail
emailstring · emailOptional

Customer email (optional, validated if provided). Only used when the shop has sendEmail=true; otherwise the receipt email is not sent and the buyer is not prompted to provide one.

Example: [email protected]
commentstringOptional

Optional comment for the order

Example: Special request
customerIdstring · max: 256Optional

Unique customer identifier

Example: user_12345
periodstring · enumOptional

Billing period. Defaults to "onetime" if not specified. Recurring periods require shop.recurrent to be enabled. OnlyStars shops only support "onetime" and "monthly" periods (Telegram Stars subscriptions are 30-day cycles).

Default: onetimeExample: monthlyPossible values:
starsAmountinteger · int64 · min: 1Optional

Fixed amount in Telegram Stars. Required for OnlyStars shops. When set, enables Stars payment as an option. Only supported for onetime or monthly periods. For monthly orders, creates a Telegram Stars subscription.

Example: 50
imageUrlstring · uriOptional

Image URL for the order. Will be displayed in Telegram Stars invoices and transactions. If provided, the image is downloaded and stored; if an image with this URL already exists, it is reused.

Example: https://example.com/product-image.jpg
Responses
200

Order created successfully. Returns the full order object — the same shape as GET /shop/orders/{orderUuid}. paymentUrl is null for OnlyStars orders.

application/json
uuidstring · uuidRequired

Order UUID

Example: 550e8400-e29b-41d4-a716-446655440000
shopIdinteger · uint64Required

Shop ID this order belongs to

Example: 1
amountinteger · int64Required

Order amount in smallest currency units (cents/kopecks)

Example: 100000
currencystring · enumRequired

Currency code (lowercase)

Example: rubPossible values:
titlestringRequired

Order title (max 100 UTF-16 characters)

Example: Product X
descriptionstringRequired

Order description (max 300 UTF-16 characters)

Example: Detailed product description
statusstring · enumRequired

Order status

Example: paidPossible values:
emailstring · emailOptional

Customer email (optional)

Example: [email protected]
successUrlstring · uriRequired

Redirect URL on successful payment

Example: https://shop.com/success
failUrlstring · uriRequired

Redirect URL on failed payment

Example: https://shop.com/fail
paymentUrlstring · uri · nullableRequired

Web URL for customer to complete payment in a browser. null for OnlyStars orders — they can only be paid inside Telegram via webappPaymentUrl.

Example: https://web.tribute.tg/shop/pay/550e8400-e29b-41d4-a716-446655440000
webappPaymentUrlstring · uriOptional

Telegram WebApp payment URL for in-app payment

Example: https://t.me/tribute/app?startapp=b2RK4mN
createdAtstring · date-timeRequired

Order creation timestamp in ISO 8601 format

Example: 2025-11-13T15:04:05Z
commentstringOptional

Optional comment for the order

Example: Special request
periodstring · enumRequired

Billing period for recurring orders

Example: onetimePossible values:
memberStatusstring · enumOptional

Recurring subscription status (only for recurring orders)

Example: activePossible values:
memberExpiresAtstring · date-timeOptional

Recurring subscription expiration date in ISO 8601 format (only for recurring orders)

Example: 2025-12-13T15:04:05Z
lastPaidTransactionAtstring · date-time · nullableOptional

Date of the last paid transaction in ISO 8601 format. Null if no transactions exist.

Example: 2025-12-13T15:04:05Z
starsAmountinteger · int64Optional

Fixed amount in Telegram Stars (0 if not set)

Example: 0
onlyStarsbooleanOptional

Whether this order only accepts Telegram Stars payment

Example: false
sendEmailbooleanOptional

Whether a receipt email is sent to the buyer after successful payment (inherited from the shop at creation)

Example: false
post
/shop/orders

Get Shop Orders by Status

get

Returns shop orders grouped by status with pagination support and order counts.

Three usage modes:

  1. Initial load (no page, no status): Returns first page of orders for every status (all, pending, paid, failed) plus total counts. Use this on first screen load.

  2. Paginated "all" (page provided, no status or status=all): Returns a specific page of all orders under the all key.

  3. Paginated per status (page and status provided): Returns a specific page of orders for that status under the corresponding key.

Orders are sorted by ID descending (newest first).

Authorizations
Api-KeystringRequired

API key for authentication.

Query parameters
shopIdinteger · uint64Optional

ID of the shop to read orders from. Defaults to the oldest shop owned by the authenticated user.

Example: 1
statusstring · enumOptional

Filter by order status. When omitted and page is not provided, returns all statuses. When set to all or omitted with page, returns all orders.

Example: paidPossible values:
pageinteger · min: 1Optional

Page number (1-based). When omitted, triggers the initial grouped load.

Example: 1
sizeinteger · min: 1 · max: 100Optional

Number of orders per page (default 20, max 100)

Default: 20Example: 20
dateFromstring · dateOptional

Start date (inclusive) in UTC, format yyyy-mm-dd

Example: 2026-01-01
dateTostring · dateOptional

End date (inclusive) in UTC, format yyyy-mm-dd

Example: 2026-12-31
Responses
200

Successful response

application/json
nextFromstringRequired

Next page number as string. Empty string if no more pages.

Example: 2
get
/shop/orders_by_status

Get Shop Order

get

Returns full details of a specific shop order by its UUID. Includes member status and image. Only accessible by the shop owner.

Authorizations
Api-KeystringRequired

API key for authentication.

Path parameters
orderUuidstring · uuidRequired

Order UUID

Example: 550e8400-e29b-41d4-a716-446655440000
Responses
200

Successful response

application/json
uuidstring · uuidRequired

Order UUID

Example: 550e8400-e29b-41d4-a716-446655440000
shopIdinteger · uint64Required

Shop ID this order belongs to

Example: 1
amountinteger · int64Required

Order amount in smallest currency units (cents/kopecks)

Example: 100000
currencystring · enumRequired

Currency code (lowercase)

Example: rubPossible values:
titlestringRequired

Order title (max 100 UTF-16 characters)

Example: Product X
descriptionstringRequired

Order description (max 300 UTF-16 characters)

Example: Detailed product description
statusstring · enumRequired

Order status

Example: paidPossible values:
emailstring · emailOptional

Customer email (optional)

Example: [email protected]
successUrlstring · uriRequired

Redirect URL on successful payment

Example: https://shop.com/success
failUrlstring · uriRequired

Redirect URL on failed payment

Example: https://shop.com/fail
paymentUrlstring · uri · nullableRequired

Web URL for customer to complete payment in a browser. null for OnlyStars orders — they can only be paid inside Telegram via webappPaymentUrl.

Example: https://web.tribute.tg/shop/pay/550e8400-e29b-41d4-a716-446655440000
webappPaymentUrlstring · uriOptional

Telegram WebApp payment URL for in-app payment

Example: https://t.me/tribute/app?startapp=b2RK4mN
createdAtstring · date-timeRequired

Order creation timestamp in ISO 8601 format

Example: 2025-11-13T15:04:05Z
commentstringOptional

Optional comment for the order

Example: Special request
periodstring · enumRequired

Billing period for recurring orders

Example: onetimePossible values:
memberStatusstring · enumOptional

Recurring subscription status (only for recurring orders)

Example: activePossible values:
memberExpiresAtstring · date-timeOptional

Recurring subscription expiration date in ISO 8601 format (only for recurring orders)

Example: 2025-12-13T15:04:05Z
lastPaidTransactionAtstring · date-time · nullableOptional

Date of the last paid transaction in ISO 8601 format. Null if no transactions exist.

Example: 2025-12-13T15:04:05Z
starsAmountinteger · int64Optional

Fixed amount in Telegram Stars (0 if not set)

Example: 0
onlyStarsbooleanOptional

Whether this order only accepts Telegram Stars payment

Example: false
sendEmailbooleanOptional

Whether a receipt email is sent to the buyer after successful payment (inherited from the shop at creation)

Example: false
get
/shop/orders/{orderUuid}

Get Shop Order Status

get

Returns the current status of a specific shop order by its UUID. Only accessible by the shop owner.

Authorizations
Api-KeystringRequired

API key for authentication.

Path parameters
orderUuidstring · uuidRequired

Order UUID

Example: 550e8400-e29b-41d4-a716-446655440000
Responses
200

Successful response

application/json
statusstring · enumRequired

Order status

Example: paidPossible values:
get
/shop/orders/{orderUuid}/status

Cancel Recurring Shop Order

post

Cancels a recurring shop order subscription. Only accessible by the shop owner or authorized managers.

Authorizations
Api-KeystringRequired

API key for authentication.

Path parameters
orderUuidstring · uuidRequired

Order UUID

Example: 550e8400-e29b-41d4-a716-446655440000
Responses
200

Order cancelled successfully

application/json
successbooleanRequired

Whether the operation was successful

Example: true
messagestringRequired

Success message

Example: recurring order cancelled
post
/shop/orders/{orderUuid}/cancel

Get Shop Order Transactions

get

Returns a paginated list of transactions for a specific shop order. Only accessible by the shop owner or authorized managers.

Authorizations
Api-KeystringRequired

API key for authentication.

Path parameters
orderUuidstring · uuidRequired

Order UUID

Example: 550e8400-e29b-41d4-a716-446655440000
Query parameters
startFromintegerOptional

Pagination offset (number of records to skip)

Default: 0Example: 0
Responses
200

Successful response

application/json
nextFromstringRequired

Offset for the next page. Empty string if no more pages

Example: 20
get
/shop/orders/{orderUuid}/transactions

Refund Shop Order Transaction

post

Initiates a refund for a specific transaction of a shop order. Only accessible by the shop owner or authorized managers. Only sell transactions from paid orders can be refunded.

Authorizations
Api-KeystringRequired

API key for authentication.

Path parameters
orderUuidstring · uuidRequired

Order UUID

Example: 550e8400-e29b-41d4-a716-446655440000
txIdinteger · uint64Required

Transaction ID (must be a sell transaction)

Example: 12345
Responses
200

Refund initiated successfully

application/json
successbooleanRequired

Whether the operation was successful

Example: true
messagestringRequired

Success message

Example: refund initiated
statusstring · enumRequired

Refund status

Example: initiatedPossible values:
post
/shop/orders/{orderUuid}/transactions/{txId}/refund

Last updated