code: def to_array(self):
          
          array = super(SuccessfulPayment, self).to_array()
          array['currency'] = u(self.currency)  # py2: type unicode, py3: type str
          array['total_amount'] = int(self.total_amount)  # type int
          array['invoice_payload'] = u(self.invoice_payload)  # py2: type unicode, py3: type str
          array['telegram_payment_charge_id'] = u(self.telegram_payment_charge_id)  # py2: type unicode, py3: type str
          array['provider_payment_charge_id'] = u(self.provider_payment_charge_id)  # py2: type unicode, py3: type str
          if self.shipping_option_id is not None:
              array['shipping_option_id'] = u(self.shipping_option_id)  # py2: type unicode, py3: type str
          if self.order_info is not None:
              array['order_info'] = self.order_info.to_array()  # type OrderInfo
          return array
docs: Serializes this SuccessfulPayment to a dictionary.
  
          :return: dictionary representation of this object.
          :rtype: dict