From 859eed7fabe10abac246b3245a7338f1202b3be7 Mon Sep 17 00:00:00 2001 From: Netkas Date: Mon, 13 Feb 2023 23:19:30 -0500 Subject: [PATCH] Added \TgBotLib\Objects > Invoice --- src/TgBotLib/Objects/Invoice.php | 124 +++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 src/TgBotLib/Objects/Invoice.php diff --git a/src/TgBotLib/Objects/Invoice.php b/src/TgBotLib/Objects/Invoice.php new file mode 100644 index 0000000..b3a09a8 --- /dev/null +++ b/src/TgBotLib/Objects/Invoice.php @@ -0,0 +1,124 @@ +title; + } + + /** + * Product description + * + * @return string + */ + public function getDescription(): string + { + return $this->description; + } + + /** + * Unique bot deep-linking parameter that can be used to generate this invoice + * + * @return string + */ + public function getStartParameter(): string + { + return $this->start_parameter; + } + + /** + * Three-letter ISO 4217 currency code + * + * @see https://core.telegram.org/bots/payments#supported-currencies + * @return string + */ + public function getCurrency(): string + { + return $this->currency; + } + + /** + * 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). + * + * @see https://core.telegram.org/bots/payments/currencies.json + * @return int + */ + public function getTotalAmount(): int + { + return $this->total_amount; + } + + /** + * Returns an array representation of the object. + * + * @return array + */ + public function toArray(): array + { + return [ + 'title' => $this->title, + 'description' => $this->description, + 'start_parameter' => $this->start_parameter, + 'currency' => $this->currency, + 'total_amount' => $this->total_amount, + ]; + } + + /** + * Constructs an object from an array representation. + * + * @param array $data + * @return ObjectTypeInterface + */ + public static function fromArray(array $data): ObjectTypeInterface + { + $object = new self(); + + $object->title = $data['title']; + $object->description = $data['description']; + $object->start_parameter = $data['start_parameter']; + $object->currency = $data['currency']; + $object->total_amount = $data['total_amount']; + + return $object; + } + } \ No newline at end of file