def process(self): from the_tale.finances.bank.transaction import Transaction from the_tale.finances.bank.relations import ENTITY_TYPE, CURRENCY_TYPE if not self.state.is_CREATED: raise exceptions.WrongInvoiceStateInProcessingError(invoice_id=self.id, state=self.state) if self.test: self.state = INVOICE_STATE.SKIPPED_BECOUSE_TEST self.save() return transaction = Transaction.create(recipient_type=ENTITY_TYPE.GAME_ACCOUNT, recipient_id=self.bank_id, sender_type=ENTITY_TYPE.XSOLLA, sender_id=0, currency=CURRENCY_TYPE.PREMIUM, amount=self.bank_amount, description_for_sender='Покупка печенек (через Xsolla)', description_for_recipient='Покупка печенек (через Xsolla)', operation_uid='bank-xsolla', force=True) self._model.bank_invoice_id = transaction.invoice_id self.state = INVOICE_STATE.PROCESSED self.save()
def process(self): from the_tale.finances.bank.transaction import Transaction from the_tale.finances.bank.relations import ENTITY_TYPE, CURRENCY_TYPE if not self.state.is_CREATED: raise exceptions.WrongInvoiceStateInProcessingError( invoice_id=self.id, state=self.state) if self.test: self.state = INVOICE_STATE.SKIPPED_BECOUSE_TEST self.save() return transaction = Transaction.create( recipient_type=ENTITY_TYPE.GAME_ACCOUNT, recipient_id=self.bank_id, sender_type=ENTITY_TYPE.XSOLLA, sender_id=0, currency=CURRENCY_TYPE.PREMIUM, amount=self.bank_amount, description_for_sender='Покупка печенек (через Xsolla)', description_for_recipient='Покупка печенек (через Xsolla)', operation_uid='bank-xsolla', force=True) self._model.bank_invoice_id = transaction.invoice_id self.state = INVOICE_STATE.PROCESSED self.save()
def create_transaction(self): return Transaction.create(recipient_type=ENTITY_TYPE.GAME_ACCOUNT, recipient_id=2, sender_type=ENTITY_TYPE.GAME_LOGIC, sender_id=3, currency=CURRENCY_TYPE.PREMIUM, amount=113, description_for_sender='transaction description for sender', description_for_recipient='transaction description for recipient', operation_uid='transaction-operation-uid')
def transaction_logic(account, amount, description, uid, force=False): return Transaction.create(recipient_type=ENTITY_TYPE.GAME_ACCOUNT, recipient_id=account.id, sender_type=ENTITY_TYPE.GAME_LOGIC, sender_id=0, currency=CURRENCY_TYPE.PREMIUM, amount=amount, description_for_sender=description, description_for_recipient=description, operation_uid=uid, force=force)
def create_transaction(self): return Transaction.create( recipient_type=ENTITY_TYPE.GAME_ACCOUNT, recipient_id=2, sender_type=ENTITY_TYPE.GAME_LOGIC, sender_id=3, currency=CURRENCY_TYPE.PREMIUM, amount=113, description_for_sender='transaction description for sender', description_for_recipient='transaction description for recipient', operation_uid='transaction-operation-uid')
def transaction_gm(account, amount, description, game_master): return Transaction.create(recipient_type=ENTITY_TYPE.GAME_ACCOUNT, recipient_id=account.id, sender_type=ENTITY_TYPE.GAME_MASTER, sender_id=game_master.id, currency=CURRENCY_TYPE.PREMIUM, amount=amount, description_for_sender=description, description_for_recipient=description, operation_uid='game-master-gift', force=True)
def transaction_logic(account, amount, description, uid, force=False): return Transaction.create( recipient_type=ENTITY_TYPE.GAME_ACCOUNT, recipient_id=account.id, sender_type=ENTITY_TYPE.GAME_LOGIC, sender_id=0, currency=CURRENCY_TYPE.PREMIUM, amount=amount, description_for_sender=description, description_for_recipient=description, operation_uid=uid, force=force, )
def transaction_gm(account, amount, description, game_master): return Transaction.create( recipient_type=ENTITY_TYPE.GAME_ACCOUNT, recipient_id=account.id, sender_type=ENTITY_TYPE.GAME_MASTER, sender_id=game_master.id, currency=CURRENCY_TYPE.PREMIUM, amount=amount, description_for_sender=description, description_for_recipient=description, operation_uid="game-master-gift", force=True, )