def state_preorder_put_account_payment_info( nameop, account_addr, token_type, amount ):
    """
    Call this in a @state_create-decorated method.
    Identifies the account that must be debited.
    """
    assert amount is None or isinstance(amount, (int,long)), 'Amount is {} (type {})'.format(amount, type(amount))
    assert account_addr is None or isinstance(account_addr, (str,unicode))
    assert token_type is None or isinstance(token_type, (str,unicode))
    nameop['__account_payment_info__'] = {
            'address': str(account_addr) if account_addr is not None else None,
            'type': str(token_type) if token_type is not None else None,
            'amount': int(amount) if amount is not None else None
    }