# `ExGram.Model.SuccessfulPayment`
[🔗](https://github.com/rockneurotiko/ex_gram/blob/0.64.0/lib/ex_gram.ex#L6966)

This object contains basic information about a successful payment. Note that if the buyer initiates a chargeback with the relevant payment provider following this transaction, the funds may be debited from your balance. This is outside of Telegram's control.

Check the [documentation of this model on Telegram Bot API](https://core.telegram.org/bots/api#successfulpayment)

- `currency`: Three-letter ISO 4217 currency code, or "XTR” for payments in Telegram Stars
- `total_amount`: Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).
- `invoice_payload`: Bot-specified invoice payload
- `telegram_payment_charge_id`: Telegram payment identifier
- `provider_payment_charge_id`: Provider payment identifier
- `subscription_expiration_date (optional)`: Optional. Expiration date of the subscription, in Unix time; for recurring payments only
- `is_recurring (optional)`: Optional. True, if the payment is a recurring payment for a subscription
- `is_first_recurring (optional)`: Optional. True, if the payment is the first payment for a subscription
- `shipping_option_id (optional)`: Optional. Identifier of the shipping option chosen by the user
- `order_info (optional)`: Optional. Order information provided by the user

# `t`

```elixir
@type t() :: %ExGram.Model.SuccessfulPayment{
  currency: String.t(),
  invoice_payload: String.t(),
  is_first_recurring: boolean() | nil,
  is_recurring: boolean() | nil,
  order_info: ExGram.Model.OrderInfo.t() | nil,
  provider_payment_charge_id: String.t(),
  shipping_option_id: String.t() | nil,
  subscription_expiration_date: integer() | nil,
  telegram_payment_charge_id: String.t(),
  total_amount: integer()
}
```

# `decode_as`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
